... | ... | @@ -211,9 +211,11 @@ A new kind-polymorphic `Compare` type family was added in the `Data.Type.Ord` mo |
|
|
test2 :: forall (x :: Nat). Proxy (x <=? x) -> Proxy True
|
|
|
```
|
|
|
|
|
|
### `ghc-prim-0.8.*`
|
|
|
|
|
|
#### Sized Word/Int use sized Word#/Int# primitives
|
|
|
|
|
|
Before 9.2, `Int{8,16,32}`/`Word{8,16,32}` were all wrappers for `Int#/Word#`, e.g. `data Int8 = I8 Int#`. Now they are wrappers for the appropriate sized primitive types, e.g. `data Int8 = I8 Int8#`. This change was made to properly handle FFI calling conventions on Darwin/ARM64 (see be5d74caab64abf9d986fc7290f62731db7e73e7).
|
|
|
Before 9.2, `Int{8,16,32}`/`Word{8,16,32}` were all wrappers for `Int#/Word#`, e.g. `data Int8 = I8# Int#`. Now they are wrappers for the appropriate sized primitive types, e.g. `data Int8 = I8# Int8#`. This change was made to properly handle FFI calling conventions on Darwin/ARM64 (see be5d74caab64abf9d986fc7290f62731db7e73e7).
|
|
|
|
|
|
Users of the wrapped unboxed value must use sized primops that come with each primitive type (e.g. `plusInt8# :: Int8# -> Int8# -> Int8#`). In particular each primitive type comes with primops to convert from/to full machine word primitives (e.g. `intToInt8#` and `int8ToInt#`).
|
|
|
|
... | ... | |