2007-09-20 18:09:08 -04:00
|
|
|
USING: kernel namespaces namespaces.private quotations sequences
|
2008-08-27 20:27:06 -04:00
|
|
|
assocs.lib math.parser math generalizations locals mirrors
|
|
|
|
macros ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
IN: namespaces.lib
|
|
|
|
|
|
|
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
|
|
|
: save-namestack ( quot -- ) namestack >r call r> set-namestack ;
|
|
|
|
|
|
|
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
|
|
|
: make* ( seq -- seq ) [ dup quotation? [ call ] [ ] if ] map ;
|
|
|
|
|
|
|
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
2008-01-29 21:52:58 -05:00
|
|
|
: set* ( val var -- ) namestack* set-assoc-stack ;
|
2008-03-06 10:52:56 -05:00
|
|
|
|
2008-06-01 01:59:06 -04:00
|
|
|
: make-object ( quot class -- object )
|
|
|
|
new [ <mirror> swap bind ] keep ; inline
|
|
|
|
|
|
|
|
: with-object ( object quot -- )
|
|
|
|
[ <mirror> ] dip bind ; inline
|