this post was submitted on 13 Nov 2023
1 points (100.0% liked)

Lisp

52 readers
3 users here now

founded 1 year ago
MODERATORS
 

What is so special about the SICP eval-apply loop? What is so enlightening about it?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] raevnos@alien.top 1 points 10 months ago (2 children)

Using a metacircular interpreter for lispy languages - one that implements the same language it's written in, allows you to skip the often tedious parsing step by using the host's read to give you a syntax tree, letting you skip to the interesting bits of manipulating and transforming that tree and executing it (eval-apply in sicp terminology). Those bits are foundational stuff for writing an interpreter or compiler for any language, which lots of people find to be interesting projects.

[โ€“] lispm@alien.top 1 points 10 months ago

allows you to skip the often tedious parsing step by using the host's read

READ mostly gives a tree of tokens. This makes it a form of a tokenizer. After we call READ we don't know what the tokens mean: is FOO a variable, a macro, a function, a built-in special form, a type, ... This can only be determined by interpreting/compiling the token tree.

load more comments (1 replies)