top | item 23997667

The Haskell Elephant in the Room

420 points| tenslisi | 5 years ago |stephendiehl.com

329 comments

order
[+] anaphor|5 years ago|reply
There are also a lot of traditional finance companies using Haskell[1]. And, historically some of the people who created the language itself and have worked on GHC (and other compilers), or contributed heavily to the ecosystem have worked for traditional banks[2].

I don't mention them to encourage people to attack these people, but it comes off as a bit selective to focus on the people using your language for cryptocurrency when it's also used heavily by traditional fintech companies, as well as defense contractors, and even for large retail chains (Target uses it for data analysis). Facebook also uses it for their spam detection system. Why are all of these uses fine and cryptocurrency is not? And if they also aren't fine, then how should we solve this problem? Start non-profits/charities that specifically use Haskell, and somehow make those the majority of the available jobs that use it? That seems pretty infeasible unless you want to solve the broader problem of these jobs existing in the first place.

[1] https://www.reddit.com/r/haskell/comments/6p2x0p/list_of_com... [2] https://en.wikipedia.org/wiki/Lennart_Augustsson, https://www.linkedin.com/in/ekmett/, https://stackoverflow.com/users/83805/don-stewart

[+] pushcx|5 years ago|reply
The "What is happening?" and "How is it happening?" sections of the article spend 900 words differentiating legal financial services from cryptocurrency scams.
[+] moomin|5 years ago|reply
I mean, you ask a lot of questions, but the first one is answered by the article and the others aren't really that important given the answer to the first.
[+] msla|5 years ago|reply
The only solution to what the article is ranting about is to grow the ecosystem. Move it beyond all kinds of banking. Move it beyond all kinds of finance. Move it beyond all kinds of any specific industry or endeavor. Otherwise, we'll continue to have people ranting about cars because people drive to and from some kinds of jobs the article writers think are bad.
[+] Gene_Parmesan|5 years ago|reply
My rough understanding is that the focus is not on who is using the language, but rather who is funding the language, which of course is a huge distinction.
[+] goatinaboat|5 years ago|reply
There are also a lot of traditional finance companies using Haskell[1]

This list is misleading. Sure, there are probably a few people at any of these companies dabbling with Haskell. But the only major financial company where it is mainstream is StanChart.

Also, FTA, Isle of Man, not Mann. How seriously can we take a rant about a place that doesn’t even know how to spell it (source: am in Wales, that Isle is just off our coast).

Fun fact: when Scots say “och aye the noo”, noo is the Manx word for “saint”. English people think noo is “news”. It gives a totally different meaning.

[+] dingdingdang|5 years ago|reply
It may well be "pretty infeasible" in the short run but having a morally* solid background for technological development is paramount for it's long-term well-being.

Otherwise the foundations will rot while the establishment thrive and the creative driving forces will find new "cleaner" playgrounds within which to express themselves.

*not talking about absolutist "this must have equal outcome for everyone" style morals but rather the harder kind that deals with the long term societal impact of a given thing. And in this context I totally believe the discussion brought up by Stephen Diehl is exceptionally important!

[+] teruakohatu|5 years ago|reply
What iare the killer haskell fintech libraries?
[+] tbenst|5 years ago|reply
I have great respect for Stephen Diehl and love his writing. But I must respectfully disagree. I think it’s fantastic that Haskell is seeing more paying jobs and corporate sponsored development thanks to crypto, and indeed Haskell can help reduce fraud in cryptocurrency, like what happened with the Ethereum’s DAO.

The comparisons of crypto that he makes to frontier banks are interesting but IMHO profoundly misguided. Crypto is not a fad; it is here to stay (or at least for some currencies!). He may disagree but it’s hard to imagine bitcoin disappearing in the next decade.

I see the challenge more about what excites the current, established Haskell community (linear types! Freer monads!) vs the corporate community, who want maintainable and forward compatible code. Crypto companies could conceivably resist the traditionally fast pace of GHC development. Indeed, a lot of money rides on there being no exploitable bugs.

For all my respect of Stephen and his tremendous technical expertise, I’m disappointed to see this argument being leveled as an armchair economist condemning his peer’s work on moral grounds. I think a different, equally rational person could look at crypto and see a future in it, and I don’t think we should cast aside people for having different future expectations.

Disclosure: I am an investor in Kadena, a blockchain implemented in Haskell

[+] ordinaryradical|5 years ago|reply
> The comparisons of crypto that he makes to frontier banks are interesting but IMHO profoundly misguided. Crypto is not a fad; it is here to stay

By comparing cryptocurrencies to wildcat banks, he was not making a statement about cryptocurrency's longevity but about its utility.

Money laundering and child pornography are not fads, and for those two reasons alone there will probably always be value in non-fiat currencies that preserve the user's anonymity. That does not make cryptocurrency something any community or individual should want a long-term association with.

[+] st1ck|5 years ago|reply
Maybe I'm a bit silly about this, but can't linear or affine types be actually useful for blockchain? To represent something which can be used (spent) only once?
[+] TeeWEE|5 years ago|reply
I'm not disagreeing with you. But a funny note:

You, as an investor are logically positive about this. Cause you want more poeple on board.

Whether cryptos are a fad or not is based on believe. If we believe cryptos are worthless their value will drop. Same for real currencies. However stable countries have monetary systems to fakely keep the value stable using financial instruments. The question is: is that a good thing?

[+] mcguire|5 years ago|reply

[deleted]

[+] bondarchuk|5 years ago|reply
Very much a generic anti-cryptocurrency rant, and very little haskell-specific clarifications. I understand not wanting to name specific projects (Cardano comes to mind; "Cardano is a blockchain platform built on the groundbreaking Ouroboros proof-of-stake consensus protocol, and developed using the Haskell programming language: a functional programming language that enables Cardano to pursue evidence-based development, for unparalleled security and stability."), however it would be interesting to have some examples of haskell developments that are fueled specifically by cryptocurrency applications. FTA: "the economic machinery that shapes everything we do and informs the problems we chose to spend our cycles on"; what are these specific problems?
[+] danpalmer|5 years ago|reply
> very little haskell-specific clarifications

This is about Haskell-the-ecosystem, not Haskell-the-technology. In that way I think it's a valuable contribution.

Stephen is a well known and respected part of the Haskell ecosystem, and has written many popular blog posts about the language and ecosystem.

[+] drcode|5 years ago|reply
It doesn't work to talk about an "elephant in the room" and then not name names. The whole point of the idiom is that you're criticizing other people for not concretely naming things.
[+] seagreen|5 years ago|reply
> however it would be interesting to have some examples of haskell developments that are fueled specifically by cryptocurrency applications

An article saying "this sector of our community is bad and scamming retail investors" is already burning MAD BRIDGES and putting an enormous target on your back.

"Bob Smith and Joe Brown, specifically, are scamming retail investors" is going even a little beyond that. It's just not necessary.

EDIT: For the writer of the article, that is. We in the peanut gallery obviously want all the details, which is why a little detective work is often required in these cases.

[+] the_af|5 years ago|reply
> very little haskell-specific clarifications

The author mentions at least three Haskell-related companies, such as FP Complete, and says he wants to avoid naming specific people for the time being.

[+] analyte123|5 years ago|reply
This is an article about a giant pot of questionably earned money buying influence in a software ecosystem that he's been a big part of. But this is hardly the first time for this, in other cases the pot of questionably earned money came from selling people's data for ads or from Windows licenses.

The question in all of these cases is what specific bad influences the money can have on the software ecosystem and how community standards and governance can mitigate them. I don't really see a lot of answers in this article besides ill-defined ethical compromise of developers. I skimmed the book he mentioned (The Politics of Bitcoin: Software as Right-Wing Extremism) which sounds interesting but it doesn't really make its own case very well: half of the "extremist" citations are from anonymous online commenters and you can't go 2 paragraphs without straight up name-calling and ham-fisted guilt by association.

[+] raphlinus|5 years ago|reply
I've been concerned about this for Rust too, as a lot of the published jobs and high profile projects (including Libra) are in the cryptocurrency sector. For example, one of the most promising rival GUI toolkits, iced, is being sponsored by Cryptowatch. Fortunately, the growth of other sectors is robust enough that if all cryptocurrency were to fall into the ocean, Rust would be impacted but not massively so.
[+] c3534l|5 years ago|reply
Cryptocurrency enables people to make anonymous monetary transactions. Also, so does cash. Drug dealers and criminals still very much prefer cash. Is it wrong to work with certain traditional finance companies because of their association with cash? Should we be worried about users associating your favorite language with the seedy world of cash transactions which subvert the traditional role and spying capacity of large financial institutions? This is the first I've ever heard anyone suggest that Haskell is associated with criminality in any way. Its associated with academics, and nerds, and maybe even hobby programmers. But if I bring up Haskell among a group of people, criminal enterprises is not going to be in the 100 top-associated things with that language. There is no elephant, the connection is strenuous, and if such an elephant existed, it would not be worthy of serious consideration.
[+] smcl|5 years ago|reply
Hold on. The idea that a means of exchange can be used to purchase seedy or illegal goods is not the problem the author has with cryptocurrencies. The issue is VERY clearly stated - there's a loosely-regulated industry riddled with companies that are pushing essentially scam investments. The author is concerned that these companies are beginning to fund enough Haskell development that it's worth questioning whether they want to be associated with such an industry.

I think this is totally valid to question. To brush it off entirely as a non-issue, unworthy of even a moment's thought, is extremely peculiar.

[+] spopejoy|5 years ago|reply
It's worth noting that the author's company is in the private blockchain field, complete with a smart contract language under their belt, in Haskell.

Indeed, it's not the first time that a private blockchain partisan has attempted to tar all of "public" blockchain/crypto as a lawless amoral cesspool. R3 made similar claims in years past. In truth, there's been equal or more FUD thrown at private by public zealots too. But it's not confidence-inspiring to see this kind of tribalism, and it speaks to a conflict of interest (at least in R3's case, who were signalling to governments that "private is safer").

The broad brush is FUD. There are any number of crypto efforts that are not fraudulent. Grin and zcash come to mind. Ethereum itself is hardly a criminal effort. The claim that this technology has not advanced the field is simply laughable. Sure, there's a lot of technobabble and money being raised around nothing, what else is new.

Anybody in the fintech industry pointing fingers at crypto need to take a look in the mirror. Crypto is a tiny speck compared to the modern financial system. That's not to excuse fraud and shady stuff, but companies servicing hedge funds, private equity and megabanks have zero moral ground from which to point fingers.

[+] lmm|5 years ago|reply
> Is it wrong to work with certain traditional finance companies because of their association with cash?

On the contrary, drug dealers and criminals stay away from traditional banks precisely because of this. Are you asking is it wrong to work in the foreign banknote management business, or the Western Union style irreversible wire transfer business, or the gift card trading business, or a business that wants to pay you cash in hand? I would say yes. At some point the criminal uses of a given tool are so overwhelmingly more popular than legitimate uses that the tool itself becomes tarred with criminality.

[+] DyslexicAtheist|5 years ago|reply
> worried about users associating your favorite language with the seedy world of cash transactions

when did we start calling cash transactions seedy? you own a pub, somebody pays in cash is automatically seedy? let's maybe look into offshore banking and US offshore jurisdictions such as New Mexico, Delaware and Nevada first (tax havens in our midst) before bringing out the guns on the little people who have a bad line of credit or are unable to pay by card?

[+] tamrix|5 years ago|reply
If you dive into the crypto world. There's a ton of cons that promise the world just to bump up the cost.

A quick way to make a buck was to look at the dates for crypto roadmap announcement, launch or white paper. Buy crypto a week before, then sell a day before the announcement before everyone else buys in.

This become so popular many coins where created just for this purpose. They would claim the world as the next bitcoin. Then after the announcement, seized to exist.

That brings us to this post. They're using Haskell as the 'new tech' to pump and dump coins.

There's so many scam coins out there. It really shows you how stupid the whole thing is.

[+] scoopertrooper|5 years ago|reply
> Is it wrong to work with certain traditional finance companies because of their association with cash?

Cash is much more difficult to move across international borders. It opens up exciting new opportunities for international crime and scammers. Further, cash is not a fungible as you suggest, criminal have to incur vast expense in order launder their money. Cash is also difficult to store in large quantities, which imposes a physical constraint on the amount that can be securely stashed by less sophisticated criminals.

Cryptocurrencies have lead to an explosion of pump and dump schemes, ponzi schemes, outright fraud (see: the recent twitter hack), and other financial schemes design to separate the gullible from their money.

Did these things exist prior to Cryptocurrencies? Yes, but cryptocurrencies democratised the ability to conduct them and made it more difficult for authorities to catch criminals.

Cryptocurrencies are an absolutely terrible idea: born from the minds of techno-utopians, fueled by anarcho capitalists, and weaponised by criminals.

[+] dpc_pw|5 years ago|reply
When your language is so tiny and unpopular that a growth of couple of small projects in an industry your don't like can overshadow the whole existing community...

If you create neutral open source tool like a programming language, you have to be OK with people using it to do stuff that you don't approve of.

And also, it's OK to have your own opinion about something and share it, but in complex matters you have to admit that there's a possibility that you're wrong. I think TSLA and a some other money losing overhyped companies are a FED-induced bubble, terrible investment etc. but so far it works for people who invest in them, so maybe I am wrong, and who am I to make decisions for other people anyway?

[+] the_af|5 years ago|reply
I knew Stephen Diehl rang a bell! He is the author of this very useful primer on tools & basics of the Haskell dev environment: "What I Wish I Knew When Learning Haskell"(http://dev.stephendiehl.com/hask/). I recommend it as a practical overview, though of course it doesn't replace actually learning Haskell.
[+] nine_k|5 years ago|reply
I think this is a rather strange way of thinking.

Fortran has been extensively used for nuclear weapons development. Let's stay away from Fortran!

C was and is widely used in weapons control systems. Let's stop using C!

Computers themselves were initially designed for artillery fire control, with an explicit intention of killing people. Let's not touch the technology with such a foul pedigree.

This can be continued ad nauseam, until the whole of the civilization is marked as indecent. Nearly every scientific discovery and techology achievement has been used, or attempted to be used, for some purpose one might find objectionable.

Instead we could realize that tools are outside morals. A knife could be used to cut bread or to cut throats, and it's not the knife's decision, but that of its user. The very same thing applies to everything, from nuclear fission to functional programming.

If you know what's the right, virtuous thing to do in the world, do not hesitate, go and do it. Use the most fitting tool for that job. Do not mind if that tool is used for whatever other, less noble purpose, it's not the tool's fault.

[+] alexmingoia|5 years ago|reply
”For a while it has been a public secret the Haskell ecosystem has become increasingly entangled with an unsavoury variety in the cryptocurrency sector as one of primary mechanisms for funding development.”

And those would be? I code in Haskell every day and I have no idea what he’s talking about.

[+] tiew9Vii|5 years ago|reply
If you search for Haskel jobs a large number seem to be block chain based.

When you look further a lot seem to be around smart contracts.

If you are interested in language design smart contracts are an interesting research area, you are basically getting paid well to design and research your own language.

What I fail to see is any viable product on the other end. There’s a few companies I can think off who have been recruiting Haskel developers for smart contracts but I can’t see a product, devs are just taking paid work in a language they like using and these companies are sucking up vc funding.

I refuse to speak to recruiters about a blockchain company heavily recruiting where I am as I am not smart enough for language design/research and more importantly I don’t see a viable product. I know a few other friends/colleagues refuse to speak to the same company due to being blockchain/not seeing a product. When I see things like this it also reaffirms my thoughts, VC backed companies heavily pushing through blockchain but it’s not a ready product https://smallcaps.com.au/asx-delays-launch-blockchain-settle...

[+] xg15|5 years ago|reply
I find it rather telling that almost none of the crypto advocates in this thread make any argument that cryptocurrencies are not shady. Instead, the counterarguments brought forward are essentially:

- "it's not the tool's fault that it's used for shady stuff"

- "so what, other people are scammers, too!"

- "there are so many warnings against cryptocurrencies, it's getting boring"

- "yes, crypto has scams, but maybe some of them are good scams!"

- "the author is biased!"

- "the author should give more details!"

That's not exactly a confidence-inspiring picture of the crypto community.

[+] praptak|5 years ago|reply
To someone not familiar with Haskell funding, can anybody explain the quote below?

"For a while it has been a public secret the Haskell ecosystem has become increasingly entangled with an unsavoury variety in the cryptocurrency sector as one of primary mechanisms for funding development."

I mean, what exactly is this "unsavoury variety in the cryptocurrency sector" and how is Haskell tied to it?

[+] dtseng123|5 years ago|reply
If you write Haskell and want a job, most of the positions available are with crypto related companies.
[+] berdario|5 years ago|reply
Also, since it might be unfamiliar to many, here's another article that puts forward a criticism of Bitcoin, many of which are for ethical issues:

https://blog.habets.se/2017/11/Why-bitcoin-is-terrible.html

It's about bitcoin, and not everything applies to other cryptocurrencies, but most of these arguments do apply.

[+] twat|5 years ago|reply
Most people can read "unsavoury variety in the cryptocurrency sector" as everything except bitcoin. A minority of people will read it as "all crypto", and if you're reading it as "only shitcoins" you're probably a little unsavoury yourself.
[+] akyu|5 years ago|reply
"Adjoint Treasury is a real-time payments and settlement platform for corporate treasury"

Stephen Diehl CTO and Founder at Adjoint

I feel our author may not be entirely impartial here...

[+] sanxiyn|5 years ago|reply
I am not sure what you are trying to imply.
[+] exdsq|5 years ago|reply
Weird, seeing this is Stephen Diehls company summary:

"Automate financial controls and processes in your corporate treasury with inter-company loans, virtual account management, powerful APIs and a distributed ledger made for financial audibility & compliance."

https://www.adjoint.io/

[+] pron|5 years ago|reply
I see this problem with formal methods, which are also increasingly used in the cryptocurrency world. I compare their use there to the claim that a tightrope is safe because it's anchored to towers assembled from cards made of the strongest titanium alloy.

Having said that, I doubt the impact of Haskell's reputation on cryptocurrency users, technical or otherwise. The myth that Haskell results in more correct programs might still be alive in portions of the Haskell community despite the failure to support the claim with any evidence, but few outside that community have ever heard of that myth, let alone believe it.

[+] tharne|5 years ago|reply
I think that fact that Haskell is being used in this way is a great thing for the language.

Criminals and criminal enterprises operate in a high pressure, high-stakes environment. If criminals are using a tool for something it typically means that tool works and works well. That's why those pictures you see in the news of terrorists in Afghanistan always show a bunch of guys in the back of Toyota pickup with a 50 cal mounted on it. Toyota makes a great vehicle that does the job. I'm sure Toyota is not thrilled about the association, but it speaks to the build quality of their vehicles.

[+] kerkeslager|5 years ago|reply
"Haskell elephant" is such a missed portmanteau opportunity.
[+] krick|5 years ago|reply
I don't really care for how naïve this description of "how economy works" is or isn't, but being upset that instead of Haskell being used virtually nowhere, it is finally used somewhere is pretty hilarious.
[+] rmrfrmrf|5 years ago|reply
At this point, the entire financial sector is decoupled from actual productivity, and to pass moral judgement of one highly exploitative industry over another solely due to one's ability to be regulated seems myopic, at best.