
Excerpts from adam vogt's message of Sun Sep 11 08:59:22 -0600 2011:
2011/9/6 Teika Kazura
: I have one question: the page you referred to says "live hacking [in stumpwm] means you can hose your X session"
It's correct, and I have done it several times in Sawfish, like infinite loops. (I've never tried StumpWM.) But isn't it the same for any of these WMs that if you have errors in your code, your WM can be almost unusable, no? Or is it less likely in haskell?
There are definitely some errors xmonad does not prevent: for example if you write layouts which for whatever reason call `sendMessage' or `refresh' it is easy to get an infinite loop. Perhaps that's why very little code in contrib does that.
Loops in haskell are very shocking once you've become used to type checking protecting you from silly errors. Once I did a global replace renaming some element in my xmonad.hs, not really paying attention to the fact that I'd changed foo = foo' into foo = foo. Suddenly I found myself at the console with `<<loop>>' my only clue to what had happened. A second pair of eyes would probably have seen this quickly, but I ended up building up my xmonad.hs piece by piece from `main = xmonad defaultConfig' before I finally found my mistake. regards, wmw