Serious question: there was a time, a few years back, when the Haskell-ish languages seemed poised (finally!) for a breakthrough. Some of that was due to an association between Haskell and cryptocurrency, but there was also a sense that people were *ready* for Haskell’s particular vision. (I’m thinking of, say, PureScript as an alternative to both JavaScript and Elm)

That seems to have fizzled. Have there been writeups as to why?

@marick I'll be curious what you find out about pure functional languages.

I'm making my second go at learning haskell. I did in Haskell last year. In preparation for doing it again this year, I'm dusting off the VSCode environment and doing a few small problems.

I successfully used monads to carry state through a calculation. It was really cool. And it took me a week off-and-on to wrap my head around it. If I'd been doing it for years and it was just another tool in the belt, it would be an awesome tool to have.

For me, the mental shift from Java in my day job to Haskell is huge, and takes work. I can see why people don't use functional languages without a strong reason. And I've never been at a company where management provided (or allowed) a strong reason.

@bwbeach What I learned about statically-typed functional languages I put in leanpub.com/outsidefp until I gave up. I was betting that Javascript -> Elm -> PureScript would be a plausible progression for people doing front ends. If it worked out, I’d have a book perfectly poised to serve those people.

I gave it up when I realized PureScript was going to stay a niche language and PureScripters were fine with that. So all the content is Elm (no monads). And Elm seems to have collapsed

@bwbeach Re: monads. Elm has all the usual classes (lists, Maybe, Either, etc.) Each of them has a `map` function and an `andThen` (equivalent to `bind` if I remember right). People get used to “container-like” datatypes having those functions, but they’re never told they’re dealing with functors and monads. As a recovering abstractionist, it still bugs me that the commonality isn’t made explicit, but does it really matter?

@bwbeach Yes, you can’t write a function that works with both `List` and `Either` arguments, but… how bad a thing is that, really?

(That said, I’m glad Swift has protocols that capture the ideas of functors, etc. It’s good that new languages are taking Haskell ideas and packaging them in less rigorous but more accessible ways.)

Follow

@marick I haven't looked at Swift yet. Maybe it's time.

@bwbeach I tend to start as a fan-boy about languages, then become hypercritical, and finally (I hope) settle down to a sensible attitude. Just to warn you I’m in the first stage re: Swift.

But if you’re a language geek, it’s an interesting example of adopting some of the newer ideas in language design and applying them to a language that needs to look not-too-unfamiliar.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.