plugins-auto-0.0.4: plugins-auto.cabal
Name: plugins-auto
Version: 0.0.4
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 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 and MarketPsych Advisor LLC
Maintainer: Happstack team <happs@googlegroups.com>
Category: System
Build-Type: Simple
Cabal-Version: >= 1.8
source-repository head
type: darcs
location: http://patch-tag.com/r/facundo/plugins-auto
source-repository this
type: darcs
location: http://patch-tag.com/r/facundo/plugins-auto
tag: 0.0.4
Library
exposed-modules: System.Plugins.Auto
other-modules:
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