Hacker News new | past | comments | ask | show | jobs | submit login

Good to see that the Haskell community is looking for ways to be more accessible to newcomers. I'm not very familiar with Haskell, but I have long heard that the Haskell community wasn't interested in popularity. Has there been a shift in their thinking?



The Haskell motto is "avoid success at all costs", usually clarified to "avoid 'success at all costs'".

In other words, "success" (popularity, widespread use in industry, teaching, etc.) is not a justification for "costs" such as limiting expressiveness, making things less safe, restricting research possibilities, etc. Haskell would prefer to be powerful, safe, efficient, obscure and niche; rather than popular, industry-standard, widely-known, highly compatible, unsafe, insecure, inefficient and restricted (besides, we have loads of languages of this sort!).

Crippling the language to make things easier for new users is not an option. However, there are many ways the language could be made easier without impacting any core values. For example, there are long-standing issues with strings, records, error messages, dependency handling, etc. which people are working on.

Also, for those who do want to learn Haskell, I've found the community to be very welcoming and tolerant of newbies. Just ignore some of the more math-heavy blog posts (for now, at least), or your head might explode :P


Thanks for the reply! I've heard that motto before and didn't understand it until now. Makes perfect sense.

To your point about making Haskell easier for newbies without impacting the core values... Rust is a great example of that. Rust can be difficult to learn, but the Rust community does a great job of explaining (and re-explaining in many cases) Rust's approach to newcomers. This is especially true when Rust handles a problem in a way that may be counter-intuitive to the inexperienced.

Here's a great example from r/Rust where a new Rust user trashes traits and the Result type: https://www.reddit.com/r/rust/comments/4rev26/why_is_rust_ma...


> Rust can be difficult to learn, but the Rust community does a great job of explaining (and re-explaining in many cases) Rust's approach to newcomers.

Whilst communicating why and how things work is certainly important (all of the Haskell monad tutorials come to mind!), I was actually refering to cases where "Haskell's approach" is known to be bad.

For example:

http://www.alexeyshmalko.com/2015/haskell-string-types

https://ghc.haskell.org/trac/ghc/wiki/Records

http://foswiki.cs.uu.nl/foswiki/Helium/Features#Messages


No. This is not the community's doing. It is FP Complete, a corporation attempting to subvert the haskell community for their financial benefit. The purpose of this site is to make newcomers think the FP complete tools are the tools to use, rather than the official ones.


You do understand that comments like this are actually building their case for problems in the community right? I've read several of your comments on this page, and you're the only one making accusations without any evidence, and turning this into a flame war. If you don't like stack, don't use it.

I'm not a big fan of this whole community splitting action, but to think that it's been undertaken as a coup d'état to take control of the community by a commercial entity is verging on tinfoil hat territory.

And you know what? Stack is a fantastic tool for newcomers, we use it exclusively for our commercial Haskell projects and it's changed our development practices for the better by a long way. Something that built today I can be sure will build in a year without changes - cabal has never been able to guarantee that. I'm really glad someone has put in the huge amount of effort to make a better Haskell build tool, it's been far too long coming.


No, this whole "any negative response to our hostile actions justifies our hostile actions" nonsense doesn't fly. It is begging the question. And you are spreading FUD again. Cabal absolutely is able to guarantee that, and always has. All you do is exactly what stack is doing, pin yourself to a specific version of your dependencies.


I'm not going to argue with you, I don't think you're contributing anything to the conversation, and your tone definitely isn't, that's all


> rather than the official ones

What makes them "official"?


What makes python "official"?


You're the one who is claiming there are "official" Haskell tools, so back up your claim. What makes them "official"?


I already did. The same thing that makes every other official tool official. Being released by the organization behind the language/platform/whatever.


So who's behind C? C++? Haskell has a language standard and has historically had competing implementations. None of them is "official", nor is any of the infrastructure.


We're talking about GHC.


No we're not. Haskell.org used to advertise a wide variety of Haskell compilers

https://web.archive.org/web/20050728010349/http://www.haskel...

It is in no sense the "official" outlet for GHC. It's an outlet that promoted other people's work, and anyone else is welcome to make a new outlet of their own.


It is the outlet endorsed by the developers of GHC. The fact that there used to be other compilers does not change this at all.


www.haskell.org didn't used to take for granted that ghc is 'the' official haskell implementation. If you look at

https://web.archive.org/web/20090129200859/http://haskell.or...

which immediately lists implementations and compare it to

https://web.archive.org/web/20100402011002/http://www.haskel...

a year later you will be reminded of the rather spectacular struggles that preceded the ghc-centrism of haskell.org . The change was closely associated with the appearance of the haskell platform, and the arguments very similar to those concerning stack and stackage. If you want paranoid theories of corrupt commercial motives in that case, I can produce several incompatible ones for you to choose among.


YHC, Hugs, and nhc all discontinued development.

The former is now virtually uncompilable (and was never complete), Hugs is officially unmaintained, nhc hasn't seen a release since 2010 so is not under new development.

While there was discussion over this, it doesn't at all resemble the set of arguments more recently.


I won't bother to look it up, since it's not important and we probably agree on basically everything, but there were in my memory quite a few tempests in teapots about this sort of thing. It wasn't that there were other working compilers the overt ghc-centrism was dissing; the dispute was more about the desirability of distinguishing the Haskell language from the ghc implementation which pained some. No one doubted that the ghc was the going one, especially once hugs became unmaintained. Among the arguments for overt ghc-centrism were ... that it was confusing to users not to make it obvious that effectively Haskell=ghc. Similarly it was confusing to users ... that there was not something more like a system of standard libraries like those 'blessed' by the Platform. "For commercial adoption we need a clear path through all this stuff, we need clarification, blessing and decision" was one view. I remember people who were disturbed that some Haskell platform pages had you clicking an icon reading "Download Haskell" - meaning the ghc+ Haskell platform. I'd have to hunt for an example but see http://code.galois.com/darcs/haskell-platform/download-websi... for something not quite like that. For someone like dons the fastidiousness that would balk at a "Download Haskell" icon that meant "download ghc+blessed libraries" was ridiculous (rightly, I think, for the time). (Maybe they thought it should yield a pdf of the Haskell Report ...) There were actually quite a few similarities in the arguments, the difference was that no one poisoned the wells in their favor of their side by making up imaginary corrupt commercial motives. The difference was between people with a certain view of how industrial adoption was to be advanced, and a different more language-centric view. There is on reflection quite a bit of similarity between dons and Snoyman


It isn't "ghc-centrism". None of the other compilers exist any more. If you don't have any idea what you are talking about, don't create an account just to come post nonsense.




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

Search: