summaryrefslogtreecommitdiff
path: root/lambda-calcul/haskell/challenges.json
blob: 12617211258afe47187011e2722e45ca238fcdb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[
  {"level":0, "expr": "x"},
  {"level":1, "expr": "y"},
  {"level":2, "expr": "#%foo"},
  {"level":3, "expr": "(lam (x) x)"},
  {"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":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)"}
]