Minor changes to lisp
parent
70baf7c9f7
commit
452f59759a
|
@ -64,7 +64,7 @@ PRIVATE>
|
||||||
cdr [ car ] keep [ convert-lambda ] [ car name>> ] bi define-lisp-macro 1quotation ;
|
cdr [ car ] keep [ convert-lambda ] [ car name>> ] bi define-lisp-macro 1quotation ;
|
||||||
|
|
||||||
: macro-expand ( cons -- quot )
|
: macro-expand ( cons -- quot )
|
||||||
uncons [ list>seq >quotation ] [ lookup-macro call ] bi* call call convert-form ;
|
uncons [ list>seq >quotation ] [ lookup-macro call ] bi* call convert-form ;
|
||||||
|
|
||||||
: form-dispatch ( cons lisp-symbol -- quot )
|
: form-dispatch ( cons lisp-symbol -- quot )
|
||||||
name>>
|
name>>
|
||||||
|
@ -129,7 +129,7 @@ M: no-such-var summary drop "No such variable" ;
|
||||||
dup lisp-symbol? [ lookup-var ] when curry call ; inline
|
dup lisp-symbol? [ lookup-var ] when curry call ; inline
|
||||||
|
|
||||||
: define-primitive ( name vocab word -- )
|
: define-primitive ( name vocab word -- )
|
||||||
swap lookup 1quotation '[ , compose call ] swap lisp-define ; ! '[ , compose call ] swap lisp-define ;
|
swap lookup 1quotation '[ , compose call ] swap lisp-define ;
|
||||||
|
|
||||||
: lookup-macro ( lisp-symbol -- lambda )
|
: lookup-macro ( lisp-symbol -- lambda )
|
||||||
name>> macro-env get at ;
|
name>> macro-env get at ;
|
||||||
|
|
Loading…
Reference in New Issue