Hello, folks. Loooong time no see. I had some free time and spare energy this weekend, and this one had always been curiousing me. A couple things: 1. I `darcs rec`d with --no-test, since Minimize was complaining about a shadowed identifier. 2. This adds new build deps on fclabels and template-haskell. I know y'all are generally fairly conservative on new deps. What do you think? 3. Here's a live copy of the haddock doc: http://twifkak.com/xmonad-junk/XMonad-Config-Prime.html Sun Sep 23 22:57:31 PDT 2012 Devin Mullins <me@twifkak.com> * XMonad.Config.Prime, a monadic config syntax This is an attempt at a cleaner and more modular config syntax, a follow up to http://thread.gmane.org/gmane.comp.lang.haskell.xmonad/5398. (Hello, everybody! How have the last four years been?) FAQ: Why fclabels instead of data-lens? Of the two, it was the one that successfully compiled on my ancient Ubuntu Lucid machine when I ran `cabal install`. Ick, template-haskell? Really? Yeah, I know. Unfortunately, it seems that GHC won't let me write:
data L = forall l. L l g f (L l) = L (f l) so I can't really make a generic Layout transformer. I spent a few minutes heading down the path of parameterized monads and NoImplicitPrelude, but the type-system mind games and the juggling between (Prelude.>>) for IO and (Control.Monad.Parameterized.>>) for state were melting my brain.
Sun Sep 23 23:20:20 PDT 2012 Devin Mullins <me@twifkak.com> * minor tweaks to X.C.Prime