536 karma · joined May 11, 2014
We're searching for a full-time Haskell developer working on web- and mobile applications for hospital doctors and nurses. About 70% of our code is Haskell but we're also using TypeScript, Scala, C# and Objective-C (moving to Swift) for web- and native mobile clients. If you've got strong frontend skills (web or iOS development) and like functional programming you'd probably also be a perfect match for our team. Please note that unfortunately we can only hire German speakers at the moment because we have not entered the international market (yet). More information here: http://cpmed.de/jobs/ . Feel free to talk to me at thiemann@cp-med.com
- Currently Elm has a sad story addressing integration with "native" javascript libraries and Elm is too opinioated in some cases, e.g. you can only use either the built-in 'Elements' or virtual-dom Elements to render frontend. This makes it hard to build modular components (see https://groups.google.com/forum/#!topic/elm-discuss/65tiRM7S... for example)
- While the simple type system in Elm (e.g. no type classes, no monads, ...) makes beautiful error messages possible, it really limits the abstractions that I am used to coming from Haskell
- Elm/Elm-make does not generate modules that conform to a "standard" js module system - thus it will not integrate well with other js tools
- Elm syntax is lacking 'where' clauses, which results in constant reindentation of code
Don't get me wrong - I liked Elm a lot; but it just does not seem mature enough to use in production - but it looks like a great language to start learning FP.
[1]: http://cpmed.de/
Apart from that, I have written many production grade Haskell application, and I can not agree with you that Haskell is getting in the way. I admit that when learning Haskell I sometimes had that feeling too, but basically that was just me thinking about the problem too complicated or in a wrong perspective. Now that I am past that point Haskell is super fun to write, very productive and results in extremely maintainable code - it is just so easy to refactor anything you can imagine - and when it compiles again you are probably good to go!