-
Notifications
You must be signed in to change notification settings - Fork 0
Feature
Note: On this page you can find information about the core features of the compiler. You can also find a prioritized list of additional features for the lazo compiler. Some of them have already been implemented.
The features contained in the following list specify the core compiler. Those features will be considered as the base of the language and are required to be able to write (very primitive) smart contracts.
Core Features
- contract
- arithmetic operations (+/-/*///%)
- comparison operattions (<, >, <=, >=, ==, !=)
- negation (!)
- variable declaration without structs, map, array (int, bool, string, address, a.s.o.)
- function declaration
- return statements (multiple)
- structural statements (if, else a.s.o)
- call statement
- variable access
- assignment
The features will be implemented first. Other features will be implemented in later phases.
Thomas Bocek - "For me, Core is really just creating a contract with a function that adds two integers and returns it."
This is an ordered list of additional features. The order expresses the priorization.
Note: Features flagged with ✅ are considered as done
- Function Call ✅
- VM support Multiple Return values ✅
- Designator ✅
- this keyword ✅
- Constructor ✅
- Array ✅ (Nested arrays are partially implemented)
- Map ✅
- Struct ✅
- Expressions (Rest) ✅
- address
- Else If Support
- Builtins -> msg, value, block a.s.o.
- For
- Foreach
- Annotations
- Builtin Errors
- Interfaces
- Custom Errors
- ...