summaryrefslogtreecommitdiff
path: root/fp2/week2
diff options
context:
space:
mode:
Diffstat (limited to 'fp2/week2')
-rw-r--r--fp2/week2/ReturnEnBind.icl19
1 files changed, 19 insertions, 0 deletions
diff --git a/fp2/week2/ReturnEnBind.icl b/fp2/week2/ReturnEnBind.icl
new file mode 100644
index 0000000..0bece5f
--- /dev/null
+++ b/fp2/week2/ReturnEnBind.icl
@@ -0,0 +1,19 @@
+module ReturnEnBind
+
+import StdEnv, Random
+
+Start = 42
+
+(bind1) infix 0 :: (St s a) (a -> (St s b)) -> St s b
+//(bind1) infix 0 :: (s -> *(a,s)) (a -> (a -> *(a,s))) -> (s -> *(b,s))
+(bind1) f1 f2 = \st0 f2 (fst (f1 st0) (snd (f1 st0))
+// (r, st1) = f1 st0
+//(bind) f f2 :== \st0 -> let (r,st1) = f st0
+// in f2 r st1
+
+
+som2 :: (RandomSeed -> (Int,RandomSeed))
+som2 ...
+
+seqList1 :: [St s a] -> St s [a]
+seqList1 ...