- 27 Jan, 2005 1 commit
-
-
simonpj authored
-------------------------------------------- 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.
-
- 11 Jan, 2005 1 commit
-
-
simonmar authored
Use OPTIONS_GHC instead of OPTIONS
-
- 25 Jun, 2004 1 commit
-
-
ross authored
more Ptr/FunPtr documentation
-
- 23 Sep, 2003 1 commit
-
-
panne authored
Unbreak Show instance for Ptr caused by the changes to showHex merge to STABLE
-
- 08 Mar, 2003 1 commit
-
-
panne authored
More markup fixes...
-
- 12 Dec, 2002 1 commit
-
-
ross authored
Hugs only: add an import.
-
- 14 Oct, 2002 1 commit
-
-
ross authored
#ifdef tweaks
-
- 11 Oct, 2002 1 commit
-
-
malcolm authored
Make some more libraries buildable with nhc98.
-
- 31 May, 2002 1 commit
-
-
panne authored
Added Show instance for FunPtr
-
- 09 May, 2002 2 commits
- 26 Apr, 2002 1 commit
-
-
simonmar authored
Remove \$Id\$ from all files: it isn't particularly useful (see previous discussion on cvs-ghc@haskell.org), and it confuses Haddock.
-
- 24 Apr, 2002 1 commit
-
-
simonmar authored
Add the single character '|' to the header comment of each module so that Haddock will parse it as the module documentation.
-
- 20 Mar, 2002 1 commit
-
-
simonmar authored
convert to new-style FFI declarations
-
- 14 Mar, 2002 1 commit
-
-
simonmar authored
Eliminate some orphan-instance modules to speed up compilation. I decided to just bite the bullet and give Data.Dynamic an .hi-boot file, so I could remove GHC.Dynamic altogether, move its data types into Data.Dynamic and hence prevent Data.Dynamic from being an orphan module. Furthermore, GHC.Dynamic wasn't GHC specific - its only purpose in life was to prevent module loops, so having it at all was artificial.
-
- 27 Feb, 2002 1 commit
-
-
simonmar authored
remove unnecessary import of GHC.Prim
-
- 11 Feb, 2002 1 commit
-
-
simonmar authored
Add missing Show instance for Ptr.
-
- 03 Jul, 2001 1 commit
-
-
simonmar authored
Latest round of changes, incorporating: - some changes to the portability/stability requested by Malcolm - Control.Monad.Fix is portable, IO/ST instances moved to System.IO, Control.Monad.ST respectively. - GHC.Tup moved to Data.Tuple, the code in here is mostly portable (and the interface better be).
-
- 28 Jun, 2001 1 commit
-
-
simonmar authored
First cut of the Haskell Core Libraries ======================================= NOTE: it's not meant to be a working snapshot. The code is just here to look at and so the NHC/Hugs guys can start playing around with it. There is no build system. For GHC, the libraries tree is intended to be grafted onto an existing fptools/ tree, and the Makefile in libraries/core is a quick hack for that setup. This won't work at the moment without the other changes needed in fptools/ghc, which I haven't committed because they'll cause breakage. However, with the changes required these sources build a working Prelude and libraries. The layout mostly follows the one we agreed on, with one or two minor changes; in particular the Data/Array layout probably isn't final (there are several choices here). The document is in libraries/core/doc as promised. The cbits stuff is just a copy of ghc/lib/std/cbits and has GHC-specific stuff in it. We should really separate the compiler-specific C support from any compiler-independent C support there might be. Don't pay too much attention to the portability or stability status indicated in the header of each source file at the moment - I haven't gone through to make sure they're all consistent and make sense. I'm using non-literate source outside of GHC/. Hope that's ok with everyone. We need to discuss how the build system is going to work...
-