rewrite-closures: Minor improvements

db4
Eduardo Cavazos 2008-07-01 09:31:52 -05:00
parent a2b982ebbd
commit 765607bc9a
1 changed files with 5 additions and 8 deletions

View File

@ -1,22 +1,19 @@
USING: kernel parser math quotations namespaces sequences namespaces.lib USING: kernel parser math quotations namespaces sequences macros fry ;
inference.transforms fry ;
IN: rewrite-closures IN: rewrite-closures
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! : set-parameters ( seq -- ) reverse [ set ] each ; : [set-parameters] ( seq -- quot ) reverse [ [ set ] curry ] map concat ;
: [set-parameters] ( seq -- quot ) [ [ set ] curry ] map concat ; MACRO: set-parameters ( seq -- quot ) [set-parameters] ;
: set-parameters ( seq -- ) [set-parameters] call ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
\ set-parameters [ [set-parameters] ] 1 define-transform
: parametric-quot ( parameters quot -- quot ) '[ , set-parameters , call ] ; : parametric-quot ( parameters quot -- quot ) '[ , set-parameters , call ] ;
: scoped-quot ( quot -- quot ) [ with-scope ] curry ; : scoped-quot ( quot -- quot ) '[ , with-scope ] ;
: closed-quot ( quot -- quot ) : closed-quot ( quot -- quot )
namestack swap '[ namestack [ , set-namestack @ ] dip set-namestack ] ; namestack swap '[ namestack [ , set-namestack @ ] dip set-namestack ] ;