a compromise between the Rust
and Go
programming languages. It is a compiled and interpreted, typed language that balances ease of use and performance.
I started this project because as I used newer languages like Rust
/Go
I noticed a trend of awesome new features. Rust
has a very powerful type system while Go
keeps things simple by, for example, only have one type of loop statement (for
). Both excel in very different ways but both have their caviats.
In Rust
you have to fight with the borrow checker, for low level performance intensive tasks this is the right tool for the job in many cases, but not necessarily for gerneral purpose API development.
In Go
you have a substantially weaker type system and less features than Rust
, but in contrast it has a simpler pattern for concurrency and API development.
My ideal outcome for this language is to offer the same simplicity/ease-of-use as Go
while adding some of the useful features that Rust
users enjoy.
Title | Keywords | Status | Example |
---|---|---|---|
Variables | let const |
[ ] | example |
Primitives | string number bool |
[ ] | example |
Nilable | ? |
[ ] | example |
Strings | [ ] | example | |
If | if else if else |
[ ] | example |
Match | match |
[ ] | example |
Loops | for |
[ ] | example |
Functions | fn |
[ ] | example |
Structs | struct |
[ ] | example |
Garbage Collection | [ ] | ||
Threads | go |
[ ] | example |
Async Functions | async await |
[ ] | example |
Modules | mod |
[ ] | example |
Imports | use |
[ ] | example |
Syntax Error Handling | [ ] | ||
Runtime Error Handling | [ ] | ||
Visibility | pub |
[ ] | example |
Inheritance | extends |
[ ] | example |
Generics | <T> |
[ ] | example |
Exceptions | throw try catch |
[ ] | example |
Slices | [] |
[ ] | example |
Maps | map[K]V |
[ ] | example |
Title | Keywords | Status | Example |
---|---|---|---|
Struct Tags | [ ] | example | |
Reflection | [ ] | example | |
Testing | [ ] | example | |
Decorators | @ |
[ ] | example |