summaryrefslogtreecommitdiff
path: root/ghc/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* [project @ 2005-03-07 13:18:19 by simonmar]simonmar2005-03-071-23/+32
| | | | Fix validate bug
* [project @ 2005-03-05 11:58:41 by chak]chak2005-03-052-2/+167
| | | | | | | | Extended the commentary with a section about the STG-related parts of GHC (generation of STG from Core, STG passes, and generation of Cmm). [BTW, it's a pity that nobody bothered to write up the new code generation structure when it was implemented not long ago.]
* [project @ 2005-03-02 18:22:11 by simonpj]simonpj2005-03-021-0/+3
| | | | Add note about defaulting
* [project @ 2005-03-02 18:15:36 by simonpj]simonpj2005-03-021-1/+6
| | | | Clarification re overlapping instances; merge to stable
* [project @ 2005-03-01 14:59:18 by simonmar]simonmar2005-03-011-26/+79
| | | | | Work around bugs in DocBook XSL stylesheets: don't put cross-references in section headers.
* [project @ 2005-03-01 14:32:43 by simonmar]simonmar2005-03-011-7/+7
| | | | -no-link is renamed to -c
* [project @ 2005-02-25 17:06:43 by simonpj]simonpj2005-02-251-17/+40
| | | | improve docs for scoped type vars
* [project @ 2005-02-25 14:39:52 by simonmar]simonmar2005-02-251-40/+21
| | | | Turn a Q/A section into a <variablelist> to avoid fop barfage.
* [project @ 2005-02-25 10:53:08 by simonmar]simonmar2005-02-251-0/+8
| | | | Add a pointer to the Cabal docs
* [project @ 2005-02-24 08:59:36 by simonpj]simonpj2005-02-241-0/+10
| | | | Add a clarifying para about Win32 GUI-only programs
* [project @ 2005-02-23 13:46:43 by simonpj]simonpj2005-02-231-12/+21
| | | | | | | | | | | | | | | | | | | | --------------------------------------------- Make type synonyms uniform with data types so far as infix operators are concerned --------------------------------------------- Merge to STABLE This allows type (a :+: b) c d = ... which was prevented before by accident. I've also documented the fact that classes can be infix; and arranged that class constraints in types can be in infix form. f :: (a :=: b) => ....
* [project @ 2005-02-22 16:29:41 by simonpj]simonpj2005-02-221-4/+8
| | | | | | | | | | | ------------------------------------------------------- Change -include-prelude to -include-pkg-deps for ghc -M ------------------------------------------------------- Merge to STABLE This commit just renames the flag for ghc -M to something more sensible.
* [project @ 2005-02-22 15:59:00 by simonpj]simonpj2005-02-221-0/+19
| | | | Commentary stuff
* [project @ 2005-02-17 14:41:36 by simonmar]simonmar2005-02-171-1/+21
| | | | Mention GHC's relaxation of the layout rule
* [project @ 2005-02-15 11:05:43 by simonmar]simonmar2005-02-151-13/+17
| | | | Update documentation of ghc-pkg command
* [project @ 2005-02-14 10:35:07 by simonmar]simonmar2005-02-141-3/+3
| | | | Fix documentation for ghc-pkg list.
* [project @ 2005-02-10 12:35:21 by ross]ross2005-02-101-6/+7
| | | | xrefs to Cabal docs
* [project @ 2005-02-07 09:55:54 by simonpj]simonpj2005-02-071-51/+66
| | | | Better documentation for unboxed types; merge to STABLE
* [project @ 2005-02-02 13:41:08 by simonpj]simonpj2005-02-021-0/+11
| | | | Document dependency printing
* [project @ 2005-02-02 09:59:41 by simonmar]simonmar2005-02-021-0/+17
| | | | Add an entry for "duplicate definition for __module_registered"
* [project @ 2005-02-01 17:49:02 by simonpj]simonpj2005-02-011-32/+39
| | | | Finish docs for hs-boot files; please review!
* [project @ 2005-02-01 17:27:34 by simonpj]simonpj2005-02-011-176/+187
| | | | First cut at hs-boot documentation
* [project @ 2005-01-28 14:41:23 by simonmar]simonmar2005-01-281-3/+11
| | | | x-ref INCLUDE pragmas
* [project @ 2005-01-28 14:41:09 by simonmar]simonmar2005-01-281-0/+25
| | | | Document {-# INCLUDE #-}
* [project @ 2005-01-28 12:55:17 by simonmar]simonmar2005-01-283-9/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rationalise the BUILD,HOST,TARGET defines. Recall that: - build is the platform we're building on - host is the platform we're running on - target is the platform we're generating code for The change is that now we take these definitions as applying from the point of view of the particular source code being built, rather than the point of view of the whole build tree. For example, in RTS and library code, we were previously testing the TARGET platform. But under the new rule, the platform on which this code is going to run is the HOST platform. TARGET only makes sense in the compiler sources. In practical terms, this means that the values of BUILD, HOST & TARGET may vary depending on which part of the build tree we are in. Actual changes: - new file: includes/ghcplatform.h contains platform defines for the RTS and library code. - new file: includes/ghcautoconf.h contains the autoconf settings only (HAVE_BLAH). This is so that we can get hold of these settings independently of the platform defines when necessary (eg. in GHC). - ghcconfig.h now #includes both ghcplatform.h and ghcautoconf.h. - MachRegs.h, which is included into both the compiler and the RTS, now has to cope with the fact that it might need to test either _TARGET_ or _HOST_ depending on the context. - the compiler's Makefile now generates stage{1,2,3}/ghc_boot_platform.h which contains platform defines for the compiler. These differ depending on the stage, of course: in stage2, the HOST is the TARGET of stage1. This was wrong before. - The compiler doesn't get platform info from Config.hs any more. Previously it did (sometimes), but unless we want to generate a new Config.hs for each stage we can't do this. - GHC now helpfully defines *_{BUILD,HOST}_{OS,ARCH} automatically in CPP'd Haskell source. - ghcplatform.h defines *_TARGET_* for backwards compatibility (ghcplatform.h is included by ghcconfig.h, which is included by config.h, so code which still #includes config.h will get the TARGET settings as before). - The Users's Guide is updated to mention *_HOST_* rather than *_TARGET_*. - coding-style.html in the commentary now contains a section on platform defines. There are further doc updates to come. Thanks to Wolfgang Thaller for pointing me in the right direction.
* [project @ 2005-01-27 15:55:38 by simonpj]simonpj2005-01-271-2/+3
| | | | Make -no-recomp a dynamic flag
* [project @ 2005-01-27 10:44:00 by simonpj]simonpj2005-01-271-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -------------------------------------------- Replace hi-boot files with hs-boot files -------------------------------------------- This major commit completely re-organises the way that recursive modules are dealt with. * It should have NO EFFECT if you do not use recursive modules * It is a BREAKING CHANGE if you do ====== Warning: .hi-file format has changed, so if you are ====== updating into an existing HEAD build, you'll ====== need to make clean and re-make The details: [documentation still to be done] * Recursive loops are now broken with Foo.hs-boot (or Foo.lhs-boot), not Foo.hi-boot * An hs-boot files is a proper source file. It is compiled just like a regular Haskell source file: ghc Foo.hs generates Foo.hi, Foo.o ghc Foo.hs-boot generates Foo.hi-boot, Foo.o-boot * hs-boot files are precisely a subset of Haskell. In particular: - they have the same import, export, and scoping rules - errors (such as kind errors) in hs-boot files are checked You do *not* need to mention the "original" name of something in an hs-boot file, any more than you do in any other Haskell module. * The Foo.hi-boot file generated by compiling Foo.hs-boot is a machine- generated interface file, in precisely the same format as Foo.hi * When compiling Foo.hs, its exports are checked for compatibility with Foo.hi-boot (previously generated by compiling Foo.hs-boot) * The dependency analyser (ghc -M) knows about Foo.hs-boot files, and generates appropriate dependencies. For regular source files it generates Foo.o : Foo.hs Foo.o : Baz.hi -- Foo.hs imports Baz Foo.o : Bog.hi-boot -- Foo.hs source-imports Bog For a hs-boot file it generates similar dependencies Bog.o-boot : Bog.hs-boot Bog.o-boot : Nib.hi -- Bog.hs-boto imports Nib * ghc -M is also enhanced to use the compilation manager dependency chasing, so that ghc -M Main will usually do the job. No need to enumerate all the source files. * The -c flag is no longer a "compiler mode". It simply means "omit the link step", and synonymous with -no-link.
* [project @ 2005-01-21 12:48:38 by simonmar]simonmar2005-01-212-415/+789
| | | | Update packages documentation (phew)
* [project @ 2005-01-19 10:04:17 by simonmar]simonmar2005-01-191-7/+13
| | | | Mention -fffi in this chapter.
* [project @ 2005-01-11 16:06:56 by simonmar]simonmar2005-01-112-15/+18
| | | | Rename OPTIONS to OPTIONS_GHC.
* [project @ 2005-01-06 19:01:10 by igloo]igloo2005-01-061-0/+49
| | | | Document some missing flags.
* [project @ 2004-12-22 16:58:34 by simonpj]simonpj2004-12-222-15/+33
| | | | | | | | | | | | | | | | | ---------------------------------------- Add more scoped type variables ---------------------------------------- Now the top-level forall'd variables of a type signature scope over the right hand side of that function. f :: a -> a f x = .... The type variable 'a' is in scope in the RHS, and in f's patterns. It's implied by -fglasgow-exts, but can also be switched off independently using -fscoped-type-variables (and the -fno variant)
* [project @ 2004-12-22 12:04:14 by simonpj]simonpj2004-12-222-0/+29
| | | | | | | | | | | | | -------------------------- Add -fwarn-orphans flag -------------------------- This gives a decent report for modules that contain 'orphan' instance and rule declarations. These are to be avoided, because GHC has to proactively read the interface file every single time, just in case the instance/rule is needed. The flag just gives a convenient way of identifying the culprits.
* [project @ 2004-12-18 15:45:56 by panne]panne2004-12-181-2/+2
| | | | | The documentation breakage continues... >:-( Fixed DocBook. Again: "make html" (or the faster "make validate" in the case of DocBook XML) is your friend! >:-(
* [project @ 2004-12-17 15:26:07 by simonmar]simonmar2004-12-171-4/+12
| | | | Add entry about Ctrl-C on Windows
* [project @ 2004-12-03 16:02:44 by simonpj]simonpj2004-12-031-1/+1
| | | | Update TH import
* [project @ 2004-11-30 14:55:10 by simonpj]simonpj2004-11-301-2/+2
| | | | Docmunent -fmonomorphism-restriction and -fimplicit-prelude
* [project @ 2004-11-26 13:42:37 by simonpj]simonpj2004-11-262-94/+63
| | | | Document overlapping instances
* [project @ 2004-11-26 13:42:21 by simonpj]simonpj2004-11-261-6/+13
| | | | More about hi-boot files
* [project @ 2004-11-22 16:39:37 by simonmar]simonmar2004-11-221-0/+8
| | | | Add readline/GHCi/Windows entry
* [project @ 2004-11-13 13:53:32 by panne]panne2004-11-131-1/+2
| | | | | Fixed DocBook XML once again. Perhaps I should add a "make validate" CVS hook, hmmm... >:-)
* [project @ 2004-11-12 15:17:42 by simonmar]simonmar2004-11-121-0/+14
| | | | Add Haskell 98 isAlpha divergence
* [project @ 2004-10-18 18:24:59 by igloo]igloo2004-10-182-0/+34
| | | | Implement -fwarn-incomplete-record-updates
* [project @ 2004-10-09 13:21:15 by panne]panne2004-10-091-25/+25
| | | | Fixed some links
* [project @ 2004-10-06 06:14:29 by panne]panne2004-10-061-1/+1
| | | | Use XML mode, not SGML
* [project @ 2004-10-05 13:56:31 by simonmar]simonmar2004-10-052-1/+40
| | | | Document -ferror-spans
* [project @ 2004-10-03 16:17:08 by ross]ross2004-10-0314-52/+52
| | | | spelling
* [project @ 2004-10-01 16:04:23 by simonpj]simonpj2004-10-011-0/+103
| | | | First-cut documentation for GADTs
* [project @ 2004-10-01 16:03:58 by simonpj]simonpj2004-10-011-5/+16
| | | | A bit more about hi-boot
* [project @ 2004-09-30 21:00:57 by panne]panne2004-09-301-1/+1
| | | | Stylistic changes