The Glorious Glasgow Haskell Compilation System User's Guide
Total Page:16
File Type:pdf, Size:1020Kb
The Glorious Glasgow Haskell Compilation System User’s Guide, Version 7.8.2 i The Glorious Glasgow Haskell Compilation System User’s Guide, Version 7.8.2 The Glorious Glasgow Haskell Compilation System User’s Guide, Version 7.8.2 ii COLLABORATORS TITLE : The Glorious Glasgow Haskell Compilation System User’s Guide, Version 7.8.2 ACTION NAME DATE SIGNATURE WRITTEN BY The GHC Team April 11, 2014 REVISION HISTORY NUMBER DATE DESCRIPTION NAME The Glorious Glasgow Haskell Compilation System User’s Guide, Version 7.8.2 iii Contents 1 Introduction to GHC 1 1.1 Obtaining GHC . .1 1.2 Meta-information: Web sites, mailing lists, etc. .1 1.3 Reporting bugs in GHC . .2 1.4 GHC version numbering policy . .2 1.5 Release notes for version 7.8.1 . .3 1.5.1 Highlights . .3 1.5.2 Full details . .5 1.5.2.1 Language . .5 1.5.2.2 Compiler . .5 1.5.2.3 GHCi . .6 1.5.2.4 Template Haskell . .6 1.5.2.5 Runtime system . .6 1.5.2.6 Build system . .6 1.5.3 Libraries . .6 1.5.3.1 array . .6 1.5.3.2 base . .7 1.5.3.3 bin-package-db . .7 1.5.3.4 binary . .7 1.5.3.5 bytestring . .7 1.5.3.6 Cabal . .8 1.5.3.7 containers . .8 1.5.3.8 deepseq . .8 1.5.3.9 directory . .8 1.5.3.10 filepath . .8 1.5.3.11 ghc-prim . .8 1.5.3.12 haskell98 . .8 1.5.3.13 haskell2010 . .8 1.5.3.14 hoopl . .8 1.5.3.15 hpc . .8 The Glorious Glasgow Haskell Compilation System User’s Guide, Version 7.8.2 iv 1.5.3.16 integer-gmp . .9 1.5.3.17 old-locale . .9 1.5.3.18 old-time . .9 1.5.3.19 process . .9 1.5.3.20 template-haskell . .9 1.5.3.21 time . .9 1.5.3.22 unix . .9 1.5.3.23 Win32 . .9 1.5.4 Known bugs . 10 1.6 Release notes for version 7.8.2 . 10 1.6.1 GHC . 10 2 Using GHCi 11 2.1 Introduction to GHCi . 11 2.2 Loading source files . 11 2.2.1 Modules vs. filenames . 12 2.2.2 Making changes and recompilation . 12 2.3 Loading compiled code . 13 2.4 Interactive evaluation at the prompt . 14 2.4.1 I/O actions at the prompt . 14 2.4.2 Using do-notation at the prompt . 15 2.4.3 Multiline input . 16 2.4.4 Type, class and other declarations . 17 2.4.5 What’s really in scope at the prompt? . 18 2.4.5.1 The effect of :load on what is in scope . 18 2.4.5.2 Controlling what is in scope with import ............................ 19 2.4.5.3 Controlling what is in scope with the :module command . 19 2.4.5.4 Qualified names . 20 2.4.5.5 :module and :load ....................................... 20 2.4.6 The :main and :run commands . 20 2.4.7 The it variable . 21 2.4.8 Type defaulting in GHCi . 21 2.4.9 Using a custom interactive printing function . 22 2.5 The GHCi Debugger . 23 2.5.1 Breakpoints and inspecting variables . 23 2.5.1.1 Setting breakpoints . 25 2.5.1.2 Listing and deleting breakpoints . 26 2.5.2 Single-stepping . 26 2.5.3 Nested breakpoints . 27 The Glorious Glasgow Haskell Compilation System User’s Guide, Version 7.8.2 v 2.5.4 The _result variable . 27 2.5.5 Tracing and history . 27 2.5.6 Debugging exceptions . 29 2.5.7 Example: inspecting functions . 29 2.5.8 Limitations . 30 2.6 Invoking GHCi . 31 2.6.1 Packages . 31 2.6.2 Extra libraries . ..