rewrite-closures: Minor improvements
parent
a2b982ebbd
commit
765607bc9a
|
@ -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 ] ;
|
||||||
|
|
Loading…
Reference in New Issue