ANNOUNCE: plugins 1.5.1. a framework for dynamic extension of Haskell programs

I'm pleased to announce the release 1.5.1 of the Haskell "plugins" library, $ cabal install plugins The "plugins" library provides a comprehensive API for: * dynamic loading and linking native Haskell modules * runtime compilation and meta-programming in Haskell * runtime hotswapping of Haskell code In short, it provides a framework for dynamic extension of Haskell programs [1]. This release is due to great work by Manuel Chakravarty, who cleaned up much of the code and helped migrate it from GHC 6.8 to 6.12. -- Don 1. The approach to dynamic extension developed in the library is described in: * Plugging Haskell In. André Pang, Don Stewart, Sean Seefried, and Manuel M. T. Chakravarty. In Proceedings of the ACM SIGPLAN Workshop on Haskell, pages 10-21. ACM Press, 2004 * Dynamic Applications From the Ground Up. Don Stewart and Manuel M. T. Chakravarty. In Proceedings of the ACM SIGPLAN Workshop on Haskell, pages 27-38. ACM Press, 2005 * Dynamic Extension of Typed Functional Languages, Don Stewart. University of New South Wales, Sydney, Australia. 2010

No, xmonad uses a different dynamic extension model based on the OS process. To dynamically upgrade an xmonad process, you, * modify the source (i.e. the config file) * hit mod-q, which triggers: + linking of the config file into the application library, creating a new xmonad binary on disk. + the application state is serialized to a string representation + the new xmonad is then (double) forked with the old state as input * the new version of the app is running with the state of the old app. You can do similar things at a finer grain of control via plugins. dstcruz:
Most awesome!
Does xmonad make use of this library?
Daniel
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (2)
-
Daniel Santa Cruz
-
Don Stewart