mdl.txt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. - todo
  2. - interpreter
  3. - overloaded functions
  4. - garbage collection
  5. - compiler
  6. - generate C code
  7. - optimize code
  8. - monads
  9. - pattern matching
  10. - (x, y) = foo; ==> q = foo; x = first q; y = second q;
  11. - function (x, y) -> foo; ==> function q -> let x = first q; y = second q; in foo;
  12. - functional type system
  13. - native functions
  14. - exception handling
  15. ---------
  16. - Grammer
  17. ---------
  18. terminal :
  19. symbol
  20. number
  21. string
  22. [ list ]
  23. ( expression )
  24. function args -> expression
  25. let definitions in expression
  26. if expression then expression else expression
  27. member :
  28. terminal
  29. member . terminal
  30. multiply :
  31. member
  32. multiply * member
  33. addition :
  34. multiply
  35. addition + multiply
  36. apply : addition apply
  37. pair :
  38. apply
  39. apply , pair
  40. list :
  41. pair
  42. pair :: list
  43. expression : list
  44. definition :
  45. symbol = expression
  46. symbol args = expression