- 29 Nov, 2004 4 commits
- 26 Nov, 2004 7 commits
-
-
simonmar authored
unregister/describe: allow the package name to be given without the version, as long as it is unambiguous. Strange, I was sure I'd implemented expose/hide in here, but they're stubbed out. Oh well.
-
simonmar authored
Undo
-
simonmar authored
Further integration with the new package story. GHC now supports pretty much everything in the package proposal. - GHC now works in terms of PackageIds (<pkg>-<version>) rather than just package names. You can still specify package names without versions on the command line, as long as the name is unambiguous. - GHC understands hidden/exposed modules in a package, and will refuse to import a hidden module. Also, the hidden/eposed status of packages is taken into account. - I had to remove the old package syntax from ghc-pkg, backwards compatibility isn't really practical. - All the package.conf.in files have been rewritten in the new syntax, and contain a complete list of modules in the package. I've set all the versions to 1.0 for now - please check your package(s) and fix the version number & other info appropriately. - New options: -hide-package P sets the expose flag on package P to False -ignore-package P unregisters P for this compilation For comparison, -package P sets the expose flag on package P to True, and also causes P to be linked in eagerly. -package-name is no longer officially supported. Unofficially, it's a synonym for -ignore-package, which has more or less the same effect as -package-name used to. Note that a package may be hidden and yet still be linked into the program, by virtue of being a dependency of some other package. To completely remove a package from the compiler's internal database, use -ignore-package. The compiler will complain if any two packages in the transitive closure of exposed packages contain the same module. You *must* use -ignore-package P when compiling modules for package P, if package P (or an older version of P) is already registered. The compiler will helpfully complain if you don't. The fptools build system does this. - Note: the Cabal library won't work yet. It still thinks GHC uses the old package config syntax. Internal changes/cleanups: - The ModuleName type has gone away. Modules are now just (a newtype of) FastStrings, and don't contain any package information. All the package-related knowledge is in DynFlags, which is passed down to where it is needed. - DynFlags manipulation has been cleaned up somewhat: there are no global variables holding DynFlags any more, instead the DynFlags are passed around properly. - There are a few less global variables in GHC. Lots more are scheduled for removal. - -i is now a dynamic flag, as are all the package-related flags (but using them in {-# OPTIONS #-} is Officially Not Recommended). - make -j now appears to work under fptools/libraries/. Probably wouldn't take much to get it working for a whole build.
-
simonmar authored
Add missing .hi-boot files
-
simonmar authored
Further integration with the new package story. GHC now supports pretty much everything in the package proposal. - GHC now works in terms of PackageIds (<pkg>-<version>) rather than just package names. You can still specify package names without versions on the command line, as long as the name is unambiguous. - GHC understands hidden/exposed modules in a package, and will refuse to import a hidden module. Also, the hidden/eposed status of packages is taken into account. - I had to remove the old package syntax from ghc-pkg, backwards compatibility isn't really practical. - All the package.conf.in files have been rewritten in the new syntax, and contain a complete list of modules in the package. I've set all the versions to 1.0 for now - please check your package(s) and fix the version number & other info appropriately. - New options: -hide-package P sets the expose flag on package P to False -ignore-package P unregisters P for this compilation For comparison, -package P sets the expose flag on package P to True, and also causes P to be linked in eagerly. -package-name is no longer officially supported. Unofficially, it's a synonym for -ignore-package, which has more or less the same effect as -package-name used to. Note that a package may be hidden and yet still be linked into the program, by virtue of being a dependency of some other package. To completely remove a package from the compiler's internal database, use -ignore-package. The compiler will complain if any two packages in the transitive closure of exposed packages contain the same module. You *must* use -ignore-package P when compiling modules for package P, if package P (or an older version of P) is already registered. The compiler will helpfully complain if you don't. The fptools build system does this. - Note: the Cabal library won't work yet. It still thinks GHC uses the old package config syntax. Internal changes/cleanups: - The ModuleName type has gone away. Modules are now just (a newtype of) FastStrings, and don't contain any package information. All the package-related knowledge is in DynFlags, which is passed down to where it is needed. - DynFlags manipulation has been cleaned up somewhat: there are no global variables holding DynFlags any more, instead the DynFlags are passed around properly. - There are a few less global variables in GHC. Lots more are scheduled for removal. - -i is now a dynamic flag, as are all the package-related flags (but using them in {-# OPTIONS #-} is Officially Not Recommended). - make -j now appears to work under fptools/libraries/. Probably wouldn't take much to get it working for a whole build.
-
simonpj authored
Document overlapping instances
-
simonpj authored
More about hi-boot files
-
- 25 Nov, 2004 1 commit
-
-
simonpj authored
------------------------------------------ Keep-alive set and Template Haskell quotes ------------------------------------------ a) Template Haskell quotes should be able to mention top-leve things without resorting to lifting. Example module Foo( foo ) where f x = x foo = [| f 4 |] Here the reference to 'f' is ok; no need to 'lift' it. The relevant changes are in TcExpr.tcId b) However, we must take care not to discard the binding for f, so we add it to the 'keep-alive' set for the module. I've now made this into (another) mutable bucket, tcg_keep, in the TcGblEnv c) That in turn led me to look at the handling of orphan rules; as a result I made IdCoreRule into its own data type, which has simle but non-local ramifications
-
- 24 Nov, 2004 1 commit
-
-
simonmar authored
Update s/r conflict total after Ross added four more. The total according to the comment is currently one more than the real number, so one of them must have gone away. At some point we should track down which one.
-
- 23 Nov, 2004 3 commits
- 22 Nov, 2004 7 commits
-
-
simonmar authored
Fix mkdependHS behaviour
-
simonmar authored
\r is whitespace
-
simonmar authored
Add readline/GHCi/Windows entry
-
simonmar authored
Check the result of System.Cmd.system
-
simonmar authored
threadRunnable: Fix (probably harmless) buglet
-
desrt authored
#ifdef powerpc64: fixed errors in run/return code revealed by testing
-
wolfgang authored
Fix memory transaction primops for 64bit: The proper way to write (StgBool) true and false in Cmm is 1 :: CInt and 0 :: CInt, respectively. This is because StgBool is defined as int, which is often 32bit on 64bit platforms, while Cmm integer literals without type annotations are 64bit words on 64bit platforms. So everyone please remember: int and StgBool are not always the same size as StgInt, StgWord and W_.
-
- 21 Nov, 2004 4 commits
-
-
panne authored
Pushed down OpenGL/GLUT/OpenAL autoconf stuff to the respective directories. All packages are now built automatically if possible and if they are not explicitly disabled. NOTE: The "--enable-hopengl" option is now split into "--enable-opengl" and "--enable-glut".
-
desrt authored
rtsconfig, smrep: fixes to not put info next to code (like ia64) machregs: define registers for powerpc64 - same as ppc32 tailcalls: for now do tailcalls as normal calls. (ok on powerpc since calls don't grow the stack and we don't care about LR anyway)
-
desrt authored
Added an StgRun for powerpc64/Linux Fixed a typo in the code for powerpc32 Linux and Darwin
-
panne authored
Fixed include paths. Thinking about the convoluted dependencies between ghc, ghc-pkg and libraries really makes me dizzy... Some cleanup and simplification is needed here *urgently*, this stuff is currently beyond my grasp.
-
- 20 Nov, 2004 2 commits
- 19 Nov, 2004 2 commits
- 18 Nov, 2004 3 commits
- 17 Nov, 2004 2 commits
-
-
sof authored
Expose Win32 console event handling to the user. Added RTS support for registering and delivering console events quite a while ago (rts/win32/ConsoleHandler.c), but got bored with it before completing the job. Here's the concluding commit; it does the following: - new module, base/GHC/ConsoleHandler.hs which supports registering of console event handlers (the null module on plats other than mingw). - special handling of aborted async read()s on 'standard input' in rts/win32/IOManager.c (together with GHC.Conc.asyncRead). See comments in that IOManager.c as to why this is needed. [ Any other code that performs blocking I/O on 'standard input' will need to be tweaked too to be console event handler/signal friendly.] - for now, disable the delivery of 'close' events (see rts/win32/ConsoleHandler.c:generic_handler() for reasons why) Feel free to hoik GHC/ConsoleHandler.hs around the lib hierarchy to wherever is considered more fitting. Unifying functionality between System.Posix.Signals and GHC.ConsoleHandler is one (obvious) thing to do. -- Demonstrating GHC.ConsoleHandler use; win32 only module Main(main) where import GHC.ConsoleHandler import System.IO (hFlush, stdout) import GHC.Conc (threadDelay) main :: IO () main = do installHandler (Catch (\ _ -> putStrLn "Caught console event; ignoring" >> hFlush stdout)) loop where loop = do threadDelay 100000 ls <- getLine putStrLn ls loop --
-
josefs authored
Needed to include a header file in Compat/Directory on windows
-
- 16 Nov, 2004 2 commits
- 15 Nov, 2004 1 commit
-
-
simonmar authored
Need to add System to ALL_DIRS
-
- 14 Nov, 2004 1 commit
-
-
krasimir authored
Use findExecutable from Compat.Directory instead of its own findBinary. Now the tool works under Windows as well as under Linux. With cygwin we can use #!runghc ...
-