all tasks

This commit is contained in:
Ingy döt Net 2013-04-11 01:07:29 -07:00
parent b83f433714
commit 68f8f3e56b
14735 changed files with 178959 additions and 0 deletions

31
Task/Stack/Oz/stack.oz Normal file
View file

@ -0,0 +1,31 @@
functor
export
New
Push
Pop
Empty
define
fun {New}
{NewCell nil}
end
proc {Push Stack Element}
NewStack
%% Use atomic swap for thread safety
OldStack = Stack := NewStack
in
NewStack = Element|OldStack
end
proc {Pop Stack ?Result}
NewStack
%% Use atomic swap for thread safety
OldStack = Stack := NewStack
in
Result|NewStack = OldStack
end
fun {Empty Stack}
@Stack == nil
end
end