swh:1:snp:3af89e0c6f482ba7e9545bf8e295ed747de3e1ee
Raw File
Tip revision: 60b5e2779508ed4effa3994d71251b9b5f67076b authored by Barak A. Pearlmutter on 13 January 2022, 14:08:22 UTC
log changes
Tip revision: 60b5e27
macroexpand
;;; -*- logo -*-

to macroexpand :expr
local [name inputlist macro.result]
make "name first :expr
make "inputlist bf :expr
if not macrop :name [(throw "error (se :name [is not a macro.]))]
define "%%%$%macro.procedure text :name
make "macro.result run fput "%%%$%macro.procedure :inputlist
erase "%%%$%macro.procedure
op :macro.result
end

bury "macroexpand
back to top