ROADMAP 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. -*- org -*-
  2. * Goals
  3. + minimal
  4. - make the C core as small as possible
  5. - implement as many things as possible in Scheme as a library
  6. + extensible
  7. - provide enough primitives to implement custom procedure and syntax
  8. + bootstrappable
  9. - bootstrappable from C using any C11 compiler
  10. + embeddable
  11. - can be copied verbatimly to your C source file and be used
  12. - no external depedencies
  13. * Non-Goals
  14. + performant
  15. - should be performant enough to run examples though
  16. + Scheme Report conformant
  17. + multithread support
  18. + undelimited continuation support
  19. + numerical tower support
  20. - because we want Scheme integer to be implement as C integer
  21. * Maybe-Goals
  22. + macro support
  23. - hygenic
  24. - syntax-rules
  25. - which low-level macro system(s) should be supported? (maybe none?)
  26. - any tutorial?
  27. - should expander be implemented in Scheme?
  28. + define-record-type support
  29. - would be useful to implement numerical tower
  30. + delimited continuation support
  31. - would have to rewrite the interpreter if we were to implement it later
  32. - any tutorial?
  33. + ffi support
  34. - what should the interface look like?
  35. - portability concerns
  36. * Plans
  37. ** TODO prototype interpreter in haskell
  38. *** DONE write a working interpreter
  39. *** TODO remove the use of parsec
  40. ** TODO add a scheme library
  41. *** TODO make it work
  42. *** TODO
  43. ** TODO translate haskell prototype to C
  44. *** TODO use trampoline to implement tail recursion