Skip to content

Latest commit

 

History

History
34 lines (28 loc) · 1.11 KB

File metadata and controls

34 lines (28 loc) · 1.11 KB

changes:

  • PNC calling syntax
  • Snake case
  • |a| lambda syntax
  • "${}" string interpolation syntax
  • string interpolation within pattern matching
  • ... for todo
  • new ident type for _ suffixed shadowable variables
  • new ident type for effecctful variables
  • changes in extensable types
    • add .. or ..<type> to the end of records and tags
  • remove * in type variables
  • pattern matching/destructuring
    • Change list destructuring to use .. and remove as Lists: [a, b, c] or [a, b, .., d] or [a, b, c, ..d] (not .. as d)
    • Change record destructuring to support .. {a, b, ..} or {a, b, ..rest}
  • support .. as a spread operator inside records and lists

Notes on performance:

disabling the "prefixed_expr" massively reduces the sizeof the parser. infact it almost halves it

later:

  • for loop syntax
    • What do i actually need for this?
  • custom record/nominal types syntax
  • static dispatch syntax
    • .method() invocation
    • new autoderive syntax
    • remove abilities (probably put this off for a bit)