23 ms·
The Haskell Elephant in the Room
- Kednicma 6y agoIt's not just a Haskell problem, but I think that Haskellers would rather care about stuff like cryptocurrency, which is obviously unctuous graft, rather than fix the other social problems in their community, like sexism or overly-strict versioning.
- hannofcart 6y agoWhat is it about Haskell that makes it a hot candidate for use in cryptocurrency applications? Can someone here shed some light? Read the article but it mostly seems to be a diatribe against crypto on philosophical grounds. I wish it were meatier on the technical reasons for this alleged relationship between Haskell and crypto industry.
- dtseng123 6y agoThere's no actual technical reason. People fell into this as typesafe = "code must safe & secure". Its also a difficult language to understand unless you've trained under it compared to others. There's an innate obfuscation as a result.
- BreakfastB0b 6y agoThere’s a deep connection between Types and Logical Proofs (Curry Howard Correspondence). Haskell has a rich type system that allows you to “prove” (i.e. typecheck) many properties of your program. This is valuable when getting right the first time is important such as smart contracts. I put prove in quotations because all type systems of Turing complete languages are unsound, but this doesn’t matter too much in practice. If you wanted to be really sure, you’d use a total language like Idris or Coq.
- bodhiandpysics1 6y agoThat'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.
- xkapastel 6y agoI think it's the possibility of nontermination that leads to unsoundness. You can construct a well-typed program that never produces a result, which means the fact that a program has a particular type does not mean you've proved a particular proposition.
- chriswarbo 6y agoHaskell'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. type family Add x y where Add Zero y = y Add (Succ x) y = Succ (Add x y) -- 'Equal a b' is a proof that types 'a' and 'b' are the same. -- It works by forcing the type variable 'x' in 'Refl' to unify with both. data Equal a b where Refl :: Equal x x -- The type checker will accept this proof that 1 + 1 = 2, giving: -- >[1 of 1] Compiling Main -- Ok, one module loaded. truePositive :: Equal (Add One One) Two truePositive = Refl -- The type checker will reject this proof that 1 + 1 = 1, giving: -- >[1 of 1] Compiling Main -- x.hs:24:16: error: -- • Couldn't match type ‘Zero’ with ‘Succ Zero’ -- Expected type: Equal (Add One One) One -- Actual type: Equal One One -- • In the expression: Refl -- In an equation for ‘trueNegative’: trueNegative = Refl -- | -- 24 | trueNegative = Refl -- | --trueNegative :: Equal (Add One One) One --trueNegative = Refl -- However, the type checker will accept this (unsound) proof -- that 1 + 1 = 1, giving: -- >[1 of 1] Compiling Main ( x.hs, interpreted ) -- Ok, one module loaded. falsePositive :: Equal (Add One One) One falsePositive = falsePositive The unsound proof works because our type 'Equal a b' doesn't only contain proofs that a = b (AKA 'Refl'); it also contains infinite loops, like 'falsePositive = falsePositive' (AKA "bottom"). We can use this to undermine any guarantee we try to enforce using Haskell's type system. In fact, we can make a generic version, which can be used to satisfy any type constraint: loop :: forall a. a loop = loop In theory, any time we actually try to use 'loop' our program will freeze; so we might think we're safe from any bad consequences; e.g. if we have 'launchTheMissiles :: PresidentialApproval -> IO ()' we can trick it with 'launchTheMissiles loop', but we're safe since that program contains an infinite loop, right? Wrong! Haskell is lazy, so it won't bother evaluating arguments which aren't needed. Even if we try forcing the value, we can't be sure that the compiler won't optimise it away! In practice this means that we can't rely on the mere existence of well-typed values as proof of their types; we can be sure that our data dependencies exist (i.e. those values which are forced as part of our computation, which can't be optimised away), but we still won't know that beforehand (i.e. the program may crash or freeze at any point before a particular expression, due to the presence of "bottom" somewhere).
- twat 6y agoHaskell always struck me as a language you'd want to use to feel superior to the people who code in JS and python, and crypto always struck me as a field you'd want to work in to feel superior to the people who work in industries that actually generate profits. Also, another possible reason is that many crypto people tend to confuse complexity with ingenuity. While the bitcoin whitepaper tries to make a complex topic as simple as possible, a great many crypto companies and people purposely use language that is needlessly convoluted and verbose. Perhaps they're doing it on purpose to seem smarter?
- tsss 6y agoDo you even know what "verbose" means? Haskell is obviously the exact opposite of verbose. In fact some more verbosity often makes it easier to understand.
- rjknight 6y agoIn context, the "language" GP was referring to was the (presumably English) language in crypto currency white papers which is "needlessly convoluted and verbose". This was being contrasted with the concise language of the original Bitcoin white paper. It's not about programming languages.
- twat 6y agoYea what this guy said ^
- 1tCKV3QfIo 6y agoJust say you don't want to learn more than the absolute minimum when it comes to programming language theory. No one will give you shit if you are honest about it.
- pyb 6y agoThis is touched upon in the text : "the Haskell community itself has simply become a tool to buy legitimacy and pump token values."
- twat 6y agoI was at a hackathon and this big shot legal person from NY was telling me about a hot crypto company and them using Haskell was like the first thing he told me. In fact, all he told me was they raised a bunch of money in an ICO and they use Haskell. And then he sat there waiting for me to be impressed
- sitkack 6y agoMiddle-out block exchange gets you 2x the fees and 1/4 the confirmation latency. Add in "and every dev gets dual monitors" and it would have been 1999.
- analyte123 6y agoEvery company that has the ability to do this as a recruiting tool will do it. We're using Elixir / we're using OCaml / we're using Clojure (we're using NLP / we're using ML). In every case there will be some "business" guy who understands just enough to try to impress some potential recruit. If you don't understand the domain and their actual usage of the tool or language enough to fall for this and not ask further questions, it's kind of a problem on your part.
- danpalmer 6y ago> What is it about Haskell that makes it a hot candidate for use in cryptocurrency applications? The community opinion is that Haskell is good for building robust and correctly behaving applications. There's some evidence that very strong type systems can help with this. Financial software is an area where people typically want deep correctness guarantees, another good example area being cryptography. Between these I think it's probably a good thing that crypto-currency applications and applications like exchanges are being built with "safe" technology like Haskell, rather than technologies that provide much less safety (many Ethereum hacks have boiled down to Solidity contracts being relatively loosely typed). This is however not an opinion on what crypto is doing to the Haskell ecosystem. I don't know about that.
- prionassembly 6y agoApparently there's "right wing" people in Haskell now. This is such a paper thin threat on unspecified persons who must know they're being targeted. Seriously, I don't think the readership of HN is in any disagreement about how new cryptocurrencies are "short long con" jobs, but the author teases that the influx of this money is toxic to the Haskell community because... right wing people?
- HelloNurse 6y agoAre you saying that cryptoscammers are "right wing", or that threatening cryptoscammers to get rid of them is "right wing"? In what sense dealing with "unsavory varieties" can be considered a partisan issue?
- chriswarbo 6y agoThe influx of money is toxic because Haskell's traditional reputation (roughly: difficult to learn, but fast, smart & correct) is being co-opted to add a veneer of legitimacy to crypto scams. I also wouldn't say the problem is to do with "right wing people". Nobody's born with a political affiliation: we learn and digest information and experience all through our lives, swinging towards and away from different values at different times. This can especially depend on our social circles, our information-bubbles, what benefits us personally, etc. The crypto-bubble tends to discourage regulation, accountability, etc. which makes it attractive to right-wing politics, whether as a libertarian free-for-all; or money-laundering for the gentry; or whatever. When this sector has an outsized influence on a particular community, the political gradient will be tilted accordingly, and bias people's random walks to the right. Haskell may be great at solving the technical problems with crypto, but that doesn't solve its ethical or philosophical problems. Yet, as the old saying goes, "It is difficult to get a man to understand something, when his salary depends on his not understanding it".
- bodhiandpysics1 6y agoThere is a certain class of computer programs that can best be described as a really big table. Basically, an input taken from a finite set, you get an output taken from a finite set. This type of program is really easy to write in Haskel because you can prove that both the conplete input set and output set are covered using the type system. In other words you can prove that you deal with every possible case (though you can't prove that you deal with every possible case correctly!!!), and that there is no ambiguity (one input has multiple correct outputs) A good example of such a program is an insurance contract (or a derivitive contract in a bank)
- CyberDildonics 6y agoThat's basically a DAG - directed acyclical graph. Data is transformed from inputs to outputs with no state or branching on the macro level of the transform. Lots of programs have parts that map to this very well. The cracks show when someone realizes this and thinks it is a silver bullet to build an architecture that ONLY does this. Then the parts that inevitably do need branching, state, and complex loops become a big problem. Combined with resource management (which can be thought of as mixing in branching and state) and the simplistic approach that seemed like a silver bullet turns into a nightmare once the realities of real software set in.
- pwm 6y agoHm, what's the issue with state and branching?
- CyberDildonics 6y agoIf you build a language that is based around doing everything with stateless data transformations but doesn't address state and branching, it will eventually be a problem, because the reality is that the vast majority of non trivial software needs to deal with plenty of state and branching, not to mention the state and branching that will go in to managing resources. There are a lot of domain specific tools that are used for specific tasks where the main software is taking care of architecture, high level decisions and resources. Shaders are one example of this. Trying to write non trivial software like this is problematic because the structure you are using is so disconnected from what the software needs to do.
- heavenlyblue 6y agoIt attracts the same kind of intellectuals who like the idea of cryptocurrency. It's like a double-whammy.
- praptak 6y agoTo 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 6y agoIf you write Haskell and want a job, most of the positions available are with crypto related companies.
- praptak 6y agoThis sheds some light on the topic - thanks. Still, the author states that Haskell's reputation is used to legitimize bad business. It seems to me that shady companies using the language internally is not enough to raise alarm about it. Is there some kind of (un-)official sponsorship from (supposedly) shady actors?
- b4ke 6y agoMaybe it’s about the metaphorical ed whom is neither an elephant nor responsible for crypto’s thirst....
- Barrin92 6y agoHaskell isn't that large of a language. I'm not confident if the heavy usage by shady crpyto companies is enough to ruin the image of a language but I think at the very least the advice to not depend on it financially to grow the community is a sound one.
- how_gauche 6y agoWorked at a Haskell crypto startup. Your analysis of cause and effect is wrong -- crypto people are attracted to Haskell because it has features that are excellent for the domain, not because they are interested in "copping shine" from it or whatever.
- duxup 6y agoSo Haskell may have a lot of ties to cryptocurrency and related things. That makes me wonder: If a language has a large group of what might be seen as unsavory groups, people, or just a lot of folks with a specific ideology / opinion(s). (let's just assume it is true for argument's sake here, I don't know enough / I'm not really saying it is true about Haskell) DOES that change how the language develops? Does it change, anything? Have we ever seen that happen before? Granted even if not I'm not dismissing the article, just wondering.
- raphlinus 6y agoTwo things come to mind as relevant to this query. First, the Red language (a variant of Rebol) tied itself to blockchain and created a token, though looking at their homepage now this seems less of a central focus. Second, the Urbit project (which incorporates the Nock and Hoon languages, among other things), was founded by a controversial neo-reactionary figure. The project seems to be moving forward without him, and does not seem to be promoting those ideologies, but still carries that association. In addition to that, the "business model" for Urbit also seems to be tied to cryptocurrency.
- jlehman 6y agoA significant aspect of Urbit is its use of the Ethereum blockchain (called UrbitID), but not to produce any form of cryptocurrency—it's used to produce a form of cryptographic asset that more closely resembles property, since ownership of that asset (called a ship) confers value in the form of an identity within a network. DNS is to ICANN as UrbitID is to Ethereum. The regulatory aspect of who's who is decentralized rather than centralized. Business models on Urbit don't really have to do with sale of ships though—they're finite and not meant for high-frequency trading. Business models that are emerging are more likely to involve providing services to users of the network, just as domain sales are a small fraction of the "business model" for the internet.
- alexmingoia 6y ago”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.
- burkaman 6y agoAnecdotally, almost every Haskell job posting I've ever seen is for a bank or some kind of cryptocurrency thing. I've never done a real analysis and I don't have any numbers to back that up, that's just what it feels like as someone who passively watches the Haskell job market.
- chrisseaton 6y agoThis is one of those articles that attempts to talk about some situation to make it more common knowledge, but is written in such an incredibly abstract way that all you can really take away from it is 'some unknown people are upset about some unknown issue'. I feel like this 'elephant in the room' article doesn't tell me what the elephant is, why it's in the room, or why people don't want it to be in the room.
- gwbas1c 6y agoJust look at the final section, quoted: > Painfully, some of the very founding contributors to Haskell itself are the ones deepest involved in this ring. > In this new era the Haskell community itself has simply become a tool to buy legitimacy and pump token values. The reputation of our community is now used to defraud the public and convince non-technical users of the soundness of an utterly unsound investment. > I have avoided names ... however core Haskell companies such as Well-Typed, Tweag and FP Complete have been deeply complicit in building up this crypto industry for years now. The article isn't easy to skim, and I think that's the point. The author wants to focus more on why cryptocurrency is a scam, and less on who's guilty.
- chrisseaton 6y ago
- bondarchuk 6y agoVery 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?
- sanxiyn 6y agoThere is also DAML: https://github.com/digital-asset/daml https://github.com/digital-asset/daml
- danpalmer 6y ago> 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.
- mark_l_watson 6y agoI agree. Cardano and Pact are fine projects. Pact (a not complete Turing language for blockchain) is also interesting Haskell code to read and to learn from.
- the_af 6y ago> 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.
- bondarchuk 6y ago
- cordite 6y agoWhoa, FP Complete is doing crypto? It never appeared to me like that. Is there a citation?
- sanxiyn 6y agoSure they do. It really is a public secret. See https://www.fpcomplete.com/blog/fp-complete-and-cardano-blockchain-audit-partnership/ https://www.fpcomplete.com/blog/fp-complete-and-cardano-bloc...
- kerkeslager 6y ago"Haskell elephant" is such a missed portmanteau opportunity.
- raphlinus 6y agoI'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.
- sanxiyn 6y agoRust's adoption in the cryptocurrency sector is massive indeed. Parity Technologies and OpenEthereum is the most well known, but both Stellar Development Foundation and Zcash Foundation (both are among top 30 cryptocurrencies) are rewriting their main node implementation in Rust. I'd say at this point Rust has more adoption than both Haskell (Cardano) and OCaml (Tezos).
- sanxiyn 6y agoIn addition to iced, I need to point out that Debian's Rust packaging is effectively funded by Web3 Foundation. Cryptocurrency money also funded RustCon Asia (held in Beijing).
- unicornmama 6y agoI suspect that’s because of the crypto boom. New tech is adopted by new startups, many (maybe even most) new startups are in the crypto space.
- 6y ago
- anaphor 6y agoThere 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_companies_that_use_haskell/ https://www.reddit.com/r/haskell/comments/6p2x0p/list_of_com... [2] https://en.wikipedia.org/wiki/Lennart_Augustsson https://en.wikipedia.org/wiki/Lennart_Augustsson, https://www.linkedin.com/in/ekmett/ https://www.linkedin.com/in/ekmett/, https://stackoverflow.com/users/83805/don-stewart https://stackoverflow.com/users/83805/don-stewart
- pushcx 6y agoThe "What is happening?" and "How is it happening?" sections of the article spend 900 words differentiating legal financial services from cryptocurrency scams.
- anaphor 6y agoI disagree with the idea that traditional legal financial services commit less fraud than cryptocurrency scams do. They just get away with it easier. > Normally these frauds are recognized for what they are quite quickly and the courts and regulatory bodies can clean up the mess and rectify the damages to those who have been misled That just comes off as total BS to me. How many regular people were awarded damages after the 2008 meltdown, which was due to massive fraud in the mortgage industry?
- 6y ago
- the_af 6y agoI 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/ http://dev.stephendiehl.com/hask/). I recommend it as a practical overview, though of course it doesn't replace actually learning Haskell.
- prionassembly 6y ago> "what economists call non-productive assets" That's not a technical term nor a "term of art" in economics. Google Scholar returns results from management and accounting journals, as well as some pseudo-economics ("heterodox") pamphlets.
- ogogmad 6y agoHow do you know what's "pseudo" and not "pseudo" in economics? Given that it isn't a science. I'm genuinely curious.
- Barrin92 6y agoEconomics is a science. You get an idea what's 'pseudo' or not by working in or familiarizing yourself with the field. Say, The New neoclassical synthesis is very much as standard as it gets, whereas Marxist or Austrian economics exist on the fringes. In general something is pseudo-scientific if it operates outside of the formalisms or tools of that particular discipline, especially if it pretends that it does not.
- neilwilson 6y ago"Modern mainstream economics is sure very rigorous — but if it’s rigorously wrong, who cares? Instead of making formal logical argumentation based on deductive-axiomatic models the message, we are better served by economists who more than anything else try to contribute to solving real problems. " https://larspsyll.wordpress.com/2020/07/28/why-economics-is-an-impossible-science/ https://larspsyll.wordpress.com/2020/07/28/why-economics-is-...
- Barrin92 6y agoI'm not sure what that critique has to do with the original question about the distinction between science and pseudo-science, but I'll respond anyway. The purpose of science is the generation of knowledge, it's to have a formal understanding of a system and essentially a language and methodologies to make inquiries. Economics as a science does solve real world problems, but it's not the dominant purpose of a science as such. It's the task of problem solvers to take scientific results and then turn those say, into actionable policies. Scientific work does not exist for the purpose of solving 'real problems' in the sense of being subjected to that goal. Scientists are not engineers. When Computer Scientists talk about Big-O complexity they often do so in a way that's not really applicable to real-world software development, but that isn't their job. That said economic theory actually does very much factor sucessfully into decision making. Be that macro-economic policy, central banking, the design of markets and incentives, and so on.
- weego 6y agoI feel like the only elephant in the room with Haskell is that Haskell people are obsessed with jumping in on any other FP language and trying to turn it into Haskell. Scala was/is awash with it, much to the detriment of the community.
- leshow 6y agoMentions FP Complete, who worked on cardano I think. So is the accusation that cardano is running a shady exchange and stealing from people? I don't follow the crypto space, but it seems like we might actually want to know which companies are being accused of being shady.
- sanxiyn 6y agoI don't think Cardano is running a shady exchange, but Cardano sure is traded in shady exchanges and people are losing money trading Cardano. I don't think that's a controversial statement.
- cinntaile 6y agoPeople are losing money trading a lot of things, including but not limited to stocks, commodities and cryptocurrencies such as Cardano. I don't really see the issue with that? I'm guessing it's the shady exchanges. There are several exchanges that have been around for a few years now, do you take issue with all of them or are you thinking of a specific one?
- rstarast 6y agoThe accusation is that the whole crypto space is shady. There is no value being created, instead investors are being defrauded. And part of the con game is pretending to have very intelligent people keep making progress building very complicated things. Haskell works great to give that impression, though Rust seems to work just fine these days, too.
- deleted 6y ago[deleted]
- X6S1x6Okd1st 6y agoI get why he doesn't like crypto currency stuff. Why is it so toxic if haskell is used for it? Is there a suggestion that those that participate in coin related projects should be persona non grata. Is there really no discussion about software as a dual use technology?
- ojnabieoot 6y agoThe issue the author is worried about is that the crypto companies are taking advantage of Haskell's public prestige to imply a level of robustness and rigor that doesn't actually exist: this incredibly incredibly shady company can't be that shady since they're using such fancy technology. > In this new era the Haskell community itself has simply become a tool to buy legitimacy and pump token values. The reputation of our community is now used to defraud the public and convince non-technical users of the soundness of an utterly unsound investment. So when people realize that 50% of crypto entrepreneurs are scammers and the other 50% are deluded, and the bubble pops, there is a serious concern that Haskell will be publicly understood as a "cryptocurrency" language and will suffer a reputational hit.
- akyu 6y ago"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 6y agoI am not sure what you are trying to imply.
- pron 6y agoI 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.
- jriddle567 6y agoPrinted money is also something based on perception and belief that it is worth something
- rmrfrmrf 6y agoAt 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.
- jcbrand 6y agoI found the description of the cryptocurrency-space as a religion well-written and interesting. Of course, comparisons such as that are relatively common and has been made many times for the free software movement as well for example. However, his criticisms of cryptocurrencies are quite off IMO. > However cryptocurrency companies do not produce anything, instead they offer synthetic financial products which are marketing to the generic public as investments MakerDAO is basically a decentralized lending facility (i.e. "banks") and Compound is a decentralized money market. These are actual financial products, they serve real purposes that can also be found in the legacy financial system. Cryptocurrency engineers are building an alternative, decentralized financial system that cuts out middle men and allows anyone access to financial services (such as accepting money from anywhere in the world, or being able to lend out your capital) that were previously only available to select people. In one month, July 2020, the Federal Reserve printed more money than the first 200 years of the existence of the USA. There are serious problems with the legacy financial system, and it's good that people are building systems in parallel.
- fwip 6y agoMakerDAO created DAI, which is yet-another-stable-coin pegged to 1 USD. If the Federal Reserve can't be trusted with USD, surely DAI isn't reliable either.
- wmf 6y agoOut of a thousand cryptocurrencies you found two that are not harmful; congratulations. It's virtually impossible for people to discover the good stuff without being radicalized by the bad stuff.
- tuesdayrain 6y agoThere are thousands of scam penny stocks as well. The number of programming languages tainted after being used by them is 0.
- scottlocklin 6y agoIt's funny, I remember looking at Quorum's anonymity layer Constellation and thinking to myself how odd it was they wrote it in Haskell; generally a sign there are no adults in the room when coming from a JPMC tier company where actual money will be piped through it. It turned out they had to rewrite it in Java to get it to function reliably. I have no opinion on Cardano,but obviously something from the ML family is useful if you want to build smart contracts.
- krick 6y agoI 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.
- chriswarbo 6y agoHaskell's unofficial motto is "avoid 'success at all costs'", which is referenced near the end of the article. Piggybacking on crypto fraud would be a cost that's worth avoiding.
- Vosporos 6y agoVery well-put, thank you.
- nine_k 6y agoI 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.
- ajuc 6y agoIBM helped with Holocaust. It also invented PC.
- frank2 6y agoIf you're trying to say that IBM invented the home computer or the personal computer, you are off by about 6 years. (Home computers became available around 1975; home computers that didn't not need any assembly by the buyer became available in 1976 or 1977; the IBM PC became available in 1981.) If you're trying to say that IBM was the first to officially name a personal computer "PC", I'll give you that one.
- nine_k 6y agoIt did create a personal computer which was (1) easy to clone and (2) easy to extend with ISA cards. This openness made it a huge success, leading to an explosion of PC-compatible machines. Most other makers, from Apple to Amiga, vigorously protected their small private markets where they dominated. The original Macintosh has explicitly removed all the expansion capabilities that e.g. Apple II had.
- crb002 6y agoDoes Haskell have a legible GC free subset that is an alternative to Rust? If not, that is the elephant.
- gmfawcett 6y agoI'm not sure you understand what "elephant in the room" means? The fact that Haskell has a GC is not an uncomfortable truth that everyone avoids discussing.
- dimitrios1 6y agoIf 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.
- gmfawcett 6y agoTezos uses Ocaml; doesn't the same argument apply? (I don't agree with the argument, personally, and I'm a big fan of Ocaml... I just don't see how it deserves an "ethical concern" exception here.)
- wmf 6y agoThe question would be what fraction of the OCaml community is paid by Tezos. If it's over half you may have a problem.
- gmfawcett 6y agoI would agree. :) Is that the case with Haskell? The OP only says that "some of the very founding contributors to Haskell itself" are deeply involved in this.
- dimitrios1 6y agoAnd the answer is, no where near half, maybe close to a couple percentage points, if that.
- dimitrios1 6y agoI am ignorant of the primary users of Tezos, but I imagine given it's low value relative to other coins, it isn't the prime target for black market deals, money launderers, and other criminals. I love Tezos, personally, and think it's one of the more technically superior blockchains, and can see it having a better chance than other stable coins of having broad applicability to more than one or two industries.
- twic 6y ago
- fsckboy 6y agoso many people are fond of saying "porn launched all these different technologies" (I say it that way because I am not fond of saying it) that I think this post would better be summed up as "crypto is the new porn" meaning, it more than doesn't matter if a technology finds a unsavory butlucrative market, precisely that lucre is what funds early stage development of the technology to the point where it can grow into commodity markets. (and this is more "the elephant in the Haskell room" than any type of Haskell elephant)
- throwaway29102 6y agoWTAF does this have to do with Haskell? Please consider a retitle to "Haskell Developer Does Not Like Cryptocurrency."
- deleted 6y ago[deleted]
- kreetx 6y agoAlthough I think this article is informative about pointing out the crypto connection (there sure are many well known haskell devs related to crypto, to Cardano specifically), but I think it's way too negative. There are scams in cryptocurrencies, sure, but do some of them have real value? I think they do. But perhaps somebody knows the answer to these questions instead: - is Cardano itself a scam? (= are the people related immoral?) - are there more cryptocurrencies developed in haskell and are these scams? Other than that, I don't really see the influence on the ecosystem - what are some concrete examples here?
- rstarast 6y agoYou made me look up the IOHK (Cardano developers) team page again, it's hilarious: https://iohk.io/en/team/ https://iohk.io/en/team/
- cies 6y agoI dont share the concern. I remember that the Haskell project took a lot MS money in research grants, and this was discussed as "potentially damaging to the project". Crypto currency is no different for me from other financial products: they have the potential to be very dangerous for the users of such services. Now often this is because of a lack of information (ponzi schemes, sub-prime mortgage packages), but with crypto all the rules of the game are opensource :)
- dpc_pw 6y agoWhen 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?
- rimjongun 6y agoLet me take a crack at this. “ 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” So you decide to open your argument with an insult to the community... Not a great showing. “ 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.” So I have to be okay with crime and scams? I can’t decide to call attention to it and recommend that people don’t let the bad influence guide the direction of the whole language? “ I am wrong, and who am I to make decisions for other people anyway?” Good thing this article didn’t try to do that.
- dpc_pw 6y ago> So you decide to open your argument... Please don't expect anything too serious from me. :D > I can’t decide to call attention to it and recommend that people don’t let the bad influence guide the direction of the whole language? I can't see how even Adolf Hitler and Joseph Stalin teamed up and backed by a lot of money, could break ... let's say... C++ if they got on the design committee. Are they going to make the type system more totalitarian-state friendly? Is memory safety features better for building tools of state oppression? Are they going to introduce new features and libraries that make it more useful as a tool of industrial-level genocide? > “ I am wrong, and who am I to make decisions for other people anyway?” > Good thing this article didn’t try to do that. What did it try to do then? This whole article can be TL;DR with: Some people found Haskell useful to write their software and they support Haskell development now and I don't like what that software is for, so let's do something about it. Why? I think there's a lot of people in Open Source community that can't separate technical and free speech (and use) aspects of their work from their moral beliefs and keep conflating the two, trying to use their beloved OS projects as a tool in yet another moral crusade of their choosing. PS. Come to think of it, maybe Haskell compilers should change the license to some custom non-Open-Source license that says: "only programs that are technically and morally pure can be compiled". ;)
- papmarcin 6y agoHaskell developer community should support the right projects https://www.reuters.com/article/us-global-carbontrading-report/value-of-global-co2-markets-hit-record-144-billion-euros-in-2018-report-idUSKCN1PA27H https://www.reuters.com/article/us-global-carbontrading-repo...
- apatheticnpc 6y agoIdk I think the haskell elephant in the room is the poor beginner and intermediate resources,poor tooling,lack of libraries and poor documentation but maybe that's just me people totally don't want to use haskell because it's involved in some cryptocurrency scams
- xg15 6y agoI 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.
- everfree 6y agoTo be fair, many of those counterarguments would be seen as valid if we were discussing, say, private messengers instead of cryptocurrency: * It's not Signal Messenger's fault that it's used for shady stuff. * There are so many warnings against unbreakable strong encryption, it's getting boring. * Many people are biased against strong encryption In the end, like private messaging, cryptocurrency is just a tool that can be used for good or evil. I don't think that the general concept needs to be "defended as not being shady" any more than any other technology that enables scams, e.g. phones, youtube[1], the internet. [1] https://www.theverge.com/2020/7/23/21335554/steve-wozniak-youtube-lawsuit-bitcoin-scam-cryptocurrency-apple https://www.theverge.com/2020/7/23/21335554/steve-wozniak-yo...
- olodus 6y agoI don't really understand what you think it is telling of. I am perfectly fine with expressing that I agree with the article - a lot of the crypto currencies out on the market today are very close to or actual scams. At the same time I very much think that the idea/technology of crypto currencies has potential. I also think that language like Haskell, that prides itself in correctness and bug-free code, fits perfectly with developing that idea. I would say that is one of the large problems even more established cryptos has - they might have a bug. I neither really see the reason why the Haskell community should be scared of having crypto people among them. What is the worst thing they could really do with the language? Fill up youtube with a lot of haskell+crypto speeches? Add crypto - related lib and code to the language? Is that really a bad thing?
- 6y ago
- tharne 6y agoI 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.
- exdsq 6y agoWeird, 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/ https://www.adjoint.io/
- p0llard 6y agoWhat are you getting at? There's a pretty big difference between corporate treasury software and cryptocurrency scams? Unless you're trying to argue that anything related to finance is a scam? I don't see what point you're trying to make, it seems such an irrelevant comment that it makes me question your motive and wonder if you're trying to smear Stephen.
- leotaku 6y agoI think they are trying to imply that, because some crypto projects are targeting similar markets, there might be some conflict of interest that motivated Diehl to create his post. To me this reads less like a smear and more just "this could be why he dislikes crypto that much".
- p0llard 6y agoThey aren't really targeting similar markets (at least from my perspective): pretty much any multinational firm can benefit from better corporate treasury management; cryptocurrencies are just one application of this technology, and Stephen is calling out specifically those which are attempting to defraud (or at least benefit from the the gross ignorance of) retail investors. Those seem like entirely different markets to me.
- granitepail 6y agoExactly. A cryptocurrency is driven by speculation. A treasury system helps manage flows of capital in and out of a business. Said company pays to use the proprietary system. Sure, they're both backed by a ledger, but Adjoint isn't turning profit by encouraging or even allowing people to speculate on the future value of their platform. They're selling a service.
- mlang23 6y agohttps://hackage.haskell.org/packages/top https://hackage.haskell.org/packages/top
- tbenst 6y agoI 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 6y ago> 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.
- owl57 6y ago> Money laundering You mean the trade-off between global surveillance and easier life for some sorts of businesses. Is it immediately obvious which of these is more worth supporting? > and child pornography Oh yeah, think of the children. Never gets old.
- ogre_magi 6y agoHaskelephant
- a_humean 6y agoPot calling kettle black...
- leotaku 6y agoAs 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?
- tphyahoo2 6y agohttps://standardcrypto.wordpress.com/2020/07/30/whiny-programmer-whines-about-bitcoin/ 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…"
- mkatx 6y agoI 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.
- tlholaday 6y ago> The value of these assets is only determined by what other people are willing to pay for them. According to William Stanley Jevons, Léon Walras, and Carl Menger, the value of every asset is only determined by what other people are willing to pay for it. It seems a good match for cryptocurrencies.
- nutellaandgo 6y ago"However cryptocurrency does not provide any technical answers to the inefficiencies since its entire existence is purely predicated on the appeal as a speculative investment first and not on its efficacy to transmit value." Pure nonsense.
- gwbas1c 6y agoThis is one of the best "We're not thinking critically about cryptocurrency" articles I've read. What's more surprising is it didn't get flagged to death. Maybe because the title isn't attracting attention?
- centimeter 6y agoLazy and poorly-considered article. It conflates Bitcoiners with shitcoin grifters like Cardano. It's also beyond stupid to purity-police the uses of a programming language. There's no collective tradeoff we have to make here. It doesn't cost me anything as a Haskell dev if someone is using it in some scam somewhere.
- tome 6y agoThat's interesting. What's wrong with Cardano?
- josemaenzo 6y agonocoiner
- c3534l 6y agoCryptocurrency 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.
- dr-detroit 6y agoMoney laundering costs a ton of money crypto is increasing the profit margins of human traffickers by like 80%. Not that the rest of your argument isn't insane. You can't hand someone a million dollars in cash anonymously.
- smcl 6y agoHold 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.
- unityByFreedom 6y agoExactly. Nobody is saying "get your cash here!" while profiting off of speculators. Ok, maybe countries do but they also back the currency and foster growth. You get no such protection from crypto communities. Everything in the OP article is spot on and the gp argument is a strawman.
- andreavaccari 6y agoNo matter your position on this, please take a moment to watch the excellent response by Charles Hoskinson. https://youtu.be/dHo_EUyShOg https://youtu.be/dHo_EUyShOg
- tiew9Vii 6y agoIf 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-settlement-technology/ https://smallcaps.com.au/asx-delays-launch-blockchain-settle...
- dade 6y agoRebuttal by Founder of Cardano https://www.youtube.com/watch?v=dHo_EUyShOg https://www.youtube.com/watch?v=dHo_EUyShOg
- nathias 6y agoobnoxious grandstanding
- exdsq 6y agoA response from one companies CEO which Stephen called out: https://www.youtube.com/watch?v=dHo_EUyShOg https://www.youtube.com/watch?v=dHo_EUyShOg
- lucas_membrane 6y agoAn important aspect of life for many of us is the opportunity to be a moral agent. Being a successful moral agent as part of a profession in the world I know is not an easy goal to achieve. Diehl deserves kudos for posting this so that young people planning a career can be aware of some possible pitfalls and negative moral influences down the road when they include particular technological skill sets in their long-term road-maps. I'm generally not in a technological workplace as I once was, but my recollection (from circa 1990) is that the ACM and the software section of the IEEE each had codes of ethics for their members to consult when knotty problems of good vs evil arose. Do current versions of those codes contain anything that might assist a responsible professional addressing the issues that Diehl describes?