← Back to context

Comment by kragen

5 years ago

This is very interesting, thank you! At first glance, it does perhaps gloss over a few things still: instruction encoding, jump-target backpatching (or its moral equivalent), the system call interface, the fetch-execute cycle, and a debugger; but not, for example, function entry and exit, or, as you point out, garbage collection or the reader. Also, on p. 16, there's an error seemingly due to the author not knowing about the Y-combinator:

    The LABEL special form,
    as implemented by EVAL,
    was a clever construct
    for defining anonymous recursive functions.
    Anonymous functions
    ("lambda functions")
    cannot usually recurse
    (apply themselves),
    just because they are anonymous,
    so there is no name that can be used
    to invoke them.