4 ms·
I get a bit annoyed when people focus too much on the "functional" aspect when discussing Haskell. True, it's a significant part of it, but there are other func
by vzaliva 2y ago
I get a bit annoyed when people focus too much on the "functional" aspect when discussing Haskell. True, it's a significant part of it, but there are other functional languages that go back as far as Lisp. What sets Haskell apart from these languages is its strong typing, lazy evaluation, algebraic data types (along with supportive matching syntax), and many other small language features which together make it a really nice language.
- GrantMoyer 2y agoSome other features I really miss from Haskell when programming in other languages are the dedicated function composition and application operators, curried functions by default, and support for partial application of operators.
- throwawaymaths 2y agoWhat truly sets Haskell apart is how much the language shoehorns you into being an architecture and abstraction astronaut
- tome 2y agoI program Haskell every day and don't feel like I've been shoehorned into being "an architecture and abstraction astronaut". I do feel I've been gently nudged away from worst practices[1] though. Could you elaborate more about what you mean, maybe giving some examples? [1] https://www.haskellforall.com/2016/04/worst-practices-should-be-hard.html https://www.haskellforall.com/2016/04/worst-practices-should...
- throwawaymaths 2y agoMaybe just scarring from working with haskellers who are writing c++. The project has been delayed probably months due to shitty abstractions. Has never met a self imposed (generous) deadline. They keep breaking the up stack contract that I depend on. Why they didn't just choose c for this project is infuriating. Literally was in a meeting where a new hire was given the green light because "she was a language lawyer but not enough of a language lawyer to get in the way". Fuck that.
- tome 2y agoDo you mean you worked with people who were Haskell enthusiasts but were programming in C++?
- EnergyAmy 2y agoI don't think it "shoehorns" you into that. It certainly doesn't stop you from doing it. That's the thrust of this page: https://pages.cpsc.ucalgary.ca/~robin/class/449/Evolution.htm https://pages.cpsc.ucalgary.ca/~robin/class/449/Evolution.ht... Where a simple program goes through levels of increasing complexity before arriving at: fac n = product [1..n]
- kccqzy 2y agoThat doesn't set Haskell apart at all. Rust is the same. You have to first understand what programming patterns are strongly discouraged because they don't work well with the borrow checker (for good reasons!) and therefore best avoided.