rewrite-closures: Minor improvements
parent
a2b982ebbd
commit
765607bc9a
|
@ -1,22 +1,19 @@
|
|||
|
||||
USING: kernel parser math quotations namespaces sequences namespaces.lib
|
||||
inference.transforms fry ;
|
||||
USING: kernel parser math quotations namespaces sequences macros fry ;
|
||||
|
||||
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 ] ;
|
||||
|
||||
: scoped-quot ( quot -- quot ) [ with-scope ] curry ;
|
||||
: scoped-quot ( quot -- quot ) '[ , with-scope ] ;
|
||||
|
||||
: closed-quot ( quot -- quot )
|
||||
namestack swap '[ namestack [ , set-namestack @ ] dip set-namestack ] ;
|
||||
|
|
Loading…
Reference in New Issue