[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