Ticket #22 (new enhancement)

Opened 6 years ago

Mask mutability constraints on fresh data

Reported by: benl Owned by:
Priority: project Milestone:
Component: Source Type Inferencer Version:
Keywords: Cc:

Description

In a type like

 fun :: forall %r1 %r2
     .  Int %r1 -> Int %r2
     :- Mutable %r2

The returned Int is fresh, that its region does not appear on the lhs of an arrow or in a closure. In this case it does not matter that the data is Mutable, and this fetter can be masked.

We'll want to use the closure information the core language for this, so make sure the core type checker works.

Note: See TracTickets for help on using tickets.