swh:1:snp:fcff9c3c8b6b83e139b59f2ad414ffbfaa82af99
Raw File
Tip revision: f506282e07b9a3be7c0f65f74b7bd1ce869ea1ed authored by Barak A. Pearlmutter on 15 January 2021, 18:08:38 UTC
typo
Tip revision: f506282
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