- 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.
-
- 26 Jan, 2005 8 commits
-
-
simonmar authored
Add System.Directory to $(ALL_DIRS)
-
simonmar authored
remove System.FilePath; add System.Directory.Internals.
-
malcolm authored
Remove System.FilePath.
-
simonmar authored
Remove System.FilePath pending a redesign of the interface. Temporarily introduce System.Directory.Internals as a home for some of the bits of System.FilePath we were already using elsewhere.
-
malcolm authored
Patch from John Meacham: Generalise a couple functions in Data.Map to be usable in an arbitrary monad (rather than being restricted to Maybe).
-
malcolm authored
Fix module name.
-
malcolm authored
Change stability notation from 'stable' to 'experimental', since many people seem to agree there are plenty of bugs here.
-
simonmar authored
I think InvalidArgument is more useful than OtherError for EBADF.
-
- 25 Jan, 2005 2 commits
- 24 Jan, 2005 1 commit
-
-
wolfgang authored
Always flush stdout & stderr at exit, even when terminating abnormally due to an exception.
-
- 23 Jan, 2005 4 commits
-
-
wolfgang authored
Flush stdout and stderr also when exiting due to an ExitException.
-
panne authored
Added Isaac's getOpt variant (named getOpt' now), so System.Console.GetOpt and Distribution.GetOpt are identical now.
-
panne authored
Unify the base and Cabal versions of GetOpt a bit.
-
panne authored
* Nuked one #ifdef in isPathSeparator, the generated code is the same * Added a ToDo for searchPathSeparator
-
- 22 Jan, 2005 1 commit
-
-
panne authored
Doc change only: I don't think that toList should give the guarantee that the resulting list is in ascending order...
-
- 21 Jan, 2005 7 commits
-
-
panne authored
*sigh* Once again: Fixed a Haddock comment which broke "make html"... Why on earth do we have "make validate"?? :´-( I think we should introduce some kind of disciplinary punishment for checking in broken Haddock comments, like porting the mangler to a new platform or porting Adjustor.c to an ABI more irregular than the one on PowerPC...
-
sof authored
win32 only: Tidy up delivery and handling of console events by having the low-level console event handler signal the RTS thread blocked waiting for I/O.
-
simonmar authored
Don't try to run finalizers at program exit. This turned out to be hard if not impossible to do in general, so now we don't attempt it at all. The Main.main wrapper, previously called runIO and now called runMainIO, flushes stdout and stderr before exiting. This should catch most cases where programs rely on Handles being flushed at program exit, but note that now if you simply drop a Handle in your program, there's no guarantee it'll be flushed on exit. If the punters complain enough, I suppose we could implement a global Handle table and flush them all at exit... I'd rather not do this if possible, though. Better to teach people to close their Handles properly.
-
simonmar authored
hClose on stdin,stdout,stderr now actually closes the file descriptor. Before, there was no way to actually close these file descriptors, which might be necessary in some cases - especially when stdin/stdout are pipes and you need to indicate to the other end of the pipe that you've finished I/O, but without exiting the program.
-
ross authored
alter the interface of splitLookup and splitMember, placing the match between the trees of smaller and larger elements in the returned triple.
-
ross authored
refine docs a bit
-
malcolm authored
Typo
-
- 20 Jan, 2005 5 commits
-
-
ross authored
cross-references and minor doc fixes
-
malcolm authored
Lots more new dependencies.
-
simonmar authored
Fill in the haddock-interfaces and haddock-html fields in the package.conf files. To do this I had to make some changes: - haddock-interfaces requires the value of $(datadir). We can't just plug this in, because $(datadir) might change at install-time (eg. a Windows installer can be placed anywhere, as can a Unix binary .tar.gz distribution). The current trick is for the compiler to splice in the value of $libdir in package.conf at runtime. So we could extend this mechanism and tell the compiler the value of $datadir via a command-line option, but that seems ugly. On Windows, $datadir==$libdir, so we don't need any changes: package.conf still uses $libdir, and a Windows installation is independent of its absolute location. Even 'make install' on Windows should have this property. On Unix: - for 'make install' and in-place execution, we just use absolute paths in package.conf - for a binary dist, we generate a package.conf that refers to $libdir and $datadir, and splice in the values at install-time (distrib/Makefile-bin.in). - Also, I renamed $libdir to $topdir to more closely reflect its actual meaning. This is somewhat malicious in that it will flush out all those clients using $libdir when they really shouldn't be :-)
-
malcolm authored
Hook up Data.FunctorM, and update dependencies from Data.Set, Data.IntMap, Data.Map etc, on Data.Typeable.
-
malcolm authored
Include Typeable instance for nhc98.
-
- 19 Jan, 2005 4 commits
-
-
ross authored
Move comments inside #if's they refer to -- makes the cpp output, e.g. as seen by Hugs users, more sensible.
-
ross authored
fix name in Typeable instance
-
ralf authored
Added quite a few more Data instances. For these datatypes: - Data.Array - Data.FiniteMap - Data.IntMap - Data.IntSet - Data.Map - Data.Set - GHC.ST - GHC.ForeignPtr - Control.Concurrent.MVar and friends (In some cases, this also required adding Typeable instances.) Most or all additions have been tagged by #ifdef __GLASGOW_HASKELL__ ... For the _abstract_ datatypes in the above list, we use the from... and to... projections and injections so that we can process the containers or whatever as lists. We don't provide the reflection API for abstract datatypes. If anyone sees Data-wanting datatypes in the base or elsewhere in the module space, please let me know, or please go ahead, and add coverage for SYB. As far as I understand, the base code cannot use "deriving (Typeable, Data)", whereas this is very well an option for non-base modules. Indeed it is readily done like this in: - network/Network/URI - haskell-src
-
ross authored
document the deprecated functions, and redirect mkSet to fromList
-
- 18 Jan, 2005 2 commits
- 17 Jan, 2005 3 commits
- 16 Jan, 2005 2 commits