factor/unmaintained/set-n/set-n.factor

10 lines
400 B
Factor
Raw Normal View History

2009-11-05 16:34:31 -05:00
USING: accessors assocs fry generalizations kernel locals math
namespaces parser sequences shuffle words effects.parser ;
IN: set-n
2009-06-21 22:07:16 -04:00
: get* ( var n -- val ) namestack dup length rot - head assoc-stack ;
2009-06-21 22:07:16 -04:00
: set* ( val var n -- ) 1 + namestack [ length swap - ] keep nth set-at ;
! dynamic lambda
2009-11-05 16:34:31 -05:00
SYNTAX: :| (:) dup in>> dup length [ spin '[ _ narray _ swap zip _ bind ] ] 2curry dip define-declared ;