Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I got started with Haskell recently, and I'm really regretting not having picked it up earlier. Most of what I knew about types came from C, C++, or Java; so it's a big leap.

I've been using Haskell for Mac IDE [0] while experimenting, and it's been great fun.

The thing that prompted me to give Haskell a a try was this video [1] of a guy using Haskell to generate Elm types, in order to maintain consistent types across the stack. This idea captivated my interests. I'm confident that GraphQL and Relay, or something along those lines, is gonna be the future.

My experience so far has been that Elixir feels more welcoming and beginner friendly. There's nothing wrong with the Haskell community (or my limited interactions with it so far), but so far it's just felt a bit drier.

[0] http://haskellformac.com/

[1] https://www.youtube.com/watch?v=sh4H8yzXnvw



Of course Elixir is more welcoming—the language is "practically" functional, easy, and made for building stuff. Haskell's purity and academic background is definitely a big impact on its culture.


I wish there was a haskell-without-the-warts language with the same culture as Elixir - developer friendliness, practicality etc.

As it stands I can't help but feel discouraged when learning Haskell. Haskell feels like a research tool for furthering other programming languages...

I'm still going to learn Haskell, promised myself I would! But I do look to the Elixir folk with a bit of jealousy..


If you delve deep enough into C++ TMP, it's just as expressive (more expressive in some ways) as Haskell. You can actually do dependent types in C++.


From what I understand, C++ can do anything! But sadly, it lets you do anything.

Haskell restricts what you can do hugely. But also lets you accomplish a whole lot within what it thinks of as safety.

I like Haskell - but think it's really just a playground for trying how far functional purity can be pushed, rather than being the actual best version of that paradigm.

Probably in 10-20 years time there will be a language around which takes all those concepts and comes together as a really pleasant unsurprising friendly developer experience. Maybe it'll come from slow evolution of Haskell... stack helps a lot, and a whole bunch of GHC extensions... but it's still got a lot of very impractical elements and hangovers from the past that really need to go.


It's a far cry from Haskell but I've found Rust's type system to be a breath of fresh air coming from C++. Stuff like destructuring assignment and matching on enums (or anything really) while not as powerful as their equivalents in Haskell, are still much nicer than what you can do in C++.


Depends what you mean by anything. You have dependent types and subtyping, but can't express, say, a GADT.

I think Scala can probably do anything.

I agree that Haskell is probably not great for writing real world code and should be reserved for toying with ideas about PL and type theory.


You can, but would you?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: