When a code requires PrimBytes (DataFrame t ds), GHC uses a
deriving instance PrimBytes (Array t ds) => PrimBytes (DataFrame t ds),
which, in turn, requires PrimBytes (Array t ds).
Array t ds is a type family; only individual members of the type family have the instance.
To make things worse, there are other instances of PrimBytes defined in easytensor-vulkan.
And GHC starts to panic (Overlapping instances for PrimBytes).
Need to try to reconsider a combination of TypeError and OverlappingInstances to improve this.
When a code requires
PrimBytes (DataFrame t ds)
, GHC uses aderiving instance PrimBytes (Array t ds) => PrimBytes (DataFrame t ds)
, which, in turn, requiresPrimBytes (Array t ds)
.Array t ds
is a type family; only individual members of the type family have the instance. To make things worse, there are other instances ofPrimBytes
defined ineasytensor-vulkan
. And GHC starts to panic (Overlapping instances for PrimBytes
).Need to try to reconsider a combination of
TypeError
andOverlappingInstances
to improve this.The issue comes from a comment https://github.com/achirkin/easytensor/issues/4#issuecomment-410538952.