Awesome
<!-- colors "orange": #fcaa68 (sandy brown) "red": #ec243c (imperial red) "grey": #595959 (davys grey) "white": #e0f2e9 (honeydew) "purple": #a390e4 (lavender floral) --> <div align="center"> <img width="150" src="./assets/logo/fux-material-icon-435.svg" />Flawless Unambiguous Programming
</div>Simple Hello World Program
main(argc: u64, argv: **c8): u64 {
puts "Hello World!\n";
return 0;
}
<div align="center">
<a href="./docs/state.md">Language State</a> ·
<a href="./docs/CONTRIBUTING.md">Contributing</a> ·
<a href="./docs/README.md">Documentation</a> ·
<a href="./docs/examples.md">Examples</a>
</div>
<br>
Warning
Please note that Fux is still in early development.
As of now only MacOS and Linux will be supported.
The compiler is currently undergoing a major rework.
See therework
branch for progress.
A Modern, Flexible Programming Language for All
Fux is a modern and flexible programming language, perfect for use in a variety of domains by both novice and expert developers. With its efficient use of LLVM, it provides performance similar to C++, while being portable and running on a wide range of platforms.1
-
Easy to Write and Read
Fux is designed to be easy to write and read, making it accessible for new programmers and offering improved features for experienced developers. Its syntax emphasizes readability and seamless integration of different language elements. For instance, the pipe operators (<<
and>>
) provide a simple and intuitive way to connect multiple expressions.ptr: *i64; // ---------- Start of lifetime reserve i64, 10, ptr; ret := process(ptr, ptr + 9); // ------------ ^~~ ---- Last usage of `ptr` free ptr; // +~~~~~~~~ // Inserted by Fux at end of lifetime determined by usage return ret;
-
Eliminating Common C++ Issues
Fux's secure memory management eliminates common issues like memory leaks. Its error system provides precise and informative error messages, making debugging easier. These improvements reduce the likelihood of bugs, enabling developers to produce high-quality code.
Note
- As an ongoing development project, Fux may introduce new features or updates that could impact its performance, stability, or compatibility.
- Fux may have fewer resources available, such as documentation, forums, or tutorials, compared to more established programming languages.
Getting Started
The compiler for this language is not finished yet.
You can compile the source code by running make
and then run the executeable with ./fux <filepath>
. It will output the parsed tokens and AST.
Footnotes
-
The usage of certain features may result in decreased program performance and slower compile times. ↩