8 ms·
Also, it's worth watching a bit of this talk (link at a particularly relevant time to start) because while Haskell is an "ivory-tower language," it is not _just
by ddellacosta 2y ago
Also, it's worth watching a bit of this talk (link at a particularly relevant time to start) because while Haskell is an "ivory-tower language," it is not _just_ an ivory tower language, and the people working on it are very much not just "a merry bunch of category theorists who had little interest in software engineering."
https://www.youtube.com/watch?v=re96UgMk6GQ&t=802s https://www.youtube.com/watch?v=re96UgMk6GQ&t=802s
This talk is seven years old btw. Caring about industry users in Haskell is not new.
- zarzavat 2y agoTalk is cheap. Haskell has an endemic problem where way too many development resources are put into fringe parts of GHC and way too little is put on other tooling: package management, debugging/profiling, editor support, etc. It’s like, guys GHC has enough Template Haskell features please work on the basics. Haskell has the worst support for records of all its peers. SML, OCaml, F# all have better records. Without good records it’s unreasonably hard to write large software projects. Just look at any Java code, what’s it full of? class declarations. What’s C code full of? struct declarations. What’s JS code full of? object literals. Structures are a critical part of any programming language. A significant part of all code involves declaring structure types and marshaling things in and out of structures. One of the issues is that Haskell added a lot of type system features without thinking how they’d interact with records. AFAIK it’s hard to retrofit ML-style structural subtyped records onto Haskell, because the type system is designed around that not being possible. But they could still have much better nominal records. I love Haskell, it’s frustratingly close to being a great language, but it needs a push to prioritize developer experience.
- ddellacosta 2y ago> Haskell has an endemic problem where way too many development resources are put into fringe parts of GHC There has been an incredible amount of work over the last decade put into all the things you mentioned, which it sounds like you're unfamiliar with. https://github.com/haskell/haskell-language-server https://github.com/haskell/haskell-language-server in particular is a pleasure to use in my experience. Package management is far from perfect, but it's always being worked on and I'll take it over anything in Python or the Node.js ecosystems any day. Developer experience has improved a lot since I started using the language and this is an area that the community and leadership absolutely cares about--I'd be surprised if anyone spent time reading relevant discussions in https://github.com/ghc-proposals/ghc-proposals https://github.com/ghc-proposals/ghc-proposals or https://discourse.haskell.org/ https://discourse.haskell.org/ or etc. and agreed with you. > Haskell has the worst support for records of all its peers. SML, OCaml, F# all have better records. > Without good records it’s unreasonably hard to write large software projects. > AFAIK it’s hard to retrofit ML-style structural subtyped records onto Haskell, because the type system is designed around that not being possible. Haskell is not ML, and while Haskell records are weak they are not what is preventing people from writing big projects in Haskell. There is much more to the language than records. But I said this in my previous comment. Nothing you've written resonates with me, and I've written Haskell and PureScript professionally as well as Java and JS along with a bunch of other languages that haven't been mentioned. I'm also actively working on an open source project in my spare time with thousands of lines of Haskell and PureScript code (https://github.com/ddellacosta/automation-service https://github.com/ddellacosta/automation-service), not to mention a half dozen other random half-done projects and contributions I've made to other open source libraries and applications. What have you written in Haskell that has made you dislike it so much? > Talk is cheap. Yes it is.