[Haskell-cafe] Modifying Running Programs
Donald Bruce Stewart
dons at cse.unsw.edu.au
Sun Aug 1 20:25:19 EDT 2004
alex:
> eBay modifies 30k lines of code per week while
> maintaining 99.92% uptime.
>
> Is there a way to force ghc (or some other Haskell
> implementation) to load new implementations of
> functions without restarting the program?
>
> Alternatively, is there a way of restarting a
> program with new code without having to
> reconstruct all its in memory state?
You could consider using hs-plugins:
http://www.cse.unsw.edu.au/~dons/hs-plugins/
the example at the bottom of
http://www.cse.unsw.edu.au/~dons/hs-plugins/hs-plugins-Z-H-7.html#node_sec_6.2
shows how to load a new object into a running program, changing an
already existing function on the fly. This uses GHC's dynamic linker
underneath.
-- Don
More information about the Haskell-Cafe
mailing list