Can be used for empty data decls such as Void. Proposed syntax is to leave off the of keyword.
data Void
absurd :: forall a. Void -> a
absurd = case _
Type inference may suffer. What would the inferred type of absurd be if no explicit type was given?
Issue about exhaustiveness checker exists elsewhere.
Not a breaking change, but existing code that uses data X as a short-hand for foreign import data X :: Type must be modified to use the latter; an empty data declaration is now truly an empty type.
Reactions are currently unavailable
Can be used for empty data decls such as Void. Proposed syntax is to leave off the of keyword.
Type inference may suffer. What would the inferred type of absurd be if no explicit type was given?
Issue about exhaustiveness checker exists elsewhere.
Not a breaking change, but existing code that uses data X as a short-hand for foreign import data X :: Type must be modified to use the latter; an empty data declaration is now truly an empty type.