Display nested lambdas together
This commit is contained in:
parent
7d0d513735
commit
72083325ce
1 changed files with 11 additions and 8 deletions
|
|
@ -51,8 +51,10 @@ varName vs i = fromMaybe e $ nth vs i
|
|||
dTerm :: (e -> T.Text) -> [Name] -> Term e Name Name -> T.Text
|
||||
dTerm _ vs (Var i) = varName vs i
|
||||
dTerm _ _ (Const c) = c
|
||||
dTerm f vs (Lambda v t) = "λ" <> v <> ". " <> dTerm f (v:vs) t
|
||||
dTerm f _ (Ext e) = f e
|
||||
dTerm f vs (Lambda v t) = "λ" <> v <> dLambda (v:vs) t
|
||||
where
|
||||
dLambda ws (Lambda w u) = " " <> w <> dLambda (w:ws) u
|
||||
dLambda ws u = ". " <> dTerm f ws u
|
||||
dTerm f vs (App l r) = dLeft l <> " " <> dRight r
|
||||
where
|
||||
dLeft t@(Lambda _ _) = "(" <> dTerm f vs t <> ")"
|
||||
|
|
@ -60,3 +62,4 @@ dTerm f vs (App l r) = dLeft l <> " " <> dRight r
|
|||
dRight t@(Lambda _ _) = "(" <> dTerm f vs t <> ")"
|
||||
dRight t@(App _ _) = "(" <> dTerm f vs t <> ")"
|
||||
dRight t = dTerm f vs t
|
||||
dTerm f _ (Ext e) = f e
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue