wiki:RemovalCandidates

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.
  • NegativeSyntax
  • ~ 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)
  • Defaulting
  • record syntax (see also ExistingRecords)