summary refs log tree commit diff stats
path: root/tests/closure/tflatmap.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/closure/tflatmap.nim')
-rw-r--r--tests/closure/tflatmap.nim24
1 files changed, 0 insertions, 24 deletions
diff --git a/tests/closure/tflatmap.nim b/tests/closure/tflatmap.nim
deleted file mode 100644
index 240756424..000000000
--- a/tests/closure/tflatmap.nim
+++ /dev/null
@@ -1,24 +0,0 @@
-
-# bug #3995
-
-import future
-
-type
-  RNG* = tuple[]
-  Rand*[A] = (RNG) -> (A, RNG)
-
-proc nextInt*(r: RNG): (int, RNG) =
-  (1, ())
-
-proc flatMap[A,B](f: Rand[A], g: A -> Rand[B]): Rand[B] =
-  (rng: RNG) => (
-    let (a, rng2) = f(rng);
-    let g1 = g(a);
-    g1(rng2)
-  )
-
-proc map[A,B](s: Rand[A], f: A -> B): Rand[B] =
-  let g: A -> Rand[B] = (a: A) => ((rng: RNG) => (f(a), rng))
-  flatMap(s, g)
-
-let f = nextInt.map(i => i - i mod 2)