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)