2022-06-25
Most features on the tour page are currently implemented to varying degrees. Below is a rough list of features being worked on.
Near Future
- Better effect optimization for non-tail-resumptive effects. Goal is to guarantee
Std.Stream.for_compiles to the same code as a nativeforloop, and to remove ante’s current nativeforloop. - Inserting
dropautomatically after a variable’s last use - Default handlers for
Panic,Print, and some other effects inmain - Renaming of the
Fs,Netprimitive effects - Compiler option to write inferred types into the file
- Formatter
- Rework or removal of
~>operator for effect handling
Futurer
The following features are unimplemented but are not my top priority to implement in the near future.
- Design & impl of a
comptimesystem enough to write your ownderives but also cached by the compiler’s incremental metadata Charis 1 byte rather than 4 currently. There is an open design question of whether Ante should use Rust’s model for chars (4 bytes), Swift’s model (variable bytes), or something else.- Pattern guards such as
| pattern if expr -> ... - Performance guarantees on
for_to be as fast as the nativeforloop - A check to ensure only pure implicit functions can be called implicitly
- Row-polymorphic struct types
- Cranelift backend
- Language Server: Fill in match arms action
- Proper unwinding when
resumeis dropped - Modules:
as name, re-exports,import implicit - Marker type on each
trait impl - Rework of closure types