4 ms·
Everyone else is responding with FOSS, so I'll respond with some companies: Co-Star, the astrology SaaS, is apparently written with a Haskell backend. I'd love
by hiAndrewQuinn 2y ago
Everyone else is responding with FOSS, so I'll respond with some companies:
Co-Star, the astrology SaaS, is apparently written with a Haskell backend. I'd love to have seen the casting call for that.
I believe the Mercury bank also runs most of their backend stuff on Haskell. Functional languages in general are surprisingly common among financial investment firms.
Some of Target's stuff is written in Haskell. I think there was at least one big Facebook project that was written in Haskell, but they may have moved away from it by now. Awake Security does some Haskell stuff.
One thing which might be surprising is Haskell is apparently quite strong for general backend web dev.
- internet_points 2y agoI maintain Haskell code for five different customers, some large projects, some smaller, projects of varying ages up to over a decade. All the projects do "server backend" stuff, some web frontend too. I love how secure I feel making changes to things I haven't touched in a while.
- _jackdk_ 2y ago> Haskell is apparently quite strong for general backend web dev Yep. Mostly because of the https://www.servant.dev/ https://www.servant.dev/ framework (but see also IHP, Yesod, and other frameworks). Servant lets you declare your HTTP API at the type level, and then it will infer the correct types for your endpoint handlers. You can also extract OpenAPI specs from it, generate clients for Haskell or other languages, etc. My current employer, Bellroy, uses Haskell for pretty much all new code and Servant for all new HTTP APIs. https://exploring-better-ways.bellroy.com/our-technology-stack-and-how-we-got-here.html https://exploring-better-ways.bellroy.com/our-technology-sta... is an older post discussing the shift to Haskell. We've found Haskell code to be much more compact than the equivalent Ruby, and significantly more robust.
- hiAndrewQuinn 2y agoGoing from Ruby to Haskell is, itself, quite a good signal of quality for me. Start strong and end stronger. Sounds like you've got a good thing going!
- colonial 2y agoOh, hey, I purchased one of your leather phone cases recently. Big fan!
- _jackdk_ 2y agoI'm glad you like them!
- MaxGabriel 2y agoYou’re correct that Mercury uses Haskell for its backend: https://serokell.io/blog/haskell-in-production-mercury https://serokell.io/blog/haskell-in-production-mercury
- hiAndrewQuinn 2y agoHow could I forget Serokell, too! An Estonian software development firm that uses Haskell and Nix as basic building blocks. I think they were using Agda or something too for a while, but it appears I can't find what I'm thinking of on their site anymore. Really interesting guys if you're located in the Baltic states.
- astrange 2y ago> Co-Star, the astrology SaaS, is apparently written with a Haskell backend. I'd love to have seen the casting call for that. They have a page about it: https://www.costarastrology.com/why-haskell/ https://www.costarastrology.com/why-haskell/ It does one of the things I find most annoying about Haskell programmers, which is that they think the language is magic just because it has ADTs. > HASKELL MAKES ILLEGAL STATES UNREPRESENTABLE. That's not true! It's especially not true for numeric programming, Haskell really doesn't provide good support for that. Basically only Ada and dependent-type languages do.
- tome 2y agoIt is most definitely true for numeric programming (and Haskell is _somewhat_ dependently typed). For example, look at this finite bit width concatenation operation: https://hackage.haskell.org/package/clash-prelude-1.8.2/docs/Clash-Sized-BitVector.html#v:-43--43--35- https://hackage.haskell.org/package/clash-prelude-1.8.2/docs... How it compares to Ada though, I could not say.
- astrange 2y agoBy "support" I don't mean that you can do it. Rather I meant the opposite - it doesn't stop you from doing it incorrectly. There isn't a lot of thought put into ranged integer types, floating point modes, etc.
- tome 2y agoI see. You're probably correct about that. I guess I got thrown off by your suggestion that dependently typed provide good support for numeric programming, because I doubt any dependently typed language that put a lot of thought into floating point modes (and I'm not aware any has particularly good suppose for ranged integer types either, but I could just be uneducated in that regard).