[darcs-users] performance (was GHC and Darcs)

Ashley Moran ashley.moran at patchspace.co.uk
Wed Jul 30 23:03:21 UTC 2008


On Jul 30, 2008, at 10:48 pm, Max Battcher wrote:

> It really shouldn't be that high.  If you are having serious  
> problems may I recommend taking a pit stop in the land of Lisp or  
> Scheme? Lisp/Scheme has a simpler syntax and lacks the type system  
> that simultaneously makes Haskell more powerful and more complex to  
> work with, and lets you just focus on learning some of the semantics  
> (vocabulary) and paradigms (methods of doing things, modes of  
> operation, thought patterns, tools, tips and tricks)...
>
> I don't write Haskell much yet, but I do see that my experience with  
> Common Lisp (and to a lesser extent Python) generally give me a bit  
> more insight into the language when I try to read it than I got from  
> just trying to read Haskell-specific tutorials...


Hi Max

Thanks for the advice.  As it happens two of the tutorials I was  
hoping to follow are Write Yourself a Scheme in 48 Hours[1] and  
Writing a Lisp Interpreter in Haskell[2].  However this might be a  
back-to-front way of doing it :)

My biggest stumbling block so far has been in Yet Another Haskell  
Tutorial (the PDF version).  I was really rolling along until I got to  
chapter 7.  This covers, infix operators, local declarations, partial  
application, pattern matching, guards, instance declarations, class  
derivations, named fields, lists, list comprehensions, arrays and  
finite maps, and has *three* (count 'em) exercises.  (I know it's  
free, but it represents 20-50% of the modern Haskell "books",  
depending what you count.)  So I just froze, knowing that I would  
never understand it all, and didn't want to have to come back to so  
many topics later without really knowing how they work.

To rectify this I've bought a copy of Hutton's Programming in Haskell,  
which looks like a good introduction, even if it is highly academic.   
I might read that then come back to YAHT's chapters on advanced types,  
monads and advanced techniques (Hutton's book barely mentions monads).

I think the most telling thing is that Haskell has a meta-tutorial[2],  
as if it's so hard to find Haskell tutorials you need help doing so.   
(I did!)  Compare this to the experience I'd have learning Ruby from  
scratch - there's a stack of books, each pitched at different levels:  
an authoritative guide to the full language (Programming Ruby),  
cookbook style tomes (The Ruby Way, The Ruby Cookbook), plus  
application-specific books (eg The Rails Way, Agile Web Development  
with Rails).  Even Erlang is accessible now, with Programming Erlang  
(bought it when it was released, but my old job got in the way of me  
reading it half way through, and never got back to finish it).

Someone needs to show that it's easy to do Fun, Cool Stuff in  
Haskell.  My driving instructor never taught me hill starts by  
beginning with "Now this is a really difficult, demanding manoeuvre  
that involves careful timing of the brake, clutch and accelerator"...  
he just got me to pull off on a hill for a change.  I don't see why it  
can't be the same with FP and Haskell.

I'm not pointing fingers or trying to blame or criticise anyone in the  
Haskell community, but I feel like I've had to work hard just to  
figure out how to learn Haskell.  And then I'll still have to learn  
how to use it for practical software.

Cheers
Ashley


[1] http://halogen.note.amherst.edu/~jdtang/scheme_in_48/tutorial/overview.html
[2] http://www.defmacro.org/ramblings/lisp-in-haskell.html
[3] http://www.haskell.org/haskellwiki/Meta-tutorial


-- 
http://www.patchspace.co.uk/
http://aviewfromafar.net/



More information about the darcs-users mailing list