Haskell

Everyone outside of Holla Forums seems to think Haskell is a great second language and the best for functional programming and teaches you great practices that will improve your skills in other languages.

Then I lurk threads here and people seem to hate it.
Why?
Is it just the community you hate? I mean, they're pretty lazy when it comes to actually making stuff with it, but they're really polite and helpful people, so I think that nullifies it, but I'd like to focus on Holla Forums's thoughts on the language rather than the community, since the community is all I hear people complain about.

Other urls found in this thread:

en.wikipedia.org/wiki/Spaghetti_code
twitter.com/AnonBabble

I see what you did there :^) There was a time when I wanted to learn Haskell because the functional approach sounded interesting, but most of the books just quickly glanced over the functional approach and just assumed you got it. I later picked up SICP and since use Scheme when I want to do functional stuff, its syntax is very clean, unlike Haskell's. That's really all I can personally say about Haskell. They do have a cool logo though

...

a lot of other languages steal ideas from haskell so if you learn a bit of haskell many concepts transfer. the language is fun but personally i'd rather just get shit done in c than wank about with functional nuttery.

I really like Haskell's syntax, I just hate syntactic whitespace more

lol. every language that does this is trash

Haskelly syntax is fine, but after tasting s-expressions in Scheme I think every language should be like that. Technically Lisp languages don't even have a syntax, you are writing the AST which normally the syntax would be transformed into by the parser.

I've tried learning it but the build tools are what get me. Can't figure out what to download.

Functional languages are memes. Observe the output of those communities over the past 60 years before you buy in to the cult. They don't produce anything. They make a lot of claims that they should be able to produce all sorts of things, but they never do.

enjoy your segfaults user, I hear theyre extremely productive :^)

Better to have crashy code than no code. But of course you're writing your replies in your browser made in haskell / lisp so I have no room to talk.

oh yeah, nobody ever built anything useful with Erlang amirite

suck on these monads you endofunctors

It's garbage. Even Ericsson gave up. The only uses it gets these days is at hipster webdev shops where they only have a tiny amount of code to write and performance doesn't matter because selling your info pays so well so they just write it in random languages for fun.

Erlang is massive right now.

lol on what, HN?

It's typical Holla Forums superiority. Obviously Holla Forums is superior to everybody else because the poster said so. Nevermind the fact that these posters are nothing more than LARPers.

All the usual places, HN, Reddit, /g/, Holla Forums, Coding Horror

sage

The community is worthless. The language is worthless.

...

...

Haskell is good for academic study, but to get peak performance you have to right really nasty code. Erlang is a lot more practical, and while I wouldn't say "huge" is certainly very useful for certain domains.

Just learn Scheme instead.

Look at yourselves and what you have become.

the irc is pretty active.

Is a mailing list still the best way for a tech community to exchange ideas? It seems to be that it would be so, as all other options are owned by some outside entity. IRC is fine, but it's ephemeral and no one wants to plow through logs to find their answers.

Yeah. Actually, several communities now consider mailinglists to be what saves them from having to deal with CS Grads as millennials can't figure out email. There's zero bullshit on many of them, I'd give examples but I don't want to leave a trail for the horde to follow.

...

It's the reality of tech today. As long as a community is unknown to the cancer it's safe.

If the cancer spreads there, we'll just use newsgroups more.

I 40% resent it for taking oxygen from better languages, like Mercury. I 20% hate lazy evaluation: it's a fucking gimmick; everything it gives you is worse than the non-lazy alternative. I'm 10% disgusted for popularity that came from a subverted "language of the year" project (first year's language: Haskell; second year's language: lol nevermind stick with Haskell people). I 30% despise the community--but, not because they're SJWs like in Rust, where it's possible to love the code but hate the coder, but because they value complexity and obscurity, so their code also suffers as a result. That's on average. When my hate for the language swells, I can fit in an extra 10% of contempt for the non-transportable 'features' of Haskell: as people learn Forth or Lisp they grow as programmers; as people learn Haskell they grow only as Haskell programmers. It's an attractive nuisance of a language.

Pretty much that. I actually wrote quite a bit of haskell back in the day, and I couldn't understand code I had written only 6 months prior! I'd also spend time making my code look like a mathematical masterpiece, and then get very annoyed when requirements changed and I had to ruin the beautiful code. While it's definitely worth learning, continued use of it is really just intellectual masturbation. There's snobbery involved too, because it is a complex language, and you start telling yourself "I'm a smart guy, and stupid people cannot get on my level", only to realize you were wasting time writing abstract fuckery just to cause a little side effect.

I gave it all up and just stuck with Racket (PLT Scheme when I switched) for the things I was using Haskell for. We need to do something about the Monad Epidemic, why didn't someone intervene sooner?

please fuck off back to reddit

Do you really understand what that means? Lazy evaluation simply means work is done only when necessary. You call this principle a gimmick?

The implementation of lazy evaluation can lead to an explosion of memory usage, as those thunks really start to add up. It's useful for toy programs, but when performance and memory concerns dictate, you often have to force strict evaluation.

Haskell's only used for toy programs, it should be fine.

Explosion on memory usage for memory that should be earmarked as cache? I would have thought that this cached data for lazy lists would be kept within a fixed sized buffer that's intended to be flushed when memory is needed and tuned for performance.

sage

Dude, monads are Haskell's most copied feature and they do make certain constructs in other languages much more palatable.

Allow me to quote myself:
Lazy evaluation is not "doing work when necessary" floating in a void. It is 'useful'. The usefulness is a lie.

Only if you're so stupid as to interpret 'Monad epidemic' as about monads rather than about Haskell itself that you think Some and Optional and such are people copying monads. It's like seeing a 'cons-cell epidemic' in Perl using an array as a stack. Some and Optional and such you can do with algebraic types, which (like everything good about Haskell) aren't unique to Haskell.

yesod is top tier

I was making a pun about the Opioid epidemic. I could have said Monoid, but I don't know if there are any Category Theorists here.

How can it be fixed sized when program evaluation is non-deterministic?

...

The creator of Yesod is an Israeli, he's a clever guy, but that's why he named it so.

>Yesod believes in the philosophy of making the compiler your (((ally))), not your enemy.

So don't use it. Don't use GNU anything because (((JEWS))). Throw out anything that might have come from the mind of a (((JEW))) because you know... (((JEWS))).

I really wish we had a higher quality tech board where we could have a proper discussion instead of it devolving into this.

>>>Holla Forums

sage negated

(You) collected

Holla Forumsyps are mentally ill

(You) collected

I'm actually a National Socialist and frequently browse Holla Forums, but if you think an idea is bad because a Jew created it, you're a very stupid person. Hell, there were even Jews in top ranking positions of the SS!

“higher quality” sites end up like the progrider successors - bikeshed city if they talk about tech shit at all

it can’t be helped

nevermind 😂😂😂

There are so many low IQ posters here (like you), that I seriously question why I bother coming here.

you gonna cry, snowflake?

Looks like you're the one crying, gnu-male. (three posts up from this).

🤣👌

Because you fit in so well

I want to cleanse the board of idiocy.

That's not going to happen without a banhammer.

says the macfag.

(checked: 4 for death)
THE SOLUTION TO THIS IS HEAVIER-HANDED MODERATION
WHEN I HAVE NO REASON TO COME HERE (BECAUSE THERE IS NOTHING HERE)
I WILL BE AS WITHOUT TRIGGERS

You can’t save that sort of stupid from itself

BEHEAD THOSE WHO INSULT FAGIOLI

Haskell is one of those languages where some problems can be solved with 1 line and for other problems it's terrible and people give up trying to use it. If you're doing Project Euler type problems or you're writing an interpreter, Haskell makes things very easy.

Functional languages are all like that. You can make small, elegant solutions that with one requirement change have to be completely redesigned from scratch. It's why they're memes.

you've obviously never ever used one at any level of competency.

You're at a point where you've not yet realized what I've already learned.

...

What you refer to is called spaghetti code.

en.wikipedia.org/wiki/Spaghetti_code

No, it's totally different.
Think of it this way - if you hand a mathfag a math problem involving trilateration they will try to solve it with a system of equations as the intersection of spheres as it's mathy and elegant. If you then tell them that there could actually be a small amount of error on each measurement it wrecks their shit and they have to throw out the whole solution and start over with one based in statistics, and they will bitch and moan about this as they seem to hate statistics.
The same kind of thing happens with functional vs. imperative where the elegant functional solution is the least malleable and any small change to the requirements will shatter it. The functional language community still can't see this, several decades after everyone else realized it and moved on.

Statistics isn't mathematics. You can't tell me that the process of statistical is mathematics.

I played around with it a bit intermittently for a while, and learned quite a few things in the process. It's definitely an interesting language, as it shows you what programming can be outside of the ALGOL-like realm in a drastic way.
But in the end, I have no use for it, and I'm too much of a brainlet to understand the concepts of monoid and monad tbh so I gave up.
If I would spend time with an atypical language in the future, it would be Lisp, as you can explore many different paradigms with all its dialects, while they also share some kind of essence I didn't quite get yet (manipulation of code as it runs through macros and stuff like this ?)
I would also have more practical uses for it, as I use Emacs, many Scheme dialects are embeddable in C/C++ programs, and Clojure, LFE and the likes open up a lot of possibilities too. Not to mention, Lisps generally don't require a 1GB runtime.
Anyway, in short it's worthwhile to spend a little time with Haskell, but then it ultimately depends of what you want to do once you got hold of the basics.

Not long ago it was like: "We have enough memory now, so time to stop using data as mutable objects."

Today it is like: "i am a religious idiot with dumb non-arguments just trying to dismantle the whole idea of functional/object-oriented (pick your side) programming."

Haskell is fine as a language, but it's not perfect. Consider your own priorities and decide on what you compromise. For example I agree with , but unless you want to make ASCII art from your code, it is a subjective matter.

The best part of Haskell is monads in your endofunctors.

It is, but there's a lot of snootyness about it. Meanwhile you'll find newton-raphson everywhere and calculus almost nowhere.

Haskell is really a two separate languages:
1. simple syntax you use to describe how your code should operate,
2. GIANT type definition syntax you use to setup constraints for the compiler.

2 is absurdly complex if you go deep. To understand it you'll soon be reading obscure ghc documentation, theoretical math papers and books about category theory. Not fun.