
Allan Wind [2011.09.07 1741 -0400]:
On 2011-09-07 17:01:55, serialhex wrote:
my Q is: how much haskell do i need to know to use it effectively? at the moment i am pre-alpha grasshopper status in my haskell coding skills, (i know haskell exists and is high on my list of languages to learn) though i don't want to have to become a haskell guru in order to be able to use xmonad. so really, what's the learning curve like to start using xmonad?
It depends what you want to do, of course.
I am happy with my 19 line configuration file constructed by reviewing the excellent documentation and I think a couple of web searches. No prior knowledge of Haskell and next to none now.
Why not give a try and see how it goes?
I second that. I know Haskell reasonably well by now (it's my #1 language for any project where I don't have a good reason to use something else) but I would consider most of my 267-line xmonad.hs to be little more than specifying configuration options that happen to be written in Haskell but whose meaning should be clear even to people without any knowledge of Haskell. You need to know more Haskell if you want to do stuff that's currently not in core xmonad or in the quite extensive xmonadcontrib extension library (that's why my xmonad.hs is so long). But then, since you say Haskell is high on your list of languages to learn, once you reach the point that you'd be interested in a feature that's currently not there, trying to implement this feature may just be the right kind of toy project to get your feet wet and dig a little deeper into the language. One thing that I can see to be a bit of a challenge is to get the types of things in your configuration file right. When I started using xmonad, I was constantly bitten by trying to bind pure functions that manipulate the window list of a workspace to a key, while a key can only be bound to an action in the X monad. However, if you run into any issues like that, there's always the mailing list ;) and it doesn't take too long to get a hang of it. I came to xmonad from awesome 3 years ago. I was quite hooked on awesome back then but had enough when it segfaulted on me when working to meet a conference deadline. So I was looking for something more stable and with similar functionality, found xmonad, and it didn't crash on me once in these 3 years. The Haskell compiler being so anal about lots of things, including types checking out, is I think a big part of why xmonad is so stable. Cheers, Norbert