blob: 521458f67d9077fdb7fa23bf5235017501bbab3e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#!/bin/sh -xe
# Runs ghc-stage2 with GHCi settings that allow GHC to be loaded and run in the
# interpreter. Options provided on the command-line will be passed directly to
# the GHCi invocation.
# Note that this script is intended to be run from the root of the GHC repo,
# like this:
# ./utils/ghc-in-ghci/run.sh
# This is substantially faster than doing an actual compile, and so can aid in
# tighter development iterations. It can be made even faster by specifying "-jN"
# for parallelism. Typically choosing an N value close to the number of logical
# CPU cores you have leads to faster loads. Here's how to specify -j:
# ./utils/ghc-in-ghci/run.sh -j4
# The script will also run `:load Main`, to load GHC's main module. After that,
# running `main` will run an inner GHCi, because there is a default `:set args
# --interactive ...`. To override this, use `:set args ...` or `:main ...`.
# If you don't want to wait for `:load Main`, since you want to load some other
# module, then you can use `Ctrl+C` to cancel the initial load.
export _GHC_TOP_DIR=./inplace/lib
exec ./inplace/bin/ghc-stage2 \
--interactive \
-ghci-script ./utils/ghc-in-ghci/settings.ghci \
-ghci-script ./utils/ghc-in-ghci/load-main.ghci \
+RTS -A128m -RTS \
"$@"
|