Simple language currently interpreted in C# and mostly incomplete. Development continues though.
Find a file
Grandiras 5512e0548e
Some checks failed
.NET / build (push) Failing after 1m4s
Add a blank line for improved readability in README.md
2026-01-17 22:38:25 +01:00
.github Update dotnet.yml 2022-09-14 22:28:01 +02:00
FAIL Update OneOf package and add test line in _git2_a23508 2024-09-11 08:42:14 +02:00
FAIL Test Refactor paths, update syntax, and clean up .editorconfig 2024-09-10 16:36:09 +02:00
.gitattributes Add .gitattributes, .gitignore, and README.md. 2022-06-12 00:15:13 +02:00
.gitignore Add .gitattributes, .gitignore, and README.md. 2022-06-12 00:15:13 +02:00
_git2_a23508 Update OneOf package and add test line in _git2_a23508 2024-09-11 08:42:14 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2022-11-20 17:00:27 +01:00
FAIL.sln Refactor paths, update syntax, and clean up .editorconfig 2024-09-10 16:36:09 +02:00
LICENSE.md Create LICENSE.md 2022-08-16 21:50:54 +02:00
README.md Add a blank line for improved readability in README.md 2026-01-17 22:38:25 +01:00

FAIL

short for Fast Amazing Intelligent Language

Interpreted language written in C#. Currently not finished, development continues though. A compiler may follow in the future.

Goal

It's main aim is an OOP-language with a static type system and runtime safety as all errors should be catched at compile-time. For a later compiler, a memory system comparable to Rust will be implemented to avoid using manual allocations or a Garbage Collector. It could end up as a Rust with OOP, like C++ compared to C, but with C#-like syntaxes, a lot of syntactic sugar and high-level features complemented by a bunch of own ideas.

Another goal is to provide a language framework, on top of which many different languages with unique syntaxes and features can be build, as long as they all output the same AST (the same code architecture). With that in mind, even analyzers, type checkers and much more can be used for different lanugages. The compiler and compiled code would be the same to achieve a maximum of interopability.

Contribution

Feel free to use and report issues! Contribution is also welcomed, but not everything will be merged, as this project is scoped to learn something about language design and compilers (for now). Besides that, every contribution will be accepted (as long as it matches the quality standards), just whole new feature-implementations won't be...

Monetization

Although this project is managed be an organization which is aimed to produce commercial products, this project is completely non-profit, open-source and free to use. Therefore, it is marked with the MIT-license. FAIL and all of it's related components might be shifted towards their own organization in the future.

Documentation

Documentation can be found in this repo's wiki, but a dedicated website hosted for free (to ensure staying non-profit) might follow in the future. The documentation is mostly incomplete for now and will be advanced continuously. Though, it is not meant to be complete for now, as FAIL is still under heavy development.

IDE Support

IDE support for Visual Studio is in development. At least the Textmate Grammars can be reused for other IDEs e.g. Visual Studio Code, but analyzers and auto-completion can't be. It has to be mentioned, that IDE support is at this point kind of a 'proof of concept' and not really advanced. To implement IDE support, every contribution is welcomed!