On Mon, 11 Mar 2013, John Maxwell wrote:
> I've been using Gitit for some months now, enough to know that this is a nearly perfect blend of features
> and design choices.ᅵ
> The only problem is that it's Haskell... and I'm utterly lost with it. I want to hack it, but I'm frankly
> stymied... for a long while I kept hoping I'd find something just like it except written in Python. But I
> accept now that this isn't real. Gitit is in Haskell and I'm going to have to make peace with it.
I think there are good news and bad news. Good news: Haskell is a very
elegant and safe language and it is definitely worth learning. If you are
used to Python then you are certainly already familiar with some of its
functional features like lambda expressions and the Yield statement. The
bad news are: Even if you used a functional programming style in a
language like Python, Haskell is still quite different and it needs time
to learn it. Even if you manage to add some feature to gitit I guess you
still need someone to turn that code into idiomatic Haskell code.
> Can anyone here give me some practical advice on how to effectively get
> started with this? Learning Haskell syntax is only a beginning...
I think the Haskell syntax requires the least effort when learning
Haskell. Much more effort goes into understanding the functional paradigm
and the type system. If you want to quickly learn Haskell for applications
like gitit then the book "Real World Haskell" might help you.
> Gitit is built on top of a whole pile of other components and platforms, and
> there is an idiom quite different from what I'm used to. So, if you were to advise somebody who is familiar
> with Python or Ruby, how to begin making changes to the way GitIt does things, where to start? Any good
> tutorials, or even advice on what to avoid?
Maybe those Wiki articles and categories can help you:
http://www.haskell.org/haskellwiki/Haskell_programming_tips
http://www.haskell.org/haskellwiki/Category:Style
http://www.haskell.org/haskellwiki/Category:Syntax
http://www.haskell.org/haskellwiki/Category:Idioms
http://www.haskell.org/haskellwiki/Category:FAQ