Hacker News new | past | comments | ask | show | jobs | submit login
Haskell powered companies (haskell.org)
151 points by sarchertech on June 22, 2012 | hide | past | favorite | 71 comments



It never occurs to me that a company could be "powered" by Haskell.

In my old job, I used haskell for everything from satellital image analysis to the web frontend, but I didn't tell anyone. Specially I didn't tell my bosses.

When they discovered my functional tendencies, they were upset and worried. They feel betrayed, but it was too late. The company was an "haskell powered company".

I give them an edge over the other companies in the field, but when I leave, they were orphaned and unable to hire a new Haskell programmer (I live in Chile, a very imperative nation).

Too bad for them, but for me, it was "pure" functional fun.


It turns out that if you compile Haskell code, and deploy it with a .py extension, everyone will happily use it and no-one will actually look at it...


Ahh, remember back in the good old days when programs had .PRG extensions or file-types? Nobody cared what language a program was written in back then either, as long as it just worked.

Computers and programming don't have to be so complicated. People make them complicated.


Haha brilliant solution!


Too bad for them? Incredible. That's not a very professional attitude to have. You shouldn't choose technologies you like because as a developer it's your job to choose technologies that are right for the business.


Conversely a technology that is beneficial solely to the business presents the same situation. Your own productivity and motivation will be affected by the chosen technology, so working with something you hate with a passion isn't going to be that good for the business either.


Certainly, I couldn't have done what I did without Haskell, or with more traditional languages, like C++.

The most challenging task I've done with Haskell, was to find the right combination of parameters in orden to sum an array of satellital images, preserving a set of constrains. I couldn't have dreamed of doing that without Haskell. It was the right choice for the job.

When they discovered the tools I've used, they recognized the problem, but they treated me bad, so I search for another job.


The right tool for the job is one that will be supported by other developers after you leave.


The right tool for the job is anything that gives you the power to get shit done.

Maintainability is secondary if you can't do the job in the first place. Think about it.

I think that using Haskell in the industry is somewhat irresponsible if you live in a third world nation like Chile. You can't find haskell hackers here! You create maintainability problems!

It is clearly not my fault to be intelligent, know some haskell and live in Chile. Can you blame me?


That doesn't sound like a very good way to build a sustainable business.


I think his ability with English maybe giving the impression he was being flippant. If you remove implied meaning, it says only that "I know it was bad for the company, but I found it fun".


My point still stands.


Well, if they didn't bother to check what language/technology you were using and they didn't give you any requirements, you did the right thing.

Any competent manager should lay technology requirements/guidelines before starting any projects and maybe even keep an eye on the codebase if he/she has any coding skills... You happened to work for incompetent people, and you just taught them a lesson about their own incompetence. Thumbs up!


This looks to me as a cautionary tale that warns against using haskell in a company.


It sounds more like a tale of an employee writing software in a language that the management didn't buy into and no one else in the company knows. If one of our employees started writing code in <some other language> instead of Haskell we'd have a similar problem.


Good job!

They'll probably waste the next 0-3 years rewriting your shit and you have made another company and several suits hate Haskell. The suits talk to each other, you know.


"Hey, we had this developer working here making serious stuff. And you know what? Nobody ever cared to look into what he had going."


Maybe there was a basic expectation that he would use what the rest of the company was using and suggest it if he needed to go off the trodden path. To assume otherwise would be micromanaging.


Is Haskell taught in college at any Chilean university? Without it being taught to undergrads, it will be hard to find devs locally.


No, it's totally unknown here in Chile. Even professors don't know anything about a language named Haskell.


that's not true! the dynamic languages group (a meetup.com-organised thing - perhaps started by continuum? - here in santiago) had at least one talk on it - i know because i was there! although i admit i don't think anyone said they were using it in production...

[and the last conversation i had with someone from u chile's computing dept was on datalog. so it's hard to imagine they wouldn't know about something as popular as haskell. and a friend in the engineering/geophysics dept (don't know the correct name - contract research for mines) uses it. and...]


"... it's totally unknown here in Chile. ..."

Out of curiosity, how did you learn Haskell?


I was not confortable with D and C++, and I was curious about Haskell.


Is it confidential to say which company you're talking about? I also live and work in Chile and I almost always get blank looks from people when I mention Haskell.


Agrosatchile


Hey -- I've been doing some work in a related area, and would love to hear more about how you're using Haskell (my stack is centered around Python).

If you're able to chat, please drop me a line: sakaiminomoto@gmail.com

Thanks!


At nvidia, we have a handful of in-house tools that are written in Haskell. My manager is a huge Haskell fan and he satisfies his coding itch by writing some tools with it.

The tools we have are quite simple, like running a set of automated tests on a Tegra device and then upload results (pass/fail, code coverage, memory leak stats, etc) to a web interface.

We've had a few Haskell coding nights where I and my boss have been teaching our teammates some Haskell skills. We have about half a dozen coders (out of ~50 at our office) who can do enough Haskell to get shit done.


That's cool; but what is the point of haskell there? It sounds like you'd just as well could use, say, ruby; what does the specific feature set of haskell help here? (Apart from it being somewhat hard to actually write fortran code in haskell. :-)


It's more fun. There was a freedom of choice and since any language can do the task at hand we chose the one that was interesting and fun and offered us opportunities for learning new stuff.

We use Python for small tasks quite a lot too. Python's batteries included approach works pretty well for simple tasks.


Type safety would be the main plus point for me, even for tools and scripts.

Plus I guess some people just prefer functional programming when they can and Haskell offers that in abundance. I guess the downside is the less portable nature of the code (this is where Clojure et al. would probably win...although writing command line tools and scripts in a JVM language still has a long way to go IMO)


Actually, Haskell libraries were perhaps more important than any individual language feature. The language allows such good abstractions that libraries like Parsec or Haskell XML toolkit are very nice to use.


Hustler Turf Equipment Hesston, Kansas ... Designs, builds, and sells lawn mowers.

Wow... I mean talk about the LAST company you would think would be using a language like Haskell. I would have more likely pictured some horrible VB6-Access mess. Just goes to show you what the risks are in assuming...


Having type-safe/correct software is a huge benefit when you're controlling machinery

    program vehicle computers that control hybrid 
    powertrains for heavy duty trucks -- garbage to be
    specific.  Our systems interface with engines, 
    transmissions, brake controllers, and yes, accelerator pedals.

    Haskell GADTs ensure type correctness of the generated 
    C code.  I find it interesting that a type system in 
    one language can prevent type problems in another.
http://www.haskell.org/pipermail/haskell-cafe/2010-April/075...


Is that where John Goerzen (of http://book.realworldhaskell.org/) works? I watched Bryan O'Sullivan's CUFP keynote the other night, http://cufp.org/videos/keynote-real-world-haskell, and he mentioned that John was working at a tractor company in Kansas or something along those lines!


Yes, it is where John Goerzen works.


Cool, thanks.


It's not that crazy if you think about it. If you're a freelancer working small contracts for people that "want a website", you're pretty free to use whatever technology you'd like. Doubly so if you "provide hosting".

Outside of tech and corporate circles people could really give a damn. They just want to get things done.


I thought the link would be of companies that use Haskell as their primary language of development, but it is more of companies which use/had used Haskell in one of their projects. The former would be interesting to know, if indeed such companies exist.


At bu.mp, for our main backend repository `sloccount` says:

    python:       22961 (67.22%)
    ansic:         6338 (18.55%)
    haskell:       4378 (12.82%)
    sh:             482 (1.41%)
Edit: I should note, however, that the trend over the last year has been increasing that haskell share; you get just a lot done in not a lot of code... reuse is very good.


I didn't really believe Github's inflated line counts (125klocs) and was curious was sloccount would say...

I'm a bit surprised with the results. The sheer quantity of C/C++, brainless coding over a few days, was impressive. Experience buys something I guess :-/

    haskell:      65025 (88.22%)
    cpp:           6944 (9.42%)
    ansic:         1133 (1.54%)
    python:         391 (0.53%)
    java:           204 (0.28%)
    sh:               7 (0.01%)


Haskell has much more of a group inside of a company will use it as their primary environment then adopting it wholesale. Haskell is used extensively in trading with almost every major bank and hedge fund using it, although no one talks about it. It is also extensively used in energy companies.

There are a few companies out there that use it as their primary language such as Tsuru Capital and my company, Alpha Heavy Industries. By definition companies using it as their primary language will be smaller companies. Standard Chartered has a very large Haskell group.


OCaml is also used extensively. I believe Jane Street Capital's entire codebase is in OCaml.


Jane Street or pointers to them seem to be the primary driver of OCaml on the internet. That's cool, but worrying in lack of diversity.


That Haskell is used extensively in trading is quite interesting to know. This distinction did not come out that well on the wiki link. This is probably the reorganization that the page needs. Split in to sections highlighting companies which use Haskell as primary language, then split along industry lines.

Highlighting companies which use Haskell as primary language will be beneficial to both the language and the companies. Brings along a trust factor that real money can be made while using on Haskell.


Which energy companies and for what?

The major problem with the 'smaller languages' is that sometimes, even if you want to, and can use it effectively, it's difficult to interface with other systems.

For example, services using SOAP. Drivers to DBs and other systems.

Sometimes it's easier to have your core login in Haskell for example, then make it interface with something else in Java/C#/etc which will have plugins for everything.


Drivers to DBs

I found this with OCaml too, so I decided to do something about it: http://gaiustech.github.com/ociml/


I can't reveal that, but major ones with an international presence. Most use it for modeling. They do lots of modeling.


Are you heavy industrial? Or did you just like the name? I was so disappointed when I discovered Urban Airship didn't actually operate airships...


We manufacture alpha mining equipment for the financial markets.


Only way to get rich in a gold rush, selling shovels.


Depending on how some endeavors pan out, my wee company, WellPosed, is likely to be in that rarified category in the near future :-)

(strictly speaking it may be 2-3 distinct enterprises under the same umbrella, but same thing). Also some interesting stuff on the algorithmic & open source pipeline that'll be made available as those services come out.

(a vague summary of the pending products/services can be seen in this month's who's hiring thread.)


Amsterdam based Silk is built in Haskell (http://www.silkapp.com/), it's one of the few companies I know of but I guess they do exist.


That would probably limit a lot the number and diversity of the potential candidates. As a complete outsider I find more interesting that Haskell is used for even few projects inside, say, Credit Suisse than a one-man shop nobody has heard of that uses Haskell exclusively; YMMV.


There is at least one: Scrive. Their codebase is almost completely Haskell. I think the only other language they use is Javascript for web stuff (but their web apps are built with Happstack).

https://scrive.com


That list is much longer than it used to be.


That's good. I look forward to a time when Haskell will be a relevant point on my resume.


Really random anecdote: I'm not a programmer, but I got a job interview because I put Common Lisp on my resume, and that caught the interviewer's eye...2 months later, I had my current position (which is my favorite job so far).


why isn't it a relevant point on your resume? :)


Point in fact, of the (several) really great folks who reached out to me from this months hiring thread, the only fellow I'm starting to collaborate with right now (rather than a few months out) has a few cute haskell Libs on hackage. And By collaborate mean a semi/Demi/ maybe even full cofounder piece :-)

Here's the kicker about Haskell code (and many other functional langs): it's very easy to evaluate the work for quality engineering and whether or not there's some real ingenuity in it, beyond just the algorithmic pieces and the overall architecture diagram. Or at least I shall make that claim.


I can't imagine any tech company worth working for that wouldn't consider Haskell to be a big plus on a resume.


The first one I clicked on was dead... the procedural city generation one (http://gamr7.com/) :(


You know I bet http://girlloveshaskell.com/ knows all about these places.


I asked her out once. She blew me off saying I was "too eager" and "not her type".


Which of these are in the bay area? Bump/Facebook/Google - what else?


Lucent is off of highway 237.

Ericsson has a few buildings on 237 (near Marvell / Brocade) but somehow I doubt that the Haskell group is located here.


"Clojure powered startup" post was an hour before this.

Jealous?

run away


What are the arguments for using Haskell over Ruby? For which purposes fit Haskell better?



thanks, should have looked up this source..


Isn't this an old post?


Just because something wasn't posted in the last day does not mean it doesn't have relevant information.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: