diff options
| author | hallgren <hallgren@chalmers.se> | 2015-02-27 13:49:13 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2015-02-27 13:49:13 +0000 |
| commit | e0bc6308e07edf4302242e434932c9da42c162bd (patch) | |
| tree | 338cabbc8ab4ae2cf78775074e30496ee275e8de /src/compiler/GF/Infra/SIO.hs | |
| parent | d3f6b9851f696b0b5f476f8e70f8c9797825df11 (diff) | |
GF shell: create a PGF also when the -retain flag is used
The commands available in the shell after import -retain are now a superset
of the commands available after import without -retain.
The PGF is created lazily, so there should be no performance penalty if
the PGF isn't needed. If there are errors, they won't be reported until a
command that uses the PGF is entered.
Diffstat (limited to 'src/compiler/GF/Infra/SIO.hs')
| -rw-r--r-- | src/compiler/GF/Infra/SIO.hs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/compiler/GF/Infra/SIO.hs b/src/compiler/GF/Infra/SIO.hs index 39c3da489..ed75f0898 100644 --- a/src/compiler/GF/Infra/SIO.hs +++ b/src/compiler/GF/Infra/SIO.hs @@ -11,7 +11,7 @@ module GF.Infra.SIO( newStdGen,print,putStrLn, -- ** Specific to GF importGrammar,importSource, - putStrLnFlush,runInterruptibly, + putStrLnFlush,runInterruptibly,lazySIO, -- * Restricted accesss to arbitrary (potentially unsafe) IO operations -- | If the environment variable GF_RESTRICTED is defined, these -- operations will fail. Otherwise, they will be executed normally. @@ -26,6 +26,7 @@ import GF.System.Catch(try) import System.Process(system) import System.Environment(getEnv) import Control.Concurrent.Chan(newChan,writeChan,getChanContents) +import GF.Infra.Concurrency(lazyIO) import qualified System.CPUTime as IO(getCPUTime) import qualified System.Directory as IO(getCurrentDirectory) import qualified System.Random as IO(newStdGen) @@ -91,6 +92,7 @@ getCurrentDirectory = lift0 IO.getCurrentDirectory getLibraryDirectory = lift0 . IO.getLibraryDirectory newStdGen = lift0 IO.newStdGen runInterruptibly = lift1 IO.runInterruptibly +lazySIO = lift1 lazyIO importGrammar pgf opts files = lift0 $ GF.importGrammar pgf opts files -importSource src opts files = lift0 $ GF.importSource src opts files
\ No newline at end of file +importSource src opts files = lift0 $ GF.importSource src opts files |
