The Mysteries of Lisp (2015)
arxiv.org
arxiv.org
- how to get started? https://lispcookbook.github.io/cl-cookbook/getting-started.h...
- is this mystery used in production©? quick look: https://lisp-journey.gitlab.io/who/
- is this mystery used by people for today's needs? https://github.com/CodyReichert/awesome-cl
Note how ArXiV can be used for blogging: This paper is not peer reviewed but "only" uploaded to ArXiV. The site has some credibility barrieres which require invitation, but otherwise anybody can upload. I find this nice, but you should keep in mind this is just some academic variant of blogger.com ;-)
Ever since I started using miniflux, I have a stream of open papers that comes right to me. It's like being on the bleeding edge of human knowledge.
It’s an rss reader.
If you're going to be OCD about dates, please have them correct.
> ‘F-expression’ [McCarthy 1959, p. 13] was the original name of M-expressions (for Meta- expressions) [McCarthy 1960, p. 187]. We choose the old name for two reasons: (1) meta is relative, the name M-expression becomes misleading once F-expressions are taken to the level of object language; (2) the term F-expression clearly indicates that functional [expressions] describe functions of S-expressions, which McCarthy called S-functions [1959, p. 1]. Nevertheless, in directly quoted text, we will keep the terms used in the source. [edited to remove hyphenated words]
[1]: https://web.wpi.edu/Pubs/ETD/Available/etd-090110-124904/
This was an internal, implementation terminology. Early Lisp has EXPR and SUBR routines: SUBR were written in machine language, and EXPR were interpreted functions. So EXPR doesn't mean "expression", but "function made of expressions that require code walking evaluation, rather than a straight machine-code subroutine ("SUBR") that can be called.
The F prefix denoted functions that implemented special forms. That may be where the F comes from: FEXPR and FSUBR. These F variants receive the unevaluated forms. So COND might be implemented as a FSUBR, which interprets it: walks the cond pairs, evaluates the test expressions, and so on. Whereas CAR and CDR would be SUBRS (no "F").
> If improper lists and circular lists are rarely used and can always be simulated in the rare case, it is better to kick them out to favor the common case.
"We" had better get a smidgeon of Lisp development experience, methinks. Plus, taking a look at Lisp from 1960 to 2022 wouldn't hurt, rather than obsessing about what MacCarthy meant when he said this and was he aware of that at that moment in 1959, and how should we do things today as a consequence. Good grief. Let's not have closures, because in 1959, MacCarthy saved and restored globals to simulate locals.