- Mar 23, 2005
-
- Feb 18, 2005
-
-
simonmar authored
Rename fields in InstalledPackageInfo for consistency with PackageDescription & buildInfo: extra-libs (extraLibraries) --> extra-libraries (extraLibraries) extra-cc-opts (extraCcOpts) --> cc-options (ccOptions) extra-ld-opts (extraLdOpts) --> ld-options (ldOptions) extra-hugs-opts (extraHugsOpts) --> hugs-options (hugsOptions) extra-frameworks (extraFrameworks) --> frameworks (frameworks)
-
- Feb 11, 2005
-
-
ross authored
track syntax changes: * add License-File and Synopsis fields * rename Hidden-Fields as Other-Fields These files are used only by Hugs, but are also useful as examples.
-
- Jan 25, 2005
-
-
ross authored
add Cabal package descriptions
-
- Jan 20, 2005
-
-
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 :-)
-
- Jan 11, 2005
-
-
ross authored
System.IO no longer re-exports System.IO.Error
-
- Nov 26, 2004
-
-
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.
-
- Sep 08, 2004
-
-
ross authored
remove unneeded #includes of ghcconfig.h
-
- Aug 13, 2004
-
-
simonmar authored
Changes required be merge of backend-hacking-branch. Mostly config.h ==> ghcconfig.h.
-
- Jul 30, 2004
-
-
ross authored
reword, saying these are wrappers
-
- Jul 29, 2004
-
-
ross authored
update, adding a pointer to the FFI addendum
-
- Nov 15, 2003
-
-
panne authored
Decouple packages a bit more again: The prologue of the combined index is now generated via shell magic from the package prologues. As a nice side effect, some autoconf magic is gone, so configure.ac is effectively empty now (but not for long... :-)
-
- Nov 11, 2003
-
-
simonmar authored
Convert to use Haddock 0.6's combined contents/index functionality for the hierarchical library docs. HEADS UP: you need Haddock 0.6 in order to run 'make html' in fptools/libraries now.
-
- Nov 10, 2003
-
-
simonmar authored
Change the documentation title from "Haskell Core Libraries" to "Haskell Hierarchical Libraries".
-
- May 17, 2003
-
-
ross authored
Rename per-package configuration files from $(PACKAGE).conf.* to package.conf.*, making them easier to find (since each package is in a separate directory anyway).
-
- May 16, 2003
-
-
simonmar authored
Now that we have auto packages, it makes sense to keep all the interfaces for hierarchical libraries in the same directory tree. So now, instead of putting interfaces for package P in $libdir/imports/P, we put them all in $libdir/imports. Interfaces for old non-auto non-hierarchical packages now go in $libdir/hslibs-imports/P for package P.
-
- Dec 18, 2002
-
-
simonmar authored
"Auto" packages. The big change here is that it is no longer necessary to explicitly say '-package X' on the command line if X is a package containing hierarchical Haskell modules. All packages marked "auto" contribute to the import path, so their modules are always available. At link time, the compiler knows which packages are actually used by the program, and it links in only those libraries needed. There's one exception: one-shot linking. If you link a program using ghc -o prog A.o B.o ... then you need to explicitly add -package flags for each package required (except base & haskell98) because the compiler has no information about the package dependencies in this case. Package configs have a new field: auto, which is either True or False. Non-auto packages must be mentioned on the command-line as usual. Non-auto packages are still required for: - non-hierarchical libraries (to avoid polluting the module namespace) - packages with no Haskell content - if you want more than one version of a package, or packages providing overlapping functionality where the user must decide which one to use. Doc changes to follow...
-
- Dec 12, 2002
-
-
ross authored
Changes to the exception interface, as discussed on the libraries list. 1) Move bracket and bracket_ from GHC.Exception (and hence System.IO) to haskell98/IO.hs. These two should now never be used (except in all-H98 programs), and this will save users of the new libraries from having to hide them. Use the ones in Control.Exception instead. 2) Define type IOError = IOException -- was Exception leaving the type of Prelude.ioError as IOError -> IO a, but adding to Control.Exception throwIO :: Exception -> IO a The result is a type distinction between the variants of catch and try: Prelude.catch :: IO a -> (IOError -> IO a) -> IO a Control.Exception.catch :: IO a -> (Exception -> IO a) -> IO a System.IO.Error.try :: IO a -> IO (Either IOError a) Control.Exception.try :: IO a -> IO (Either Exception a) These are breaking changes: the first one affects only import lists, but the second will bite in the following situations: - using ioError on general Exceptions: use throwIO instead. - using throw on IOErrors: if in the IO monad, use ioError instead. Otherwise, use throw (IOException e), but why are you throwing IO exceptions outside of the IO monad? Minor changes: - System.IO.Error now exports catch and try - moved try from GHC.Exception to System.IO.Error, because it's portable and can be shared by Hugs.
-
- Dec 05, 2002
-
-
simonmar authored
illegalOperationType ==> illegalOperationErrorType
-
- Dec 04, 2002
- Sep 29, 2002
-
-
panne authored
Warning police #2: Foreign.C.Types subsumes Foreign.C.TypesISO nowadays, so let's nuke the latter from CTypes.
-
- Sep 16, 2002
-
-
malcolm authored
Export the constructor `TimeLocale' as per the Haskell'98 Report.
-
- Aug 28, 2002
-
-
simonmar authored
The standard FFI libraries now live in the haskell98 package, as they are defined by a Haskell98 addendum. The lang package is no longer required to get at these.
-
- Aug 12, 2002
-
-
simonmar authored
cut-n-paste the export lists from the H98 Libraries Report, to make these modules robust w.r.t. changes to the hierarchical libraries.
-
- Jul 16, 2002
-
- Jul 02, 2002
-
- Jun 24, 2002
-
-
simonmar authored
Makefile updates for generating docs with Haddock: - explicitly depend on package base - set SRC_HADDOCK_OPTS in some places
-
- Apr 02, 2002
-
-
simonmar authored
Hide the non-H98 bits exported by System.Locale
- Feb 17, 2002
-
-
panne authored
Synch import_dirs with the result of "make install". It could have been fixed the other way round, but fixing the config files makes more sense to me. Furthermore, I've got a 50% chance of taking the correct route by pure accident... ;-)
-
- Feb 12, 2002
- Feb 07, 2002
-
-
simonmar authored
Various updates after rearranging the directory structure in the repository (there wasn't any history worth keeping, and it's better to do this now before we go 'live'). Packages under 'compat' are backwards-compatibility packages which should provide an interface equivalent to the current hslibs setup. There are a few packages still missing.
-
- Jan 02, 2002
-
-
simonmar authored
System.IO.Directory is now System.Directory
-
- Aug 02, 2001
-
-
simonmar authored
Haskell 98 compatibility package. This package provides interfaces identical to the Haskell 98 libraries by re-exporting the relevant parts of the core libraries. It will be enabled by default when we switch over to the new libraries in GHC.