Module for evaluating Haskell expressions in xmonad

I wrote a module that uses hint[1] to manipulate the state of xmonad using normal Haskell expressions during runtime(like emacs' eval feature), which is available here: http://code.haskell.org/~asgaroth/xmonad-eval I've put this in a separate package instead of using a contrib-module, since that'd introduce hint as another dependency which should be avoided, if someone doesn't want that feature and it should be a simpler solution for the user than to add another flag to xmonad-contrib.cabal. The expressions are typechecked and can return an result whose type is an instance of Show(The expressions to be interpreted have to be monomorphic and this approach seems better than having the user supply a type witness or such all the time). The error handler and the module/imports context of the expressions can be customized. It might be possible to somehow wreck xmonad by some expressions, but only to that extent to which it is already possible in xmonad.hs. Anyhow, I'm not sure whether this could cause any other instabilities, so any comments on that would be appreciated. After that I will prepare a package and upload it to hackage for easier installation. [1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hint

On Sun, Feb 1, 2009 at 2:34 PM, Daniel Schoepe
I wrote a module that uses hint[1] to manipulate the state of xmonad using normal Haskell expressions during runtime(like emacs' eval feature), which is available here: http://code.haskell.org/~asgaroth/xmonad-eval I've put this in a separate package instead of using a contrib-module, since that'd introduce hint as another dependency which should be avoided, if someone doesn't want that feature and it should be a simpler solution for the user than to add another flag to xmonad-contrib.cabal.
The expressions are typechecked and can return an result whose type is an instance of Show(The expressions to be interpreted have to be monomorphic and this approach seems better than having the user supply a type witness or such all the time). The error handler and the module/imports context of the expressions can be customized. It might be possible to somehow wreck xmonad by some expressions, but only to that extent to which it is already possible in xmonad.hs. Anyhow, I'm not sure whether this could cause any other instabilities, so any comments on that would be appreciated. After that I will prepare a package and upload it to hackage for easier installation.
[1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hint
If it defaulted to False, I'm not sure a flag would be such a bad approach. But let's see what others have to say. If it does have no place in XMC, perhaps it might make sense to put it in Andrea Rossato's xmonad-utils package? (It's at http://gorgias.mine.nu/repos/xmonad-utils ) -- gwern
participants (2)
-
Daniel Schoepe
-
Gwern Branwen