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
;;;; macro was involved.
;;;;
;;;; A macro takes one parameter, the slice of forms written at its call site,
;;;; and answers one form. That is where variadics come from in a language with
;;;; no &rest: (len args) is how many were written.
;;;; Every macro below is written [& args] and picks its arguments apart by
;;;; hand, which is what a macro looked like before parameter lists: & binds
;;;; 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
;; arguments arrive as forms and come back as code.