Live data from Hacker News

The Haskell Elephant in the Room

stephendiehl.com

171–180 of 341 posts

Re: The Haskell Elephant in the Room

#171
post #108

Earlier quoted context omitted.

I think you're misunderstanding the author here. He doesn't argue that people shouldn't use Haskell because it's used in crypto currencies, quite the opposite he seems to love Haskell and want people to use it. His worry is that being associated with crooks will make the Haskell community less attractive.

My point is exactly that: a technology itself can't be tainted by crooks using it. Have innumerable script kiddies, scammers, doorway site creators, etc, used PHP for doing bad things? Did / do they constitute a significant part of the user community? Yes. Has PHP been used to create wonderful and world-changing things, like Wikipedia? Does PHP have great, very nicely designed tools that help people develop good thin…

It is back online, mostly:

https://slatestarcodex.com/2014/09/30/i-can-tolerate-anythin...

Re: The Haskell Elephant in the Room

#172
post #60
post #53

Earlier quoted context omitted.

https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2231 is an example.

Key word here is Asterius. Cardano is funding Asterius, Haskell to WebAssembly compiler, Asterius is based on GHC, and changes convenient for Asterius are being merged to GHC.

This isn't really true - several members of the team have been contributing to GHC since before Cardano was a thing.

Re: The Haskell Elephant in the Room

#174
post #157

If you have ethical concerns with this, but still love FP, just come over to OCaml. You get 80-90% of what you love about Haskell, and there is an established industry in many sectors. Big players here like Ahrefs, Jane Street, and, of course, Messanger and Facebook.

If you have ethical concerns, adopt the language used by an SEO consultancy, a hedge fund, and Facebook? (i know Jane Street isn't actually a hedge fund, but how many people here know what a prop shop is?)

You're right. Let's all abandon our frivolous jobs, live in a communal and sing kumbayah around the 100% eco-friendly heat source, congratulate ourselves for abolishing the evils of capitalism, and stand in our bread lines.

Re: The Haskell Elephant in the Room

#175
As an outsider to both the Haskell and Crypto communities, I find it extremely hard to properly verify any of these claims. For example, I was convinced that Tweag was a highly reputable company. Would anyone here who is less invested in not burning any bridges be willing to name just one "obviously shady" crypto project using Haskell?

Re: The Haskell Elephant in the Room

#176
https://standardcrypto.wordpress.com/2020/07/30/whiny-progra...

"Well… then don’t buy bitcoin Stephen! Nobody is forcing you to hodl bitcoin. Unlike all those people in argentina and tin pot places where you can’t freely convert the currency, and it is jail time if you try.

I roll my emoji eyes…"

Re: The Haskell Elephant in the Room

#177

Earlier quoted context omitted.

That's not true... all turing complete type systems are unsound (where the type metalanguage itself is a turing complete language), but you can have a sound type system of a turing complete language, and in fact haskel itself has such a type system.

Haskell's type system is unsound. Here's an example, where we can prove that 1 + 1 = 1: {-# LANGUAGE GADTs, TypeFamilies #-} -- Peano arithmetic: these types represent '0' and '1+n' data Zero data Succ n -- We can define 1 as '1+0', 2 as '1+1', and so on type One = Succ Zero type Two = Succ One -- A closed type family is a function at the type level. -- This function implements addition of the above Peano numbers. ty…

Is this what people mean when they say, Haskell's type system is sound?

We know Haskell's type system includes bottom as an inhabitant of every type which enables us to shrug and hand-wave away proofs of termination. As long as one understands that consequence doesn't it pass Milner's definition?

I'm happy writing proofs in Lean or Agda but having to avoid or prove termination would be a pain in the rear end for most large programs. And in practice I still think of Haskell's type system as sound. I always thought of "unsound" as programs with terms that are logically inconsistent with respect to the theorems proposed by the types, eg: early version of TypeScript or Java. Put another way, that you could write a proposition in they type system that wasn't satisfied by the program (proof).

Re: The Haskell Elephant in the Room

#178
I would equate crypto currency more with trading collectables. If Haskell was financed with profits from trading magic the gathering cards, would it be different? Some people trading MTG cards might be unsavory, some might try to scam you, but that's the market, not the collectable itself.

Because this article, in my opinion, misidentified the scam, I just don't agree that crypto profit supporting Haskell is a problem. If there are unsavory actors in the community, that's also a different thing, and isn't the fault of crypto.

It seems this piece leaves no room between scammer and victim. It's certainly just an opinion that crypto is a scam, and it seems the author is projecting that opinion on individuals in the Haskell community, but it sounds like those individuals benefit the community more than harm it.

Re: The Haskell Elephant in the Room

#179
post #105

Earlier quoted context omitted.

I realize the article is very vaguely written, but I don't think the argument is "Haskell has been used for cryptocurrency and that taints it forever." I read it as "A significant portion of jobs and funding in the Haskell ecosystem come from cryptocurrency organizations, giving them a lot of influence over the future of the language and the community." It's about who controls development of the tool right now , not…

Can mathematics be developed for nefarious purposes? What kind of taint the current influence of the crypto-currency industry could leave on the technical side of the language? If these guys are toxic within the development community, then, well, we have to somehow handle it — but again, we've seen highly prolific and highly toxic OSS contributors who wielded very different, "more noble" values, in the past. The prob…

If you want to use Fortran today, the jobs are essentially all government contracting. If you want to use Haskell today, the jobs are essentially all cryptocurrency. If you don't want to get into government contracting (which is hard to get out of), or if you don't want to do cryptocurrency, you don't get to use Fortran or Haskell.

What happens if the bottom falls out of the cryptocurrency job market? Does Haskell become Scheme, a language used only for language research?

Re: The Haskell Elephant in the Room

#180
post #161
post #155

Earlier quoted context omitted.

Technology is not inherently morally oblivious. Some technology has only one purpose, and is used only for immoral acts. An example of this would be any device invented for torture. While those examples are uncommon, more technology is built expressly for evil acts, even if it has the capacity for good. If you are distributing plans and technology to make "dirty bombs" - devices intended to disperse lethal amounts of…

The same firearm can be user to assault an innocent person and to protect an innocent person (in the hands of said person or law enforcement / army). There are certain devices , like napalm bombs, that have a narrow and specific purpose of destruction. But the technologies used to make the bomb shells or the napalm are not specific, and have all kinds of peaceful and constructive uses. Equally, there can be bad, evil…

One of the few takeaways I remember from my engineering ethics class is one way to think about the ethical implications of a tool: if you have a situation, and you introduce a tool, how do the possible outcomes of the situation change?

For example, if you have two people arguing without weapons, the likely outcomes of the situation aren't strongly weighted towards one or both of the participants being maimed or killed --- it's difficult and requires commitment to really cause horrific damage if you're just hitting each other.

If you introduce a (supposedly value-neutral) tool, like a gun, into the situation, the outcomes become much more strongly weighted towards someone being maimed or killed.

Even though it's always a human using the tool, the tool itself can be seen as having an ethical character.

Post reply on HN