|
|
# Empty data declarations
|
|
|
# Proposal: [EmptyDataDecls](empty-data-decls)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> Ticket </th>
|
|
|
<th> [\#25](https://gitlab.haskell.org//haskell/prime/issues/25)
|
|
|
</th></tr>
|
|
|
<tr><th> Dependencies </th>
|
|
|
<th> names of other proposals on which this one depends
|
|
|
</th></tr>
|
|
|
<tr><th> Related </th>
|
|
|
<th>
|
|
|
|
|
|
**Ticket:** [\#25](https://gitlab.haskell.org//haskell/prime/issues/25)
|
|
|
<table><tr><th>[\#85](https://gitlab.haskell.org//haskell/prime/issues/85)</th>
|
|
|
<td>more liberal kind inference</td></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
## Brief Explanation
|
|
|
<table><tr><th>[\#84](https://gitlab.haskell.org//haskell/prime/issues/84)</th>
|
|
|
<td>Kind Annotations</td></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th>[\#78](https://gitlab.haskell.org//haskell/prime/issues/78)</th>
|
|
|
<td>Add infix type constructors</td></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Compiler support
|
|
|
|
|
|
|
|
|
<table><tr><th> GHC </th>
|
|
|
<th> \[ full (flagname) \| partial (flagname) (comments) \| none \]
|
|
|
</th></tr>
|
|
|
<tr><th> nhc98 </th>
|
|
|
<th> \[ full (flagname) \| partial (flagname) (comments) \| none \]
|
|
|
</th></tr>
|
|
|
<tr><th> Hugs </th>
|
|
|
<th> \[ full (flagname) \| partial (flagname) (comments) \| none \]
|
|
|
</th></tr>
|
|
|
<tr><th> UHC </th>
|
|
|
<th> \[ full (flagname) \| partial (flagname) (comments) \| none \]
|
|
|
</th></tr>
|
|
|
<tr><th> JHC </th>
|
|
|
<th> \[ full (flagname) \| partial (flagname) (comments) \| none \]
|
|
|
</th></tr>
|
|
|
<tr><th> LHC </th>
|
|
|
<th> \[ full (flagname) \| partial (flagname) (comments) \| none \]
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
|
## Summary
|
|
|
|
|
|
|
|
|
|
|
|
Allow data declarations with no constructors.
|
|
|
|
|
|
|
|
|
## Description
|
|
|
|
|
|
|
|
|
|
... | ... | @@ -71,27 +128,17 @@ gives a more regular syntax and better error messages than ruling out deriving f |
|
|
syntactically. But the point is that there is a choice.
|
|
|
|
|
|
|
|
|
- A simple and natural generalisation of data declarations, seemingly without any hidden complications.
|
|
|
|
|
|
## References
|
|
|
|
|
|
|
|
|
- [ http://www.haskell.org/ghc/docs/latest/html/users_guide/type-extensions.html\#nullary-types](http://www.haskell.org/ghc/docs/latest/html/users_guide/type-extensions.html#nullary-types) GHC documentation.
|
|
|
- <table><tr><th>[\#85](https://gitlab.haskell.org//haskell/prime/issues/85)</th>
|
|
|
<td>more liberal kind inference</td></tr></table>
|
|
|
|
|
|
## Report Delta
|
|
|
|
|
|
- <table><tr><th>[\#84](https://gitlab.haskell.org//haskell/prime/issues/84)</th>
|
|
|
<td>Kind Annotations</td></tr></table>
|
|
|
|
|
|
|
|
|
- <table><tr><th>[\#78](https://gitlab.haskell.org//haskell/prime/issues/78)</th>
|
|
|
<td>Add infix type constructors</td></tr></table>
|
|
|
|
|
|
|
|
|
## Pros
|
|
|
|
|
|
|
|
|
- A simple and natural generalisation of data declarations, seemingly without any hidden complications.
|
|
|
|
|
|
## Cons
|
|
|
The changes to the report necessary to implement the proposal. Required for a proposal to move to the "accepted" state.
|
|
|
|
|
|
|