|Version 18 (modified by john@…, 8 years ago) (diff)|
These are features which we might want to consider for removal or replacement with something better/cleaner.
- eliminate tab stops in layout
- n + k patterns
- For removal: we have been saying it will happen for a while now, we should make good on it.
- ~ patterns
- For removal: can be simulated with 'where' or 'let' clauses
- Against removal:
- fine control of strictness can require careful placement of these and let/where would obscure what is happening and get very verbose with nested ~ patterns.
- are used in several safe programing idioms that would not be workroundable.
- the monomorphism restriction
- (JL) This one has been worked so extensively in the past, I find it hard to imagine we could make any significant progress.
- classes (no really, there are people who advocate this!)
- (JL) This would so fundamentally change the nature of Haskell as to make it a different language. It is surely out of scope for what we plan to accomplish.
- class contexts on data definitions
- For removal: they add no extra useful expressivity that is not already present in the function signatures which use the datatype.
- the Prelude (or at least, seriously trim it to the minimum possible)
- record syntax (see also ExistingRecords)