Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm in process of getting myself into the realm of functional programming, and for the practical part of this task, I've picked up Haskell (mainly because it seems to be pure functional language). Now that I've gone thru resources and tutorials and wrote some of my own code, I'd like to take a look at a real Haskell project in order to extend my understanding.

What are the well known OSS Haskell projects a Haskell newbie could use to significantly augment own knowledge? Just to note, all problems domains are welcome, I am not shy of symbolic math or natural language processing.

share|improve this question
Are you looking for rather academic or practical projects? – LennyProgrammers Mar 3 '11 at 12:25
2  
@Lenny - Either suits me - even tho I might lean a bit more towards the academic part - who wants to develop shopping carts in Haskell, right? :) – Jas Mar 3 '11 at 14:42

3 Answers

I have a large number of (mostly) Haskell projects over on github.

I'll warn you they aren't for the faint of heart.

  • ad provide a suite of different forward and backwards automatic differentiation evaluators. These let you evaluate a function and its derivative at a point with the same asymptotics as the original evaluation. NB: This is not the same as symbolic derivation! Internally it uses a number of techniques such as Andy Gill's Type Safe Observable Sharing. It was also written in response to a stack overflow question!

  • reflection provides the ability to translate arbitrary terms in Haskell into types by exploiting universal quantification and some tricky machinery designed by Oleg.

On the strictly Haskell 98 front:

There are about 60-70 other projects, mostly in Haskell, but some in Scala and Ocaml on my github account as well:

https://github.com/ekmett

share|improve this answer
great stuff, thanks for sharing! – Jas Mar 25 '11 at 12:14

http://okmij.org/ftp/ has loads of mind-bending Haskell projects, like Generic Zipper: the context of a traversal.

share|improve this answer
Wow, these projects look infinitely cool. Many thanks for pointing me there. – Jas Mar 3 '11 at 22:14

I think the most prominent Haskell projects are GHC, Xmonad and Darcs.

You might find other Haskell projects with lower entry barriers on GitHub: https://github.com/languages/Haskell

share|improve this answer
Not sure GHC is where to start, but there are a lot of cool things on hackage – Zachary K Mar 3 '11 at 13:02
@Zachary K: Me neither. True, HackageDB might give some ideas. – LennyProgrammers Mar 3 '11 at 13:05
4  
If I remember correctly, the people who maintain XMonad are very fanatic about their codebase being very clean, highly idiomatic, exemplary code that might just as well be used as a Haskell tutorial. Also, XMonad is inherently about I/O, state, events, reactive programming, and interfacing with C, the OS and devices, all of which newcomers to Haskell often have trouble imagining how it could possibly work in a pure language. Darcs OTOH is an algebra over patches, which is extremely cool, but not nearly as "surprising" as a Unix window manager. – Jörg W Mittag Mar 3 '11 at 15:43
great points, thanks. @Jörg - absolutely right, I was very surprised to see an (advanced) window manager written in Haskell. – Jas Mar 3 '11 at 22:19

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.