[FoRK] But seriously... then there's Haskell.

Jeff Bone <jbone at place.org> on Sat Feb 24 12:42:23 PST 2007

As you may have surmised from my fanciful little narrative about  
Haskell, it's a long-term fascination / vexation of mine.  In fact,  
I've been a fan of the whole functional languages thing since  
undergrad days, indeed since before I ever wrote a substantial piece  
of C.  Dick Pountain is probably to thank / blame for my programming  
language fetish generally and my love of exotic languages  
specifically.  Through Byte magazine back in the early 80s, he turned  
me on to Lisps (Bet's XLisp, specifically) as well as Occam (and  
transputers, and parallel programming) and the whole pre-Haskell  
family of FP-derived languages (Hope, Miranda being the notable  
exceptions.)  It was through that channel that I came to buy a bound  
copy of the first (20? 25? can't recall) years of Turing Award  
lectures, specifically to read Jim Backus' lecture in which he  
introduced FP.  My first attempt at programming language design was a  
thought experiment amusingly called FLAP, for "Functional Language  
for Application Programming."  (It was basically Hope with a few  
additional wacky, and thoroughly broken, ideas thrown in.  And yes,  
sullied by my already tainted experience programming imperatively.   
Russel may remember some of this...)

Over the years I left the whole typed-functional language family  
behind as an interesting but impractical academic experiment.  After  
school I never wrote any "for-real" Lisp, either --- though I proved  
Greenspun's 10th over and over again.  At Sun we had *two* different  
Lispy derivatives in the system I hacked on:  EVIL, which was  
essentially Javascript (but in 1989) and had about the same  
relationship to Lisp as that language;  and WICKED, which was a  
mostly-declarative, structure-oriented subset of Scheme used for  
migrating computational agents between hosts via e-mail.  (Think JSON  
as sexprs, with first-class function values.)  SIOD embedded in  
UnterVERSE.  ETI was Lisp in XMLish angle brackets (thought that  
decision was before I got there;  that was later replaced in part  
through my encouragement with another Lisp-in-sheep's-clothing,  
Tcl.)  Etc., etc., etc.

Picked the whole Haskell thing back up again a decade ago, and it's  
been haunting me ever since.  For all the overly-academic, recursive  
navel-gazing and dissertation-one-upsmanship that goes on in the  
community, occasionally there are these real, practical, interesting  
little gems.  There are just these tantalizing little hints about how  
productive and powerful and practical it can *really* be...  Just  
these superhuman feats of programming heroism that fly out of  
(usually) lone wolf programmers at unexpected times --- and in  
domains all over the map.  Hell, the darcs guy's a *physicist* ---  
and we all know about physicists and programming, right? A whole  
distributed revision control system in around 8k LoC --- and it would  
be a 10th of that if it were more idiomatic, done by a real Haskell  
guru.  By which I mean, either Simon, Simon, or Phil. ;-)

To wit, some Wonderful Things:

Fran, and the whole School of Expression multimedia thing.

Frag - a Quake-style FPS in Haskell.

Darcs.  (Already described.)

Zipper.  Filesystems smaller than anywhere except FUSE and Plan 9.

Djinn.  ("The compiler.  It's thinking...!")

Near-complete R5RS Scheme(s) in under 500 LoC.  (And a good tutorial,  

And oh yes, on the language front:  a working, small, tight Perl6 ---  

PFP for probabilistic stuff.  Also Dazzle for graphical Bayesian  
network stuff.

Metamath hacking of all kinds, and a good maths book.  Using Haskell.

Symbolic math and theorem proving stuff, notably DoCon and Dumatel.

Rule systems.

Haskore, for musical composition.

Haskell for the UNIX shell --- the h4sh tools.

Intelligent Internet TV stuff, with classification / etc. (downNova)


Etc. etc. etc.

Some of this stuff is just magical.  (As in:  "Any sufficiently  
advanced technology...")  All of it is mind-blowing.

So I just keep coming back for more...

Stay away.  For your own sanity's sake.  This is not a good addiction  
to have.

You were warned.



More information about the FoRK mailing list