summaryrefslogtreecommitdiff
path: root/lambda-calcul/haskell/challenges.json
diff options
context:
space:
mode:
Diffstat (limited to 'lambda-calcul/haskell/challenges.json')
-rw-r--r--lambda-calcul/haskell/challenges.json19
1 files changed, 10 insertions, 9 deletions
diff --git a/lambda-calcul/haskell/challenges.json b/lambda-calcul/haskell/challenges.json
index 1261721..4c247af 100644
--- a/lambda-calcul/haskell/challenges.json
+++ b/lambda-calcul/haskell/challenges.json
@@ -6,14 +6,15 @@
{"level":4, "expr": "(x y)"},
{"level":5, "expr": "((lam (x) x) y)"},
{"level":6, "expr": "((lam (x y) x) z)"},
- {"level":7, "expr": "((lam (x y) x) z t)"},
- {"level":8, "expr": "((lam (x y) x) z t foo)"},
- {"level":9, "expr": "(let ((id (lam (x) x))) (id z))"},
+ {"level":7, "expr": "(((lam (z) x) z) y)"},
+ {"level":8, "expr": "((lam (x y) x) z t)"},
+ {"level":9, "expr": "((lam (x y) x) z t foo)"},
{"level":10, "expr": "(let ((id (lam (x) x))) (id z))"},
- {"level":11, "expr": "(let ((False (lam (f t) f))\n (True (lam (f t) t))\n (Not (lam (b) (b True False))))\n (Not True))"},
- {"level":12, "expr": "(let ((False (lam (f t) f))\n (True (lam (f t) t))\n (Not (lam (b) (b True False))))\n (Not (Not True)))"},
- {"level":13, "expr": "(def False (lam (f t) f))\n (def True (lam (f t) t))\n (def Not (lam (b) (b True False)))\n (Not (Not True)))"},
- {"level":14, "expr": "(def False (lam (f t) f))\n (def True (lam (f t) t))\n (def Not (lam (b) (b True False)))"},
- {"level":15, "expr": "(def Or (lam (a b) (a b True)))"},
- {"level":16, "expr": "(Or (Not True) False)"}
+ {"level":11, "expr": "(let ((id (lam (x) x))) (id z))"},
+ {"level":12, "expr": "(let ((False (lam (f t) f))\n (True (lam (f t) t))\n (Not (lam (b) (b True False))))\n (Not True))"},
+ {"level":13, "expr": "(let ((False (lam (f t) f))\n (True (lam (f t) t))\n (Not (lam (b) (b True False))))\n (Not (Not True)))"},
+ {"level":14, "expr": "(def False (lam (f t) f))\n (def True (lam (f t) t))\n (def Not (lam (b) (b True False)))\n (Not (Not True)))"},
+ {"level":15, "expr": "(def False (lam (f t) f))\n (def True (lam (f t) t))\n (def Not (lam (b) (b True False)))"},
+ {"level":16, "expr": "(def Or (lam (a b) (a b True)))"},
+ {"level":17, "expr": "(Or (Not True) False)"}
]