
On Friday 14 September 2007 18:44:11 Alex Tarkovsky wrote:
Don Stewart wrote:
Runtime code modification is the only thing I admire about Smalltalk, and it's something I hope is practical in Haskell.
Spencer has a possible architecture based on ghci, which would give us zero-compile reloading, using just the bytecode interpreter.
Good to hear. I'd be interested in using it in some of my own projects. Do you know if this will be a generic framework, or will it be tightly integrated into xmonad?
The idea is to package xmonad as a library, and install it just like any other Haskell library. The executable kept in /usr/bin/xmonad might be a shell script that looks like: #!/bin/sh runghc $HOME/.xmonad/Main.hs Of course the real script would have all sorts of error handling, executing a default Main.hs if the user's Main.hs isn't available or valid. Main.hs might look like: module Main where import XMonad.Main import XMonadContrib.MyFancyContrib -- etc. main = xmonadMainWith $ defaultOptions { keybindings = ..., etc. } One could imagine: module Main where import Gtk import XMonad.Main main = do if config exists then parseConfig >>= xmonadMainWith else do fancyGtkDialog; parseConfig >>= xmonadMainWith Just an idea we're kicking around. Cheers, Spencer Janssen