update
[mTask.git] / Tasks / Examples.icl
index 78b0d67..4ca051d 100644 (file)
@@ -6,14 +6,18 @@ import mTask
 import Devices.mTaskDevice
 import iTasks._Framework.Serialization
 
-countTo5 :: Main (ByteCode () Stmt)
-countTo5 = sds \x=0 In {main =
-       x =. x +. lit 1 :.
-       pub x :.
-       IF ( x >. lit 5) (
-               retrn x
+pinShare :: Main (ByteCode () Stmt)
+pinShare = sds \p=True In {main =
+               d0 =. p :. noOp
+       }
+
+faculty :: Int -> Main (ByteCode () Stmt)
+faculty i = sds \y=i In sds \x=1 In {main =
+       IF (y <=. lit 1) (
+               pub x :. retrn
        ) (
-               noOp
+               x =. x *. y :.
+               y =. y -. lit 1
        )}
 
 count :: Main (ByteCode () Stmt)
@@ -77,5 +81,6 @@ allmTasks = 'DM'.fromList
        ,("blink", ledSelection @ blink)
        ,("blinkShare", treturn blinkShare)
        ,("count", treturn count)
-       ,("countTo5", treturn countTo5)
+       ,("faculty", enterInformation "Faculty" [] @ faculty)
+       ,("pinShare", treturn pinShare) 
        ]