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.
Can be used for empty data decls such as
Void. Proposed syntax is to leave off theofkeyword.Type inference may suffer. What would the inferred type of
absurdbe if no explicit type was given?Issue about exhaustiveness checker exists elsewhere.
Not a breaking change, but existing code that uses
data Xas a short-hand forforeign import data X :: Typemust be modified to use the latter; an empty data declaration is now truly an empty type.