Skip to content

Latest commit

 

History

History
38 lines (37 loc) · 1.89 KB

todo.md

File metadata and controls

38 lines (37 loc) · 1.89 KB

Todo

  • write a formatter, so that I dont have to manually update the test code everytime. With a formatter, I can just change the parser, parse all the test file using old parser, spit out new code using new syntax, and format them
  • [] write a markdown-code snippet checker, to ensure that examples in doc are up to date
  • change access to, private (default), export, public-export
  • allow name ambiguity (due to overloading) to propagate until a certain boundary before calling it an error [function_overloading_2 and 3]
  • mechanism for safe native function call
  • migrate to use interpreter
  • [] make operator to have lower precedence, dot to have higher precedence ?
  • better syntax for CPS, example ~async(getFoo ! + (getBar !))
  • java package (folder as module, files within a folder can access the symbol of each other without having to write import)
  • use #{} for record
  • use #() for array
  • use square braket instead of backtick for quoted identifier (improve readability)
  • [] namespace (without mutually recursive module)
  • [] default can be imported, add public/private identifier
  • [] review parse context
  • [] add code coverage to check for untested branch
  • [] detect module/type/name alias cycles
  • [] new tuple syntax for better DSL creation
  • [] new lambda syntax ({case x -> y} OR {it print})
  • [] use back curly bracket for record
  • [] type casting
  • constrained polymorphism
  • cps sugar
  • raw string literal with variable length quotes
  • [] tail call elimination
  • [] auto lazification?
  • restore square bracket array
  • [] record with implicit numeric-indexed field
  • [] module as records with higher-kinded type
  • [] unit test
  • [] first class documentation (not just comments), allow declaring links to other symbols
  • [] use parentheses for type application
  • [] record @ pattern
  • [] import from http URL
  • [] doc string (string literal after name)