never executed always true always false
1 module HelVM.HelMA.Automata.LazyK.Lambda where
2
3 import Relude.Extra
4
5 app4 :: Lambda -> Lambda -> Lambda -> Lambda -> Lambda
6 app4 l1 l2 l3 l4 = l1 `App` l2 `App` l3 `App` l4
7
8 app3 :: Lambda -> Lambda -> Lambda -> Lambda
9 app3 l1 l2 l3 = l1 `App` l2 `App` l3
10
11 foldlLambda :: NonEmpty Lambda -> Lambda
12 foldlLambda = foldl1' App
13
14 data Lambda =
15 S
16 | K
17 | I
18 | App Lambda Lambda
19 | Succ
20 | Number !Natural
21 | Var Text
22 deriving stock (Eq , Read , Show)