Skip to content

Latest commit

 

History

History
20 lines (15 loc) · 621 Bytes

design.org

File metadata and controls

20 lines (15 loc) · 621 Bytes

Design notes

(car ‘()) = (cdr ‘()) = ‘() (symbol? ‘()) = ‘() (atom? x) = (not (cons? x))

specials: quote fn if builtins: cons car cdr symbol? atom? cons? eq? apply

design questions

recursive VM?

should I drop the whole continuation thing, and just have the VM recursively call itself? this would simplify ‘apply as well.

OTOH, it makes it feel less like a “real” virtual machine, where recursively calling the VM is generally considered bad. (why is it bad again? I guess if you need to do control stack manipulation…)

OTOH, it doesn’t shop up in the interface to the VM, which is what I care about most.