Live data from Hacker News

Our Use of Haskell and Elm

sanityinc.com

11–20 of 68 posts

Re: Our Use of Haskell and Elm

#11
post #7

Learning ELM really helped me learn Haskell which is something I'm continuing to do, but Elm helped a lot. So I can see why a Haskell shop would want to use Elm for their frontend work. This makes total sense. That said, my initial enthusiasm for using Elm, aside from a gateway-drug to Haskell, has waned. I just do not have enough confidence in adopting Elm for our internal project nor to recommend it to other compan…

Why does it matter when the next release is coming, as long as the project is actively maintained?

Elm doesn't need to be merely maintained, it needs to grow and evolve.

Re: Our Use of Haskell and Elm

#12

Learning ELM really helped me learn Haskell which is something I'm continuing to do, but Elm helped a lot. So I can see why a Haskell shop would want to use Elm for their frontend work. This makes total sense. That said, my initial enthusiasm for using Elm, aside from a gateway-drug to Haskell, has waned. I just do not have enough confidence in adopting Elm for our internal project nor to recommend it to other compan…

> any advantages Elm might have had initially, is coming to parity with other solutions.

Absolutely. Elm filled a particular void in front-end development for a while, but much more mature, well-maintained, growing communities are now sprouting up that offer powerful statically-typed functional programming that transpiles to Javascript, all valid alternatives to Elm with far fewer risks. ReasonML probably being at the top of that list.

Re: Our Use of Haskell and Elm

#13

Learning ELM really helped me learn Haskell which is something I'm continuing to do, but Elm helped a lot. So I can see why a Haskell shop would want to use Elm for their frontend work. This makes total sense. That said, my initial enthusiasm for using Elm, aside from a gateway-drug to Haskell, has waned. I just do not have enough confidence in adopting Elm for our internal project nor to recommend it to other compan…

If you want something that's (really) easy to get started with, and yet won't artificially constrain you from using your functional programming tricks as you evolve, I recommend trying out Concur [Haskell version](https://github.com/ajnsit/concur) or [Purescript version](https://github.com/ajnsit/purescript-concur). I wrote an initial introduction which also compares it with elm - https://github.com/ajnsit/concur-documentation/blob/master/R....

Re: Our Use of Haskell and Elm

#14
post #7

Learning ELM really helped me learn Haskell which is something I'm continuing to do, but Elm helped a lot. So I can see why a Haskell shop would want to use Elm for their frontend work. This makes total sense. That said, my initial enthusiasm for using Elm, aside from a gateway-drug to Haskell, has waned. I just do not have enough confidence in adopting Elm for our internal project nor to recommend it to other compan…

Why does it matter when the next release is coming, as long as the project is actively maintained?

That's a valid point. In this case, two reasons:

1 - active development is relevant. Is it being updated once a year, once a month. Is it going to take 1 year, 2 or 3 years.

2 - Above is not a deal breaker along. But, the new release is going to break stuff. you need to have ability to plan around things, especially as the new release will have paradigm shift (from what I'm gathering). You don't want to write lines and lines of code, then needing to rewrite it all.

I think what makes it even more unreliable, is lack of any communications. I think part of the problem is, Evan (the creator) probably is still not sure what this future looks like. He is very articulate, but not seeing any blog post update makes a reasonable person assume that this new release has not been fully conceived. So, everyone knows there will be a break change. But who knows what will break, when it will be released, etc.

On top of that, this new update has become a gatekeeper for bunch of pull requests and bugs on the existing system that is not being touched.

The people who sit next to Evan the author of Elm in Action and the biggest users of Elm (Richard Feldman) has pushed back the release of his book by one year. Basically the remaining part of his book, is all the SPA stuff that the version of Elm is supposed deal with. From what I've seen, it seems like even he doesn't know what to expect [0]

Put everything I mentioned together, it makes it hard to recommend Elm for anything your company will be depending on, especially when there are other solutions out there. Why take the risk.

[0] https://www.manning.com/books/elm-in-action

Re: Our Use of Haskell and Elm

#15
post #7

Learning ELM really helped me learn Haskell which is something I'm continuing to do, but Elm helped a lot. So I can see why a Haskell shop would want to use Elm for their frontend work. This makes total sense. That said, my initial enthusiasm for using Elm, aside from a gateway-drug to Haskell, has waned. I just do not have enough confidence in adopting Elm for our internal project nor to recommend it to other compan…

Why does it matter when the next release is coming, as long as the project is actively maintained?

Because Elm is still a young language that hasn't found a solid footing that operates as a core philosophy, and usability issues and other concerns go unanswered or ignored for years at a time. When a language is very opinionated, and those opinions change, it creates a stability issue, and active releases and engagement with users help mitigate loss of confidence.

Re: Our Use of Haskell and Elm

#16

Learning ELM really helped me learn Haskell which is something I'm continuing to do, but Elm helped a lot. So I can see why a Haskell shop would want to use Elm for their frontend work. This makes total sense. That said, my initial enthusiasm for using Elm, aside from a gateway-drug to Haskell, has waned. I just do not have enough confidence in adopting Elm for our internal project nor to recommend it to other compan…

Why is the pace of releases an important metric for using a programming language? Focus on code quality, and maintenance simplicity. If anything, being able to use the same version for x years and having it be consistently better than any JS library/framework I used, means that the work done is of high quality. Maybe you should watch Evan's talks from various Elm conferences ( search on youtube, for example https://w…

The shiny is wearing off... But I agree, ideally, a tool isn't going to need a new version released every six weeks, if it is high quality and feature complete.

But expectations are completely upside down in the web development world, so that rather than things becoming mature and stable, they are seen as stale and abandoned.

Re: Our Use of Haskell and Elm

#17

They mention plentiful motivated job applications, how is the market from the perspective of a developer looking to focus on Haskell?

> They mention plentiful motivated job applications

I'd take anything from an advocacy article with a grain of salt.

> how is the market from the perspective of a developer looking to focus on Haskell?

Considering the only response you got points you to a subreddit, I'm guessing it isn't so great. At best, it is a niche market ( though that could be lucrative ).

I wouldn't put all my eggs in one basket. I'd make sure you have some expertise in Java, C#, C++, Python, etc ( don't forget SQL ) where there is a large established market that isn't going anywhere soon. But even more important, get experience in specific technologies ( databases , web servers, IDEs, version control, etc ).

Re: Our Use of Haskell and Elm

#18
I’m confused by the discussion of bringing new programmers on a team up to speed with these lesser-used languages; this blog is quite explicitly from a one-man dev shop.

Re: Our Use of Haskell and Elm

#20
post #19

Why are they not using ghcjs? Wouldn't that work nicely with their existing infrastucture and codebase?

GHCJS is a beast to bring in, and brings lots of complications with it. The build tools and environment around it is also not great, and most development tools that work for GHC break down for GHCJS.

That's not to say it can't be used, in fact a lot do quite successfully, but it is a BIG increase in complexity.

I'm more hopeful for approaches such as WebGHC[0] or perhaps more promising, Tweags Asterius[1] :)

[0] https://webghc.github.io/roadmap

[1] https://github.com/tweag/asterius

Post reply on HN