Safe Haskell | Safe-Inferred |
---|

Trim the expressions passed to `weakclo`

casts to just those terms
that can affect the closure of the body.

# Documentation

trimX :: Ord n => Exp a n -> Exp a nSource

Trim an expression if it is a `weakclo`

cast.

Non-recursive version. If you want to recursively trim closures,
use `transformUpX' (const trimX)`

.

trimClosures :: Ord n => a -> [Exp a n] -> [Exp a n]Source

Trim the expressions of a weaken closure `(XCast CastWeakenClosure)`

into only the free variables.

For example,
```
trimClosures [build (k z. something k), else]
= [build, something, else]
```