mirror of
https://github.com/github/semantic.git
synced 2024-12-20 21:31:48 +03:00
Define LocationFor as an open type family.
This commit is contained in:
parent
b8fb250e10
commit
426b48ea1c
@ -117,9 +117,9 @@ type CellFor value = Cell (LocationFor value) value
|
||||
type LiveFor value = Live (LocationFor value) value
|
||||
|
||||
-- | The location type (the body of 'Address'es) which should be used for an abstract value type.
|
||||
type family LocationFor value :: * where
|
||||
LocationFor (Value location term) = location
|
||||
LocationFor Type.Type = Monovariant
|
||||
type family LocationFor value :: *
|
||||
type instance LocationFor (Value location term) = location
|
||||
type instance LocationFor Type.Type = Monovariant
|
||||
|
||||
-- | Value types, e.g. closures, which can root a set of addresses.
|
||||
class ValueRoots value where
|
||||
|
Loading…
Reference in New Issue
Block a user