[HN Gopher] Companies That Use Haskell in Production
___________________________________________________________________
Companies That Use Haskell in Production
Author : aroccoli
Score : 173 points
Date : 2022-05-03 11:47 UTC (11 hours ago)
(HTM) web link (serokell.io)
(TXT) w3m dump (serokell.io)
| 0xbadcafebee wrote:
| It's really weird that we all don't just use one language. Can
| you imagine if different contractors building houses in the same
| neighborhood all spoke 7 different languages?
|
| Sorry, the bathroom's gonna be later than we thought, we're
| having trouble finding a plumber who speaks Esperanto. And the
| deck's actually slanted because the framing team spoke a
| different language than the deck-building team so their
| interfaces weren't designed together. The roof is also porous now
| because the roofers' language didn't easily support water-
| tightness. Also, we need a crane to lift our toolbox since we
| need a duplicate tool for every language and now it weighs
| 5,000lbs.
| aranchelk wrote:
| > Can you imagine if different contractors building houses in
| the same neighborhood all spoke 7 different languages?
|
| I don't know about 7, but depending on where you live there
| certainly may be 3 or more.
|
| > It's really weird that we all don't just use one language.
|
| I'm so glad we don't. I love my preferred stack and I know
| there are others who'd never ever want to use it; someone would
| be very unhappy.
| infogulch wrote:
| But... builders _do_ speak different languages. Plumbing,
| electrical, framing, drywall, painting, flooring, finishing,
| foundation pouring, hvac, landscaping, ... these are all very
| different fields with people that specialize in a narrow
| subset. And sometimes they _do_ have miscommunications that
| screw things up because they don 't all understand what
| everyone else needs.
| xboxnolifes wrote:
| I think it's really weird that we use different languages when
| building a house. Sorry, the basements gonna take longer than
| we thought. There's wiring issues and we don't have anyone
| available who speaks electrical. And the bathroom's gonna be
| another 2 weeks since we need to call in someone who speaks
| plumbing. Not sure why there are so many different kinds of
| plumbing pipes, if they were all PVC i'd be able to do it
| myself.
| goto11 wrote:
| Programming languages are more like tools. It would be weird if
| a plumber and an architect needed exactly the same tools.
| brezelgoring wrote:
| Its more like "Our pipes will be _at least_ 2 weeks late,
| because we can't find a guy that knows how to use a MIG welding
| machine, and we won't fork for a TIG one".
|
| Programming Languages are known, not carried, they weigh
| nothing.
|
| Using a single language for everything would be terrible, like
| using a Chinese Army Survival Shovel-fork-axe-spoon-saw-pan-
| ruler-hoe-hammer to build a house, it'd do everything, and do
| everything terribly.
| kabdib wrote:
| Not all screwdrivers, drills, saws, or computer languages serve
| equally well for all purposes.
| [deleted]
| bcrosby95 wrote:
| Languages are more like tools or materials than spoken
| language.
|
| It's also literally impossible to pick just one - you would
| fail at the JavaScript vs C problem.
|
| But maybe if we always had this philosophy, we would all be
| coding everything in cobol.
| 0xbadcafebee wrote:
| > It's also literally impossible to pick just one - you would
| fail at the JavaScript vs C problem.
|
| We could just make one language that had the features of both
| javascript and C. We literally can invent anything we want.
| _A n y t h i n g_. We have to throw away all our preconcieved
| notions about what 's possible and just make the world the
| way we want it to be / a way that's better than we have now
| djur wrote:
| In the same sense we could invent a single appliance that
| performs all kitchen tasks, rather than having a separate
| refrigerator, food processor, stove, oven, etc.
| [deleted]
| amazd wrote:
| relevant: https://brython.info/ Brython is designed to
| replace Javascript as the scripting language for the Web.
| As such, it is a Python 3 implementation
| [deleted]
| __MatrixMan__ wrote:
| I don't think spoken language is the equivalent metaphor here.
| There's a grammar and toolchain for plumbing problems, and a
| different grammar and toolchain for framing problems. The fact
| that you can't use a nail where a machine screw is supposed to
| go is a language incompatibility.
| giraffe_lady wrote:
| Yeah and even then they have different goals, histories, and
| incompatibilities. Pipefitting and residential plumbing are
| completely different domains despite the abstract
| similarities.
|
| Our tools are relatively cheap to build and test compared to
| other fields, so we have a lot more of them.
| eckza wrote:
| It's really weird that we keep using construction metaphors
| when we're talking about software engineering.
| mistrial9 wrote:
| when working on a large code base, I found it productive to
| take a slow walk outdoors to some urban construction site,
| with all of the action that involves. Also I have done
| serious construction myself in the past. Construction terms,
| analogies and tooling names make a lot of sense to me when
| thinking about software systems some days.
| whateveracct wrote:
| I've only worked at (several) places not on that list, but I will
| say that despite everyone's snide remarks here about how nobody
| uses Haskell..I have been able to immediately get multiple
| Haskell interviews whenever I've wanted. Ping some recruiters &
| former coworkers on LinkedIn and it's done. Niche languages have
| their advantages. And despite "there only being dozens of us,"
| there's plenty of money in Haskell out there to make a good
| living (no passion paycuts). Gotta know Haskell first tho ;)
| jkeuhlen wrote:
| We have an entire team dedicated to training up new engineers
| at Mercury! No Haskell knowledge required.
| busterarm wrote:
| What about reforming existing engineers? Especially ones that
| have gone down the operations path for several years and want
| to get back to contributing with code?
|
| Edit: I was asking kind of flippantly, but actually upon
| reading your team and product seems quite interesting. Would
| you be up for a chat?
| tatoalo wrote:
| Would you welcome/help in relocating from Europe?
| alexmingoia wrote:
| While I'm just a small one-man shop, I use Haskell for
| https://sumi.news
|
| Anyone else using Haskell to run a SaaS?
| _query wrote:
| Yes, check out https://twitter.com/haskellpreneur He's doing 12
| startups in 12 months using Haskell. There's also
| https://twitter.com/tonialaribe building in public with Haskell
| :)
| kevingadd wrote:
| As mentioned on https://github.com/erkmos/haskell-companies, IMVU
| uses Haskell pretty extensively. Originally the server-side
| portion of the product was almost entirely PHP3 (with some bits
| of perl on the backend for things like Memcached) and then over
| time large portions were rewritten in Haskell (one service is/was
| Erlang, I think.) Part of the motivation for this was the
| incredible pain of the forced transition to newer PHP due to all
| the compatibility breaks.
| [deleted]
| JJMcJ wrote:
| Is there a book for Haskell comparable to Practical Common Lisp?
|
| Teaching the language while showing examples of using it for day
| to day tasks, like file management
| WorldMaker wrote:
| It's quite dated at this point (14 years since the first/only
| edition) but Real World Haskell was written to be such a book
| and a lot of it still mostly holds up despite being dated:
| http://book.realworldhaskell.org/
| tkdc926 wrote:
| Available as a book and also read online. It's pretty good.
| http://learnyouahaskell.com/
| weavie wrote:
| Possibly https://www.manning.com/books/haskell-in-depth
| cobaltoxide wrote:
| https://kittyhawk.aero/ used to use Haskell to develop their
| flight control software. The strong type system of Haskell is
| touted as ensuring that entire classes of bugs can't occur (like
| accidentally adding different kinds of quantities together or
| getting the units wrong).
| protomikron wrote:
| Why "used to", though? There current open positions seem to
| look for classic C, C++ and Python:
| https://jobs.lever.co/kittyhawk.aero?department=Heaviside&te...
| langitbiru wrote:
| Don't forget Co-Star.
|
| https://www.costarastrology.com/why-haskell
| weatherlite wrote:
| MaxGabriel wrote:
| Fwiw, we (mercury.com) use Haskell exclusively for our backend,
| and employ something like 75 engineers. Haskell isn't
| widespread for sure, but this list is by no means exhaustive.
| sodapopcan wrote:
| That's awesome! It's really nice working in more niche
| languages and awesome when companies can be successful with
| them.
| New_California wrote:
| The missing twelfth company. Good to hear from you! Now we're
| complete.
| zeckalpha wrote:
| These are case studies, but if you want a longer (but still
| incomplete) list, there is
| https://wiki.haskell.org/Haskell_in_industry
| _query wrote:
| Haskell is famous for it's quite an academic nature. But the
| ecosystem has drastically improved in recent years, so that that
| image is really outdated by now.
|
| E.g. with Haskell Language Server we have nice autocompletion.
| Recently dot-notation has been added, so you can now write
| `someValue.someField` as in other languages. And the
| documentation is improving as well.
|
| If you're doing web development, a good starting point is IHP
| (https://ihp.digitallyinduced.com/
| https://github.com/digitallyinduced/ihp). IHP is Haskell's
| version of Laravel/Rails/Django. It's really a superpower to have
| Haskell's type system combined with the rapid development
| approach of Rails :) (Disclaimer: I'm founder of the company that
| makes IHP)
| oconnore wrote:
| I think of Haskell along with other languages that allow for
| shipping small, single-file binaries with a garbage collected,
| high level language. The straightforward alternatives I'm aware
| of include Nim, OCaml, Crystal, and Go.
|
| Go is the most popular of this set, but to me seems like it
| barely qualifies as "high level". On Tiobe, the next most
| popular language from this set after Go is Haskell.
|
| I like Haskell just fine, but what I really care about is "a
| more high level GC'd language than Go that ships binaries".
| leonidasv wrote:
| Why do you think Go "barely qualifies as high level"?
| grumpyprole wrote:
| Security must be big selling point versus these other
| solutions?
| whateveracct wrote:
| Security in Haskell isn't especially better than any other
| general purpose language. You do have a lot more tools to
| help though. For instance, you can make your web app fail to
| compile if you accidentally try to serialize sensitive
| information to JSON or plaintext. GHC will tell you exactly
| where you almost had a data leak.
| grumpyprole wrote:
| I was asking about IHP specifically. Yes Haskell is just a
| tool and one could simply build PHP with it.
| bcrosby95 wrote:
| It's actually a bit harder than you're implying, because
| any request coming to the server could have sensitive
| information in it.
|
| But, yes, wrapping your data helps solve some of the
| problem in any language. For instance, in Java we hold
| passwords from requests with a Password class rather than
| with a String class, whose .toString will return "xx"
| rather than the actual password.
| pizza wrote:
| I'll play devil's advocate with the hope that it facilitates
| a response by someone who understands the topic far better
| than me: what is security?
| grumpyprole wrote:
| One example of security is not munging strings together and
| shipping it off to the database or some other "eval" with
| full privileges. A programming language with lightweight
| static types makes it easier to parse outside data into a
| typed representation, then transform/evaluate/compile as
| necessary. This is of course Haskell's bread and butter.
| dustingetz wrote:
| So, how do I get a sane Haskell editor environment on MacOS?
| _query wrote:
| Check out this video on how to use VSCode with IHP
| https://www.youtube.com/watch?v=_8_8XYO6rgY
| cosmic_quanta wrote:
| Your best bet is probably to use VSCode + Haskell plugin,
| version 2.0+ (which handles the installation of everything
| via GHCup, I believe), barring any macOS-specific problems I
| don't know about.
|
| That's the setup I use on Windows and Linux, and it's great
| schwartzworld wrote:
| IHP looks amazing! I think I'm going to have to give it a go
| for my next project. Is it being used in production anywhere
| besides your company?
| montmorency88 wrote:
| Hey, at Comhlan Ltd. we have a few projects in production
| built with IHP. The largest public facing one is a visitor
| booking system for an irish regional hospital group we've had
| out since January. Happy to answer any questions but short
| answer is GHC+nix+IHP has made for a really robust
| development/deployment experience. (Disclaimer: I'm founder
| of Comhlan and we are a IHP platinum partner as well).
| agumonkey wrote:
| This is worth a 2h talk :)
| chrsig wrote:
| Interesting, I hadn't heard it adopted a dot notation. Does
| this mean you can have different records with the same field
| names now?
| rowanG077 wrote:
| You can already have different records with the same field
| with the "DuplicateRecordsFields" extension: https://ghc.gitl
| ab.haskell.org/ghc/doc/users_guide/exts/dupl...
|
| What is meant here is that instead of writing `fieldName
| record` you can write `record.fieldName` mirroring imperative
| language.
| philjohn wrote:
| I work for one of the companies on the list, and touch Haskell
| every now and then on the job - maybe it's because I worked
| with quite a few functional languages when I studied for my
| degree (Artificial Intelligence, started in 1998), but I really
| really enjoy it.
| amelius wrote:
| > For a long time, Microsoft Research also significantly
| supported the Glasgow Haskell Compiler (GHC) by employing Simon
| Peyton Jones to work on it.
|
| What other companies have the equivalent of Microsoft Research in
| terms of funding and in terms of research output?
|
| Does Google come even close? And where is Apple on the list?
| giraffe_lady wrote:
| Apple and google have both launched full blown general purpose
| programming languages, enough of them that I can't speak
| broadly about them all but they all have some degree of
| following and support outside those orgs.
|
| So has MS for that matter. I don't see why supporting the
| compiler of a relatively niche language counts as funding and
| research but those things don't.
| amelius wrote:
| I don't think your argument holds: if universities were to
| stop producing research and instead started producing code,
| that would raise a lot of eyebrows.
|
| MS has produced a lot of pure research. Google and Apple
| produce mostly code.
| giraffe_lady wrote:
| I guess it depends on like "what is the output of
| research?" which I admit is probably hard to define and
| definitely not clear to me.
|
| But your comment seemed to assume "compilers are the output
| of research" so I went with that.
|
| I don't know anything about microsoft's research or apple's
| or google's either. But again I just don't understand the
| distinction between "research" and "code" that's being made
| here. There might be a useful distinction there but you're
| not making it.
| exdsq wrote:
| I probably wouldn't go back to a Haskell work env to be honest.
| It's not worth the headaches to write well and lacks a lot of
| useful libraries
| cosmic_quanta wrote:
| If you had some time to put your thoughts in a comment/blog
| post, I'd love to read about your experience. This is the kind
| of feedback from which the community would benefit.
| JoelMcCracken wrote:
| What headaches? and what libraries do you miss
| nymalt wrote:
| I really wish this list was longer.
| marcosdumay wrote:
| The size of the list is determined by how much time the author
| decided to spend doing it.
| kreetx wrote:
| This list actually _is_ longer:
| https://github.com/erkmos/haskell-companies
|
| Also, it might be a better list if the companies _mainly_ used
| haskell. Having Meta or Microsoft doesn 't mean all that much
| as they probably use every language under the sun _somewhere_.
| 22SAS wrote:
| I took a Haskell course in grad school. Had a lot of struggle
| initially, but came to appreciate the language later on.
|
| IIRC, Target also uses Haskell for some of their data science
| teams.
| rundmc wrote:
| Don't forget https://tontine.com
|
| We are the global pioneers of an OECD endorsed disruptive fintech
| platform that enhances your parents pension wealth by 87% with
| Zero added risk according to ETHZurich (Einstein's alma mater).
|
| OH, and I should mention that we are hiring
| mathematicians/statisticians.
|
| See https://github.com/TontineTrust/InterviewTest2022
| blowski wrote:
| While I'm not a huge Haskell fan (heck, I struggle with PHP) I'd
| hope for more constructive comments on this than we have so far.
| whateveracct wrote:
| Haskell's success & growth philosophy is pretty antithetical to
| the typical HNer's - so the comments make sense.
| blowski wrote:
| The assumption on HN is that comments should be interesting,
| not low-effort flame-bait.
| eckza wrote:
| This assumption holds more often than not; but it does not
| always hold.
|
| HN: the worst thing out there, except for everything else!
| JNRowe wrote:
| I've attended a few Haskell conferences over the years and the
| make up tends to be fairly evenly split between PL researchers,
| defence, aerospace, and finance. I recall the food stop after an
| event at Imperial where our table was twenty-ish people from
| Airbus, Barclays, Lockheed, QinetiQ, and Thales.
|
| If you're looking to work in Haskell there are some avenues to
| hunt down. Same caveats as with Standard Chartered and Meta
| mentioned in the article, there _is_ Haskell but it is scuttling
| around in the corners not flowing from everywhere.
| epolanski wrote:
| My biggest beef with Haskell is that it is very unwelcoming to
| people with no Haskell experience.
|
| Like I could show 10 personal projects in Haskell and still no
| one would give two damns and ask me for few years of
| professional Haskell experience.
|
| There's less work in Haskell than willing applicants it seems.
| It's time to sell it better to management.
| devoutsalsa wrote:
| If you know Haskell and people ask for experience, just write
| a program on your work computer and out it in your resume. If
| they need to see that to believe you have professional
| Haskell experience, then just give it to them. Programming
| interviews are pretty lame, so help them be less lame. You
| still need to prove your competence. And they'll say anything
| to get you on board, so you're just playing along.
| throwaway43212 wrote:
| Unfortunately Klarna is consolidating tech stacks on
| Java/Javascript. Erlang/Scala/Haskell/Clojure (ordered) will
| probably stay for a couple of more years, but these will over-
| time be replaced by new systems in Java and Javascript. The main
| reason is ease of hiring, but also to be able to move engineers
| and systems around easily within the organisation.
| throwawaystock wrote:
| I worked there a few years ago. I applied for a Haskell role
| there. During my interview I was told it was a Scala role.
|
| I became the only Scala dev in a team who wanted to rewrite the
| codebase in Typescript.
|
| I ran out of work to do there at times - while the team was
| still growing. The same manager who couldn't find work for me,
| after announcing that the team would be splitting because it
| got too big, was dumbfounded when I suggested we stop hiring
| more people.
|
| I had a few colleagues who had worked there longer than me, but
| didn't have any code in prod.
|
| I feel stupid even writing this, but it honestly seemed that
| having more developers was more important than the product
| itself.
| throwPlz wrote:
| I honestly believe that removing Typescript/JS would actually
| benefit the software engineering quality in the company, to
| me it's there just because the pool of people is large. I
| would prefer quality over quantity, but I'm not a manager
| -\\_(tsu)_/-
| busterarm wrote:
| When VCs give you money you're required to spend it.
|
| Otherwise what the hell did you go out and raise more money
| for? More engineers is the easiest way to spin wheels and
| make money go away without a lot of questions being asked.
|
| It's one of the sad realities and cargo cults that we all
| participate in.
|
| Getting hired to a Haskell or Elixir/Erlang role in a
| bootstrapped company is the dream but there's only so many of
| those jobs out there right now, sadly.
| RC_ITR wrote:
| Money. Famously only valuable when it's already been spent
| and you no longer hold it.
| aroccoli wrote:
| Sad to hear that (especially about Erlang, personally).
| aroccoli wrote:
| Just to be clear, the list is not supposed to be exclusive --
| there's a lot of companies using Haskell out there. :)
|
| I just wanted to feature some of the biggest names and some of
| the cool use cases.
|
| BTW, if you're interested in Haskell case studies, we have a
| series called Haskell in Production
| (https://serokell.io/blog/haskell-in-production) with interviews
| with Haskell projects that covers more ground.
|
| -- Author
| deepakkarki wrote:
| I think you mean "the list is not supposed to be exhaustive"?
|
| Unless I'm reading it wrong....
| aroccoli wrote:
| That is indeed what I meant.
| tome wrote:
| See also: https://news.ycombinator.com/item?id=31214919
| kepano wrote:
| Here's a longer list: https://github.com/erkmos/haskell-companies
|
| Our backend at Lumi (W15) is all Haskell. We've been happily
| building with Haskell since 2016. Lumi is making the world's
| factories accessible online. The transactions that occur on Lumi
| are large and typically non-returnable because all of the
| products being manufactured are custom, mass-produced items.
| Haskell helps us in all kinds of ways, including performing safer
| migrations, and creating DSLs to define specifications of
| manufacturable products.
|
| https://www.lumi.com
| WraithM wrote:
| Bitnomial (bitnomial.com) uses Haskell for basically everything!
| agumonkey wrote:
| Some decently sized french company used (may still do) haskell
| for logistics.
| klohto wrote:
| weatherlite wrote:
| throwPlz wrote:
| Klarna recently stopped supporting Haskell internally. Still
| supported are Clojure and Erlang.
___________________________________________________________________
(page generated 2022-05-03 23:01 UTC)