123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- -*- org -*-
- * Goals
- + minimal
- - make the C core as small as possible
- - implement as many things as possible in Scheme as a library
- + extensible
- - provide enough primitives to implement custom procedure and syntax
- + bootstrappable
- - bootstrappable from C using any C11 compiler
- + embeddable
- - can be copied verbatimly to your C source file and be used
- - no external depedencies
- * Non-Goals
- + performant
- - should be performant enough to run examples though
- + Scheme Report conformant
- + multithread support
- + undelimited continuation support
- + numerical tower support
- - because we want Scheme integer to be implement as C integer
- * Maybe-Goals
- + macro support
- - hygenic
- - syntax-rules
- - which low-level macro system(s) should be supported? (maybe none?)
- - any tutorial?
- - should expander be implemented in Scheme?
- + define-record-type support
- - would be useful to implement numerical tower
- + delimited continuation support
- - would have to rewrite the interpreter if we were to implement it later
- - any tutorial?
- + ffi support
- - what should the interface look like?
- - portability concerns
- * Plans
- ** TODO prototype interpreter in haskell
- *** DONE write a working interpreter
- *** TODO remove the use of parsec
- ** TODO add a scheme library
- *** TODO make it work
- *** TODO
- ** TODO translate haskell prototype to C
- *** TODO use trampoline to implement tail recursion
|