Name: plugins-auto Version: 0.0.2 Synopsis: Automatic recompilation and reloading of haskell modules. Description: This library provides support for automatically recompiling and reloading modules into your programs when the source code is modified. . Any program called ghc in your PATH will be used for recompiling. . > module Main where > import System.IO (hSetBuffering,stdout,BufferMode(..)) > import System.Plugins.Auto (withMonadIO,initPlugins) > import Answer > > main :: IO () > main = do ph<-initPlugins > hSetBuffering stdout NoBuffering > putStrLn "This program interacts with you in a loop." > putStrLn "Type something, and the program will respond when you hit the Enter Key." > putStrLn "Modify Answer.hs while interacting and you should see the answers" > putStrLn "change accordingly." > let interactiveLoop = prompt ph >> interactiveLoop > interactiveLoop > where > prompt ph = do > putStr "> " > input <- getLine > $(withMonadIO 'getAnswer) ph id notLoaded$ \errs getAnswer -> > mapM_ putStrLn errs >> getAnswer input > > notLoaded errs = > if null errs then putStrLn "Plugin not loaded yet." > else putStrLn "Errors found:" >> mapM_ (putStrLn . (" "++)) errs > >> putStrLn "Try fixing the errors and come back here." . > module Answer where > > getAnswer :: String -> IO () > getAnswer input = putStrLn ("What you typed: "++input) License: BSD3 License-file: COPYING Author: Happstack team, HAppS LLC Maintainer: Happstack team Category: System Build-Type: Simple Cabal-Version: >= 1.8 source-repository head type: darcs location: http://patch-tag.com/r/facundo/plugins-auto tag: 0.0.2 Library exposed-modules: System.Plugins.Auto System.Plugins.Auto.Reloader System.Plugins.Auto.FileSystemWatcher System.Plugins.Auto.LiftName build-depends: base >= 3 && < 5, containers, filepath, hinotify >= 0.3.2, mtl, plugins >= 1.5.1.4, template-haskell ghc-options: -Wall Test-Suite test-plugins-auto type: exitcode-stdio-1.0 main-is: Test/Test.hs build-depends: base, directory, process