Open
Description
Since GHC 9.4, various primitives (Array#
, SmallArray#
, MutVar#
, ...) and their corresponding primops are now levity polymorphic. I propose making the primitive
wrappers (Array
, SmallArray
, MutVar
, ...) also levity polymorphic, so that users can take advantage of the levity polymorphism without having to use the primops from GHC.Exts
directly.
This would also supersede primitive-unlifted afaict.
I'm not sure if this would be a breaking change, but it should at least be minor, since type variables default to kind Type
(so Array a
would still be Array (a :: Type)
).
Metadata
Assignees
Labels
No labels