]> gitweb.factorcode.org Git - factor.git/blob - extra/namespaces/lib/lib.factor
Fixing basis -> extra dependencies
[factor.git] / extra / namespaces / lib / lib.factor
1 USING: kernel namespaces namespaces.private quotations sequences
2        assocs.lib math.parser math generalizations locals mirrors
3        macros ;
4
5 IN: namespaces.lib
6
7 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
8
9 : save-namestack ( quot -- ) namestack >r call r> set-namestack ;
10
11 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
13 : make* ( seq -- seq ) [ dup quotation? [ call ] [ ] if ] map ;
14
15 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16
17 : set* ( val var -- ) namestack* set-assoc-stack ;
18
19 : make-object ( quot class -- object )
20     new [ <mirror> swap bind ] keep ; inline
21
22 : with-object ( object quot -- )
23     [ <mirror> ] dip bind ; inline