-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Develop applications without restarts -- -- Please see the README on Github at -- https://github.com/rkaippully/starter#readme @package starter @version 0.3.0 -- | Server side software development usually needs frequent restarts. You -- would launch a server, make code changes, recompile the code, and then -- restart the server. Starter attempts to automate this tedious cycle. -- --

How does it work?

-- -- Starter is a library that you link to your program. With a few simple -- steps, you can set up a GHCi session that automatically reloads your -- program whenever your source code changes. -- --
    --
  1. In some module of your program (e.g. MyModule), define a -- variable mySettings of type StarterSettings.
  2. --
  3. Define a function runDevMode = runStarter -- mySettings.
  4. --
  5. Create a .ghci file in your project with the following -- contents:
    :load MyModule Starter :def! starter runDevMode
    --   
  6. --
  7. Now you can start your program with the :starter command. -- This will run your program under a monitor. When the source code -- changes, the monitor will interrupt the program with an exception, -- reload the modules with a :reload command and restart the -- program.
  8. --
  9. You can terminate the session with a Ctrl+C.
  10. --
module Starter data StarterSettings StarterSettings :: (String -> IO ()) -> String -> String -> (FilePath -> Bool) -> StarterSettings -- | The program to be run by starter. The command line arguments passed to -- the GHCi command will be passed to this function. [starterProgram] :: StarterSettings -> String -> IO () -- | The GHCi command name [starterCommand] :: StarterSettings -> String -- | The expression that should be bound to the GHCi command. For e.g., if -- you created a .ghci file with the command :def! starter -- runDevMode, then this should be set to runDevMode. [starterCommandExpression] :: StarterSettings -> String -- | Predicate to determine if the program should be restarted on change of -- a file. [starterIsRestartable] :: StarterSettings -> FilePath -> Bool -- | Default StarterSettings that uses ":starter" as the GHCi -- command and restarts on all file changes. defaultStarterSettings :: StarterSettings -- | Run a program under a monitor for source code changes. The -- StarterSettings argument contains details about what needs to -- be run and how the monitor behaves. The second argument is the command -- line passed to the GHCi command from the GHCi session. For e.g, if you -- start the program with: -- --
--   :starter foo bar
--   
-- -- then "foo bar" will be passed as the second argument to -- runStarter. runStarter :: StarterSettings -> String -> IO String