{-# LANGUAGE CPP #-} -- | -- Module : Seqaid.Demo -- Copyright : (c) 2014, Andrew G. Seniuk -- License : BSD-style (see the file LICENSE) -- -- Maintainer : Andrew Seniuk -- Stability : provisional -- Portability : POSIX, Cabal -- -- Instrument a sample program (package -- ) -- with dynamic forcing functions. Refer to -- -- for more information about this methodology. module Main ( main ) where --module Seqaid.Demo ( main ) where import System.IO.Temp import System.Directory import System.Process main = do tdir <- createTempDirectory "." "leaky_" -- XXX Note that "cabal get" already extracts the tarball for you. let seqaid_init_bash = "\ \cabal get leaky-0.1.0.0\n\ \cd leaky-0.1.0.0\n\ \cabal configure\n\ \cabal build\n\ \cabal run 123\n\ \echo\n\ \echo \"(Please see " ++ tdir ++ "/leaky-0.1.0.0/README for the interpretation.)\"\n\ \echo\n" setCurrentDirectory tdir writeFile "seqaidinit.sh" seqaid_init_bash p <- getPermissions "seqaidinit.sh" setPermissions "seqaidinit.sh" (p { executable = True }) system "./seqaidinit.sh"