| ... | @@ -138,6 +138,8 @@ Issues: |
... | @@ -138,6 +138,8 @@ Issues: |
|
|
|
|
|
|
|
- `succ` and `pred` are unused.
|
|
- `succ` and `pred` are unused.
|
|
|
- The default definitions of `enum`\* would make more sense if `toEnum` and `fromEnum` used `Integer` instead of `Int`.
|
|
- The default definitions of `enum`\* would make more sense if `toEnum` and `fromEnum` used `Integer` instead of `Int`.
|
|
|
|
- Some doubt that it makes sense to have `Float` and `Double` instances.
|
|
|
|
- It is wierd that `[0,3..20]::[Rational]` includes `21`.
|
|
|
|
|
|
|
|
### The Ix class
|
|
### The Ix class
|
|
|
|
|
|
| ... | @@ -154,3 +156,22 @@ Proposal: |
... | @@ -154,3 +156,22 @@ Proposal: |
|
|
|
|
|
|
|
- Make `Show` a superclass of `Ix`, so that the offending index and range can be shown in exceptions.
|
|
- Make `Show` a superclass of `Ix`, so that the offending index and range can be shown in exceptions.
|
|
|
(All instances of `Ix` in the `base` package are also instances of `Show`.)
|
|
(All instances of `Ix` in the `base` package are also instances of `Show`.)
|
|
|
|
|
|
|
|
### The Bits class
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Issues:
|
|
|
|
|
|
|
|
|
|
|
|
- The `Num` superclass may unduly restrict instances. The only thing actually needed from `Num` is 0.
|
|
|
|
- The `bitSize` method is not defined for all instances, and there is no general way to test whether it can be safely called.
|
|
|
|
|
|
|
|
### The Storable class
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Issues:
|
|
|
|
|
|
|
|
|
|
|
|
- Some interfaces require clients to manage the memory for objects, but to treat them abstractly. In such cases one wants to define `sizeOf` and `alignment` (to use `malloc` or `alloca`), but not `peek` or `poke`. |