https://github.com/jrincayc/ucblogo-code
Raw File
Tip revision: 7ebe1472ba7b94541951716f93212bbdae21320f authored by Joshua J. Cogliati on 08 January 2023, 17:45:51 UTC
Merge remote-tracking branch 'origin/master' into debug_stop
Tip revision: 7ebe147
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