Welcome to the 2020 State of Haskell Survey! This survey opens on November 1st and closes on the 15th. After the survey closes, anonymized survey results will be made publicly available under the Open Database License.
The fourth annual State of Haskell Survey closed last week. This post will graph the responses, analyze them, and compare them to previous years. You may be interested in similar posts from 2019, 2...
Screenshot-from-2020-11-23-14-56-21.png The fact that GADTs are ranked this high surprises me and scares me. Higher than OverloadedLists and RankNTypes and many other more useful (when talking about programming, imo) extensions.
Even though I use dependently types programming languages more often than Haskell. I fail to see how the extra generality helps with programming (not with writing safer programs, that is evident most cases, although I am not sure about the cost-benefit).
instead of thinking about what magical combination of Eithers and extra datatypes to make to accurately model my domain, I can use type level functions and dts to compute exactly what I need
the survey has opened!
https://haskellweekly.news/survey/2020.html
https://taylor.fausak.me/2020/11/22/haskell-survey-results/
results are in!
Screenshot-from-2020-11-23-14-56-21.png The fact that
GADTs
are ranked this high surprises me and scares me. Higher thanOverloadedLists
andRankNTypes
and many other more useful (when talking about programming, imo) extensions.I would actively protest against
OverloadedLists
by defaulttoo many things become ambiguous by default
tbh for me
GADTs
>>RankNTypes
in terms of "simplicity" - what "scares"/bothers you about them?I find it weird that people gravitate to them. I have only seen/used them to emulate dependent types and other "fancy" things.
Even though I use dependently types programming languages more often than Haskell. I fail to see how the extra generality helps with programming (not with writing safer programs, that is evident most cases, although I am not sure about the cost-benefit).
dts are very useful for easier modelling of domain types in my opinion
instead of thinking about what magical combination of
Either
s and extra datatypes to make to accurately model my domain, I can use type level functions and dts to compute exactly what I needI guess this is also a "fancy" application, but esqueleto uses GADTs to model SQL, and it's a pretty widely spread library (imo)
E.g. this example has nothing to do with dependent types