summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gf.cabal2
-rw-r--r--src/runtime/haskell-bind/examples/pgf-shell.hs4
-rw-r--r--src/runtime/haskell-bind/haskell-bind.cabal2
3 files changed, 7 insertions, 1 deletions
diff --git a/gf.cabal b/gf.cabal
index 5824aaed2..dd74aaf92 100644
--- a/gf.cabal
+++ b/gf.cabal
@@ -255,6 +255,8 @@ executable pgf-shell
hs-source-dirs: src/runtime/haskell-bind/examples
build-depends: gf, base
default-language: Haskell2010
+ if impl(ghc>=7.0)
+ ghc-options: -rtsopts
test-suite rgl-tests
type: exitcode-stdio-1.0
diff --git a/src/runtime/haskell-bind/examples/pgf-shell.hs b/src/runtime/haskell-bind/examples/pgf-shell.hs
index 04b6522da..224c16512 100644
--- a/src/runtime/haskell-bind/examples/pgf-shell.hs
+++ b/src/runtime/haskell-bind/examples/pgf-shell.hs
@@ -14,6 +14,7 @@ import System.IO.Error(catchIOError)
import System.Environment
import CRuntimeFFI
import CId
+import System.Mem(performGC)
main = getPGF =<< getArgs
@@ -21,7 +22,8 @@ getPGF [path] = pgfShell =<< readPGF path
getPGF _ = putStrLn "Usage: pgf-shell <path to pgf>"
pgfShell pgf =
- forever $ do putStr "> "; hFlush stdout
+ forever $ do performGC
+ putStr "> "; hFlush stdout
execute pgf =<< readLn
execute pgf cmd =
diff --git a/src/runtime/haskell-bind/haskell-bind.cabal b/src/runtime/haskell-bind/haskell-bind.cabal
index 8f8f62321..31f2a75d2 100644
--- a/src/runtime/haskell-bind/haskell-bind.cabal
+++ b/src/runtime/haskell-bind/haskell-bind.cabal
@@ -31,3 +31,5 @@ executable pgf-shell
hs-source-dirs: examples
build-depends: base, haskell-bind
default-language: Haskell2010
+ if impl(ghc>=7.0)
+ ghc-options: -rtsopts