Support for list literals in Lambdas
This commit is contained in:
@ -75,6 +75,9 @@ elimLambda = go
|
||||
go (SLambda [f] (SLambda [g] (SLambda [x] body)))
|
||||
| body == SApp (SVar f) (SApp (SVar g) (SVar x)) = _B
|
||||
-- General elimination
|
||||
go (SLambda [v] (SList xs))
|
||||
= elimLambda (SLambda [v] (foldr wrapTLeaf TLeaf xs))
|
||||
where wrapTLeaf m r = SApp (SApp TLeaf m) r
|
||||
go (SLambda (v:vs) body)
|
||||
| null vs = toSKI v (elimLambda body)
|
||||
| otherwise = elimLambda (SLambda [v] (SLambda vs body))
|
||||
|
Reference in New Issue
Block a user