macros.flan says which of the two spellings it is

This commit is contained in:
Joseph Ferano 2026-09-20 18:23:22 +07:00
parent eeac54a8e3
commit b2d1df300b

View File

@ -5,9 +5,12 @@
;;;; parsed. What arrives here is the expansion; nothing at run time knows a ;;;; parsed. What arrives here is the expansion; nothing at run time knows a
;;;; macro was involved. ;;;; macro was involved.
;;;; ;;;;
;;;; A macro takes one parameter, the slice of forms written at its call site, ;;;; Every macro below is written [& args] and picks its arguments apart by
;;;; and answers one form. That is where variadics come from in a language with ;;;; hand, which is what a macro looked like before parameter lists: & binds
;;;; no &rest: (len args) is how many were written. ;;;; the whole call as a slice of forms, and (len args) is how many were
;;;; written. macro-params.flan is the other spelling of the same grammar —
;;;; named parameters, [ ] patterns, & only for the tail — and the two files
;;;; are kept apart on purpose, so that each is a whole program in one style.
;; The simplest one there is: two forms, in order. It proves the call site's ;; The simplest one there is: two forms, in order. It proves the call site's
;; arguments arrive as forms and come back as code. ;; arguments arrive as forms and come back as code.