07.01.2014 Views

The Glorious Glasgow Haskell Compilation System User's Guide ...

The Glorious Glasgow Haskell Compilation System User's Guide ...

The Glorious Glasgow Haskell Compilation System User's Guide ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>The</strong> <strong>Glorious</strong> <strong>Glasgow</strong> <strong>Haskell</strong><br />

<strong>Compilation</strong> <strong>System</strong> User’s <strong>Guide</strong>,<br />

Version 6.10.4 7 / 224<br />

– -fallow-incoherent-instances (use the IncoherentInstances language extension instead)<br />

– -optdep-s (use -dep-suffix instead)<br />

– -optdep-f (use -dep-makefile instead)<br />

– -optdep-w (has no effect)<br />

– -optdep--include-prelude (use -include-pkg-deps instead)<br />

– -optdep--include-pkg-deps (use -include-pkg-deps instead)<br />

– -optdep--exclude-module (use -exclude-module instead)<br />

– -optdep-x (use -exclude-module instead)<br />

• <strong>The</strong> following flags have been removed:<br />

– -no-link-chk (has been a no-op since at least 6.0)<br />

– -fruntime-types (has not been used for years)<br />

– -fhardwire-lib-paths (use -dynload sysdep)<br />

• <strong>The</strong> -unreg flag, which was used to build unregisterised code with a registerised compiler, has been removed. Now you need<br />

to build an unregisterised compiler if you want to build unregisterised code.<br />

1.8.3 GHC API changes<br />

• <strong>The</strong>re is now a Ghc Monad used to carry around GHC’s Session data. This Monad also provides exception handling functions.<br />

• It is now possible to get the raw characters corresponding to each token the lexer outputs, and thus to reconstruct the original<br />

file.<br />

• GHCi implicitly brings all exposed modules into scope with qualified module names. <strong>The</strong>re is a new flag -fimplicit-import-qualified<br />

that controls this behaviour, so other GHC API clients can specify whether or not they want it.<br />

• <strong>The</strong>re is now haddock documentation for much of the GHC API.<br />

1.8.4 GHCi changes<br />

• You can now force GHCi to interpret a module, rather than loading its compiled code, by prepending a * character to its name,<br />

e.g.<br />

Prelude> :load *A<br />

Compiling A ( A.hs, interpreted )<br />

*A><br />

• By default, GHCi will not print bind results, e.g.<br />

Prelude> c <br />

does not print ’c’. Use -fprint-bind-result if you want the old behaviour.<br />

• GHCi now uses editline, rather than readline, for input. This shouldn’t affect its behaviour.<br />

• <strong>The</strong> GHCi prompt history is now saved in ~/.ghc/ghci_history.<br />

• GHCi now uses libffi to make FFI calls, which means that the FFI now works in GHCi on a much wider range of platforms (all<br />

those platforms that libffi supports).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!