stack
('stack new 10,20,30,40,50,) addtotop (stack :: 25 ; 20 ; 30 ; 40 ; 50 ;)
stack == .. { list
[new] == (islist°[1])->((top°[0]) obj [1]);fail
[isempty] == isnull°pop
[push] == (top°[0]) obj [1],pop°[0]
[pull] == isempty->('_undef ee id);head ee tail
[peek] == isempty->'_undef;head
[size] == length°pop
[dup] == isempty->fail;top obj (head,id)°pop
[swap] == (isempty°tail)->fail;top obj ([1],[0],tail°tail)°pop
[rolll] ==([1]<=size°[0])->((top°[0]) obj (rotl°(pop°[0]) take [1])
++(pop°[0]) drop [1]);fail
[rollr] ==([1]<=size°[0])->((top°[0]) obj (rotr°(pop°[0]) take [1])
++(pop°[0]) drop [1]);fail
[isnum] == false
[addtotop] == (isempty°[0])->fail;
(isnull°[1])->[0];
(isnum°[1])->((tail°[0]) push [1]+head°[0]);
(isobj°[1])->([0] addtotop unbox°[1]);
(islist°[1])->([0] addtotop (+ \)°[1]);
fail
} isempty == [isempty] fn fail push == [push] op fail pull == [pull] fn fail peek == [peek] fn fail size == [size] fn fail dup == [dup] fn fail swap == [swap] fn [1],[0],pop°pop rolll == [rolll] op fail rollr == [rollr] op fail
addtotop == [addtotop] op fail
stack.txt · Last modified: by metazip
