ghc-8.4.3: The GHC API

CoreOpt

Synopsis

## Join points

Returns Just (bndr,rhs) if the binding is a join point: If it's a JoinId, just return it If it's not yet a JoinId but is always tail-called, make it into a JoinId and return it. In the latter case, eta-expand the RHS if necessary, to make the lambdas explicit, as is required for join points

Precondition: the InBndr has been occurrence-analysed, so its OccInfo is valid

## Predicates on expressions

Returns Just (dc, [t1..tk], [x1..xn]) if the argument expression is a *saturated* constructor application of the form dc t1..tk x1 .. xn, where t1..tk are the *universally-quantified* type args of dc