Change EvNum to EvNum :: Natural -> EvLit
Currently we carry Nat kind as an Integer internally.
Just changing the type of EvNum (and related isomorphic types like HsTyLit etc) does pretty far. The core problem is that we should be able to output Natural literals into Core.
Also this would need change to parser, to accept only Naturals in types. Currently negative literals are caught in the renamer (due the fact that template-haskell might inject negative integers as well).
This will propagate to template-haskell, changing TyLit there as well.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.0.1 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | bgamari |
| Operating system | |
| Architecture |