Using bake instead of make
parent
b1bd228cb5
commit
761e3bb8f5
|
@ -1,7 +1,7 @@
|
||||||
! Copyright (C) 2008 James Cash
|
! Copyright (C) 2008 James Cash
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: kernel peg.ebnf peg.expr math.parser sequences arrays strings combinators.lib
|
USING: kernel peg.ebnf peg.expr math.parser sequences arrays strings combinators.lib
|
||||||
namespaces combinators math ;
|
namespaces combinators math bake ;
|
||||||
IN: lisp
|
IN: lisp
|
||||||
|
|
||||||
TUPLE: lisp-symbol name ;
|
TUPLE: lisp-symbol name ;
|
||||||
|
@ -30,14 +30,14 @@ DEFER: convert-form
|
||||||
[ convert-form ] map [ ] [ compose ] reduce ; inline
|
[ convert-form ] map [ ] [ compose ] reduce ; inline
|
||||||
|
|
||||||
: convert-if ( lisp-form -- quot )
|
: convert-if ( lisp-form -- quot )
|
||||||
1 tail [ convert-form ] map reverse first3 [ % , , \ if , ] [ ] make ;
|
1 tail [ convert-form ] map reverse first3 [ % , , if ] bake ;
|
||||||
|
|
||||||
: convert-general-form ( lisp-form -- quot )
|
: convert-general-form ( lisp-form -- quot )
|
||||||
unclip swap convert-body [ % , ] [ ] make ;
|
unclip swap convert-body [ % , ] bake ;
|
||||||
|
|
||||||
: convert-list-form ( lisp-form -- quot )
|
: convert-list-form ( lisp-form -- quot )
|
||||||
dup first
|
dup first
|
||||||
{ { [ dup "if" <symbol> equal? ] [ convert-if ] }
|
{ { [ dup "if" <symbol> equal? ] [ drop convert-if ] }
|
||||||
[ drop convert-general-form ]
|
[ drop convert-general-form ]
|
||||||
} cond ;
|
} cond ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue