One of the declared goals during the initial design phase of the Haskell language
was to "... be usable as a basis for further language research." From "A History of Haskell: Being Lazy with Class" available at https://www.microsoft.com/en-us/research/wp-content/uploads/.... Language pragmas feels like a nice tool to support this goal.
I think the equivalent is packages which provide annotations. There are plentiful of such packed providing variations of "notNull". It seems even worse than extensions, as they are third party.
Re:Reflecting on Haskell in 2017
by marcosdumay on Monday December 04, 2017 @11:49AM
(#15845258)
> There must be some reasonable subset that basically everyone uses and should just be included in the language.
Well, there is. The problem is that the last reasonable subset is 7 years old, and Haskell is evolving quickly.
There's a new standard scheduled to 2020.
Re:Reflecting on Haskell in 2017
by tathougies on Monday December 04, 2017 @06:57PM
(#15848692)
There used to be -fglasgow-exts, but they removed that. I honestly don't really see the big deal. It's like feature flags for C or C++ compilers
actually in java you can have compiler extensions aswell.
they are just not included by default.
Getting everyone to come to a consensus on what should or shouldn't be included would be very difficult. Then there's also the issue of backwards compatibility. At the end of the day they're opt in so you can just simply not use them.
Re:Reflecting on Haskell in 2017
by bunderbunder on Monday December 04, 2017 @10:21AM
(#15844459)
Optimizing individually for every individual has a tendency to de-optimize the community as a whole.
This is one of those things that seriously limits Haskell's growth. It's something for new users to bounce off of, and that contributes to Haskell's reputation as a write-only language.
It’s nice there’s a way not to put them at the top of every single file but they still exist.
There must be some reasonable subset that basically everyone uses and should just be included in the language.