Non-escaping lets, join-points and binding updatability

Simon Marlow marlowsd at
Thu Oct 17 08:43:38 UTC 2013

On 16/10/2013 18:27, Jan Stolarek wrote:
> Hi all,
> I'm trying to understand this:
> 1. Note [What is a non-escaping let] says that one of conditions of binding being a non-escaping
> let is non-updatability.
> 2. My understanding is that a if a binding has at least one parameter it is non-updatable, though
> I suspect that converse does not have to be true (lambdas)
> 3. Join-points are implemented using LNE bindings and I can imagine a join-points not having any
> parameters (and not being a lambda).

A join-point always has at least one argument.  If there are no 
arguments, then a dummy one of type State# RealWorld is added, to avoid 
creating a thunk.


More information about the ghc-devs mailing list