0
votes

For example (from purescript-halogen):

data Slot (query :: Type -> Type) output slot

Is that declaring an uninhabited type? (If so, I would assume it would be useful exclusively as a phantom type.)

1

1 Answers

2
votes

It probably should be a foreign data rather than just data, as this one is inhabited - it only comes into use through coercion though, as it's used as a version of another type with some of its parameters existentially hidden.