]> gitweb.factorcode.org Git - factor-unmaintained.git/blobdiff - set-n/set-n.factor
unmaintained: New home for misfit Factor vocabularies.
[factor-unmaintained.git] / set-n / set-n.factor
diff --git a/set-n/set-n.factor b/set-n/set-n.factor
new file mode 100644 (file)
index 0000000..0807b76
--- /dev/null
@@ -0,0 +1,9 @@
+USING: accessors assocs fry generalizations kernel locals math
+namespaces parser sequences shuffle words effects.parser ;
+IN: set-n
+: get* ( var n -- val ) namestack dup length rot - head assoc-stack ;
+
+: 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 ;