A rys-like stack based, reverse polish notation low-level programming language that transpiles down to assembly https://ari.lt/gh/fa
Find a file
Ari Archer c879aa6220
Improve ANSI escape syntax
Signed-off-by: Ari Archer <ari.web.xyz@gmail.com>
2022-07-28 21:23:22 +03:00
completions/bash Add a flag to disable type checking 2022-07-25 08:10:37 +03:00
doc Improve ANSI escape syntax 2022-07-28 21:23:22 +03:00
editor Improve ANSI escape syntax 2022-07-28 21:23:22 +03:00
examples Improve ANSI escape syntax 2022-07-28 21:23:22 +03:00
low-level-examples Unsized strings, pop keyword and dead code elimination 2022-07-22 10:43:57 +03:00
scripts Turn keyword 2022-07-20 07:48:27 +03:00
src Improve ANSI escape syntax 2022-07-28 21:23:22 +03:00
std Deprecate mutability contexts 2022-07-27 13:41:50 +03:00
tests Start work on type checking, add generic type and add more tests for to 2022-07-28 13:08:36 +03:00
.editorconfig TODO changes, STDLIB improvements and new features 2022-06-27 05:44:26 +03:00
.gitignore Add tests 2022-06-30 21:44:50 +03:00
.shellcheckrc Logging, testing improvements and name fixes 2022-07-02 01:21:44 +03:00
Dockerfile Add a basic Dockerfile for automated compilation 2022-07-25 12:31:09 -04:00
LICENSE init 2022-06-24 00:29:07 +03:00
README.md Fix the username in readme 2022-07-26 15:48:16 +03:00
requirements.txt Add requirements 2022-06-25 22:31:45 +03:00
runtime.txt init 2022-06-24 00:29:07 +03:00
TODO.md Functions! 2022-07-12 23:51:47 +03:00
tox.ini Switch to fasm, fix type checking... (read more) 2022-06-26 04:32:35 +03:00

Fa programming language

A rys-like stack based, reverse polish notation low-level programming language that transpiles down to assembly

Note

Do not contribute to the python script, it will be deleted eventually, for any ideas make an issue and also in no way is this currently a production-friendly language

Goal

Fa programming language is supposed to be similar to rys but fixing a lot of issues it has, the initial name for fa was rys++ but I ended up on fa, this language is going to be self-hosted some time

Try it online

Please don't be an ass on them, don't do stuff that might break these compilers :)

Operating systems fa works on

  • GNU/Linux
  • FreeBSD

System requirements

  • Fasm compiler
  • Python3 (for now)
  • Bash-completion (optional, for completions)

Development requirements

  • Curl

Testing requirements

  • coreutils
    • Tested: FreeBSD, GNU
  • BC

Installation for developing

$ ./scripts/devsetup.sh

Testing the compiler

  • Install the compiler
  • Run
$ ./scripts/test.sh

Docker

Dockerfile was made by @Elijahr2411 (https://github.com/Elijahr2411) for basic docker compilation, usage:

docker run --platform amd64 -v {$filename}:/fa/a.fa fa-docker

Where {$filename} is your fa file.