Linspire chooses Haskell as preferred language

This is a couple of weeks old, but significant enough that I think many on LtU will be interested. From the Debian Haskell mailing list:
The OS team at Linspire, Inc. would like to announce that we are standardizing on Haskell as our preferred language for core OS development.

We are redoing a bunch of our infrastructure using Haskell as our common standard language. Our first task is redoing our Debian package builder (aka autobuilder) in Haskell.  Other tools such as ISO builders, package dependency checkers are in progress. The goal is to make a really tight simple set of tools that will let developers contribute to Freespire, based on Debian tools whenever possible. Our hardware detector, currently in OCaml, is on the block to be rewritten as well.

There are four of us using Haskell, all CCed on this message.  All of us have been using functional languages for quite some time.  At Linspire, our choices have been OCaml and Haskell. David Fox wrote the hardware detector in OCaml and is now porting it to Haskell.  Jeremy Shaw has been doing various utilities in Haskell for several years.  Sean Meiners recently wrote an application for managing his recipe collection and is now hooked.  I am porting our CD build procedure from OCaml to Haskell.

We are interested in many other uses of Haskell.  The recent discussion about Haskell as a shell interests greatly, for example, as we have all suffered through years of bash code.  We'd also like to make some Haskell bindings for Qt and KDE, though at the moment we don't have a good plan to tackle that problem efficiently.

To date, Linspire (formerly Lindows) has focused on polishing Linux for the consumer market.  I mentioned Freespire, above.  We announced Freespire recently (www.freespire.org).  Essentially it is a more open, developer friendly version of Linspire.  http://freespire.org/about/vision and http://freespire.org/support/faqs have good overviews.  Access through apt, open-source CNR client and many other good things.

I mention Freespire because some of our colleagues were concerned that using Haskell would isolate us from the larger community of developers and make it hard to find new employees skilled in Haskell, should we need to.  From our perspective, functional programming makes us more effective and we think that getting even a few people who know Haskell hacking with us is a better combination than lots of Perl and bash.  I'm not sure I expect anyone on this list to disagree, but still I'd love to hear your thoughts on the subject.

Also, Linspire is based on Debian. We've talked a little with John Goerzen who announced his missingH library here a while back.  We've imported it and expect to pass updates back to him as well as any other libraries and tools that he would be interested in includng in the Debian archive.  Also, it seems there are quite a few other libraries out there which are either not debianized or stale, but perhaps that is because I haven't fully caught up with what people on this list have done.  If there isn't a cron job running somewhere that updates an archive with Cabalized libraries and apps, we would like to help set one up.

I will be at Debconf from Sunday, May 14 through Tuesday evening.  If anyone on this list is there, I would love to chat and see how we can help each other.

Clifford Beshers <clifford.beshers at linspire.com>
OS Team Lead
Linspire, Inc.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Remarkable. I had to check

Remarkable.

I had to check it's not an April Fool's joke, and I am still having a hard time believing it's true...

Funny!

So did I. I had no idea they had used O'Caml for anything, either. This is quite interesting!

A little more confirmation ..

.. should you need it.

http://gnuvince.net/?p=268

Haskell's Community

I found it surprising but not unusual when I saw it, because I very strongly suspect that Haskell has a surprisingly large "silent" community. What leads me to believe this, is repeatedly seeing uses of Haskell by people and institutions that seem to pop up out of nowhere. The total Haskell "community" is likely significantly, and sometimes I think even vastly, underestimated by even the people inside it. Site and download data for, particularly, GHC would probably be a start on some objective information, I may perhaps shoot an email over to the ghc-users mailinglist, though I think some of this information was mentioned somewhere before.

pretty cool!

I look forward for a hash (Haskell sh) of sorts, with "function" autocomplete and monad pipes... :)

However, interfacing with a heavily C environment must be a real pain... :P

Hash

HaSh seems dead, however Hashell is another try.

Why the move from OCaml to Haskell?

It would be interesting to hear what made them choose one over the other.

just guessing

I guess they wanted to get away from imperative constructs entirely and go for monads instead...

Agreed

Especially if they're talking about using Haskell for shell scripting kinds of things, they probably want to make employing the filter/pipe metaphor as painless as possible, so eschewing mutation altogether makes good sense. My interpretation of what they said is that they really are trying to select a language that enables them to write a bunch of small utilities that are glued together well—very much in the venerable UNIX tradition. It's just that with Haskell, that tradition doesn't have to just be a matter of policy and self-discipline; the compiler will actually let you know when you blow it. :-)

But this reminds me that I need to play with Jacques Carette and Oleg Kiselyov's "monadic do" syntax extension for O'Caml, especially with Oleg's monadic implementation of delimited continuations that works in both bytecode and native code (vs. the native implementation, which is regretably bytecode-only). In other words, you can do monadic programming in O'Caml; it just isn't built in, whereas the siren song of mutation is. :-)