Skip to content

Latest commit

 

History

History
41 lines (31 loc) · 1.31 KB

features.org

File metadata and controls

41 lines (31 loc) · 1.31 KB

actual rec bindings using subsituition

give the programmer the ability to use `absurd` and `return`

new anonymous function syntax

`fn (x) { … }`

is case a computation?

resume keyword instead of binding a comtinuation function?

an abstraction to implement tina functions from ocaml

equality operators

list and arrays

fix ambuguity in parsing variable/record pattern as the expression to match on, a in case expression.

i.e currently, `case v { … }` wold try to parse as `case (v { … })` instead of `case (v) { … }`

new syntax to differentiate let bindings from computation let sequencing

`let x <- return x` `let y <- do Comp (); let s <- do X (); return x`

one current flaw of Tina is we don’t handle bindings correctly

Recursive functions now

things to fix in the parser

  • fn { } syntax
  • changing type to use Type.t
  • record to use { name: value … } with out requirng the name
  • absurd, return keyword

we also need a pass for transforming primitive operator-like functions into their runtime

functions (e.g comparision functions, numerical operations functiona)

we need a desugaring pass to remove wierd things like `Sequence` and `Annotation`

  • rec functions
  • new syntax
  • type system
  • fix interpreter