]> gitweb.factorcode.org Git - factor.git/commitdiff
dynamic lambdas
authorSam Anklesaria <sam@Tintin.local>
Mon, 22 Jun 2009 02:07:16 +0000 (21:07 -0500)
committerSam Anklesaria <sam@Tintin.local>
Mon, 22 Jun 2009 02:07:16 +0000 (21:07 -0500)
extra/set-n/set-n.factor

index 97aa95199d2cbb7f12125e9aa62777f0321159c6..04731b0e27d6210833b4c500a029090ba7d2a4a1 100644 (file)
@@ -1,5 +1,9 @@
-USING: assocs kernel math namespaces sequences ;
+USING: accessors assocs fry generalizations kernel math
+namespaces parser sequences words ;
 IN: set-n
-: get* ( var n -- val ) namestack swap tail-slice* assoc-stack ;
+: get* ( var n -- val ) namestack dup length rot - head assoc-stack ;
 
-: set* ( val var n -- ) 1 + namestack [ length swap - ] keep nth set-at ;
\ No newline at end of file
+: set* ( val var n -- ) 1 + namestack [ length swap - ] keep nth set-at ;
+
+! dynamic lambda
+SYNTAX: :| (:) dup in>> dup length [ spin '[ _ narray _ swap zip _ bind ] ] 2curry dip define-declared ;
\ No newline at end of file