(builtins.seq ;; builtins (builtins.def def builtins.def) (def lookup builtins.lookup) (def set! builtins.set!) (def scope builtins.scope) ;; macro (def macro builtins.macro) (def defmacro (macro [name params body] (def $name (macro $params $body)))) ;; flow (defmacro seq [] (builtins.seq :null $%&)) (defmacro namespace [name] (def $name (scope $%&))) ;; other (defmacro mut! [v fn] (seq (set! (ast.value! $v) ($fn $v $%&))) ) )