Haskell live-reload implementation