A WIP programming language designed to be compiled into many other languages. For more information, see the OSI issue.
Currently, the language contains very few working features. When adding new features, the project follows test-driven development practices.
This roadmap is used to track the progress on the project. If you add a feature and all tests pass, tick it off below.
Parsing stage 1 (Parse the code into types)
fn FunctionName() {}
fn foo(bar string) {}
fn foo() string {}
string
, foo
, bar123
, int
, i8
foo<bar>
or []string
struct{}
[]string
enum{}
struct foo {}
enum foo {}
type foo = []bar
let a
, const a
let a: string
let foo = "bar"
or let foo = bar()
foo()
foo(bar, "baz")
return
loop {}
while true {}
for foo in bar {}
Parsing stage 2 verifying the data and making it more accessible
Documentation
As the project uses test-driven development, it is important tests are run when making changes. Tests can be run by using the following commands in the command line.
# Run all tests
cargo test
# Run a specific test
cargo test -- --nocapture test_empty
# Run all tests with function in the name
cargo test function
Some design goals I think are important: