packages feed

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