No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Julius de Jeu 31c3827e96
Add support for operators to custom type
This is done by implementing the required functions for your custom type.

Sadly I could not solve this by using the regular traits like `Add`,
since I can't easily check if a different trait is implemented.
2022-07-04 22:23:59 +02:00
src Add support for operators to custom type 2022-07-04 22:23:59 +02:00
.gitignore Initial Commit 2022-07-02 23:42:15 +02:00
Cargo.lock Add custom types. Make an attempt at method calls. 2022-07-03 20:32:31 +02:00
Cargo.toml Add custom types. Make an attempt at method calls. 2022-07-03 20:32:31 +02:00
README.md Add return to functions 2022-07-04 15:36:03 +02:00
test.foo Add support for operators to custom type 2022-07-04 22:23:59 +02:00

Name TBD

i guess it's an embedded language?

Features

Math: +, -, *, /, %

Equality: ==, !=, >, <, >=, <=

Some basic types: String, char, int, float, bool

Custom rust types: if it implements CustomValue, it can be used

Functions: foo(x)

Methods: x.foo()

Any function is also a method, as long as it has at least one parameter. The same also works the other way around.

Some control flow: while and if/else if/else

Functions: can be defined in both the language and in Rust.

The functions support a return in the form of return x; and x as the last element.

As long as the final element is an expression of some kind, it will be seen as a return value in a function.

For some sample code, check test.foo (extension also TBD)