Title | Status | Notes |
---|---|---|
parsing | In progress | |
type inference | In progress | |
optimizing | Just started | |
emitting | Just started | Very naive JS implementation |
library | Just started | First version released, not entirely usable without all parsers |
cli | Just started | Very rudimentary, almost no customization |
Title | Status | Notes |
---|---|---|
module declarations | Nearly done | Effect modules missing |
port declarations | Complete | |
integers | Complete | |
floats | Complete | |
chars | Complete | |
strings | Complete | |
booleans | Complete | |
variables | Complete | |
list literals | Complete | |
binary operators | In progress | Multi-line support missing |
lambdas | Complete | |
function calls | Complete | |
if...then...else | Complete | |
let...in | Complete | |
case...of | Nearly done | Custom type destructuring missing |
records | Complete | |
record accessors | Not started | |
record updates | Not started | |
unit | Complete | |
tuples and 3-tuples | Complete | |
type annotations | Complete | |
custom types | Complete | |
type aliases | Complete | |
pattern matching | Nearly done | Some cases still missing |
infix operator definitions | Not started | |
WebGL shaders | Not started | |
comments | Not started |
Title | Status | Notes |
---|---|---|
basic Hindley-Milner | Complete | |
let polymorphism | Not started | |
type aliases | Nearly done | Parameters parsed but we're doing nothing with them |
custom types | Not started | |
extensible records | Not started | |
case...of | Nearly done | A few remaining TODOs for generating equations |
Title | Status | Notes |
---|---|---|
constant-folding integers | Just started | Only (+) done |
constant-folding floats | Just started | Only (+) done |
constant-folding strings | Not started | |
constant-folding booleans | Not started | |
constant-folding lists | Just started | Only (::) done |
constant-folding tuples and 3-tuples | Not started | |
merging lambdas | Not started | |
merging function calls | Not started | |
merging record updates | Not started | |
pipe operators inlining | Not started | |
variable inlining | Not started | |
if <literal bool> folding | Complete | |
case <literal> of -> if | Not started |
Title | Status | Notes |
---|---|---|
proof-of-concept JS backend | In progress | only stuff we can parse is emitted |
dead code elimination | Complete |