packages/haskell98.git
12 years agomake Setup suitable for building the libraries with GHC
Ian Lynagh [Sun, 12 Nov 2006 21:46:56 +0000 (21:46 +0000)] 
make Setup suitable for building the libraries with GHC

12 years agoTAG 6.6 release
Ian Lynagh [Wed, 11 Oct 2006 12:47:40 +0000 (12:47 +0000)] 
TAG 6.6 release

12 years agoadd boilerplate Setup.hs
Ross Paterson [Thu, 28 Sep 2006 23:15:25 +0000 (23:15 +0000)] 
add boilerplate Setup.hs

14 years ago[project @ 2005-03-23 14:34:21 by ross] Initial_conversion_from_CVS_complete arity-anal-branch-point cmm-merge2 ghc-assoc-branch-point
ross [Wed, 23 Mar 2005 14:34:21 +0000 (14:34 +0000)] 
[project @ 2005-03-23 14:34:21 by ross]
add license files for individual packages

14 years ago[project @ 2005-02-18 15:06:45 by simonmar] nhc98-1-18-release
simonmar [Fri, 18 Feb 2005 15:06:45 +0000 (15:06 +0000)] 
[project @ 2005-02-18 15:06:45 by simonmar]
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)

14 years ago[project @ 2005-02-11 01:55:57 by ross]
ross [Fri, 11 Feb 2005 01:55:57 +0000 (01:55 +0000)] 
[project @ 2005-02-11 01:55:57 by ross]
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.

14 years ago[project @ 2005-01-25 17:06:39 by ross] ghc-6-4-branch-point
ross [Tue, 25 Jan 2005 17:06:39 +0000 (17:06 +0000)] 
[project @ 2005-01-25 17:06:39 by ross]
add Cabal package descriptions

14 years ago[project @ 2005-01-20 14:22:27 by simonmar]
simonmar [Thu, 20 Jan 2005 14:22:27 +0000 (14:22 +0000)] 
[project @ 2005-01-20 14:22:27 by simonmar]
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 :-)

14 years ago[project @ 2005-01-11 14:36:52 by ross]
ross [Tue, 11 Jan 2005 14:36:52 +0000 (14:36 +0000)] 
[project @ 2005-01-11 14:36:52 by ross]
System.IO no longer re-exports System.IO.Error

14 years ago[project @ 2004-11-26 16:22:11 by simonmar] pluggable-1-branch-point
simonmar [Fri, 26 Nov 2004 16:22:11 +0000 (16:22 +0000)] 
[project @ 2004-11-26 16:22:11 by simonmar]
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.

14 years ago[project @ 2004-09-08 15:13:20 by ross]
ross [Wed, 8 Sep 2004 15:13:20 +0000 (15:13 +0000)] 
[project @ 2004-09-08 15:13:20 by ross]
remove unneeded #includes of ghcconfig.h

15 years ago[project @ 2004-08-13 13:29:09 by simonmar]
simonmar [Fri, 13 Aug 2004 13:29:09 +0000 (13:29 +0000)] 
[project @ 2004-08-13 13:29:09 by simonmar]
Changes required be merge of backend-hacking-branch.  Mostly config.h
==> ghcconfig.h.

15 years ago[project @ 2004-07-30 10:33:20 by ross]
ross [Fri, 30 Jul 2004 10:33:20 +0000 (10:33 +0000)] 
[project @ 2004-07-30 10:33:20 by ross]
reword, saying these are wrappers

15 years ago[project @ 2004-07-29 15:44:20 by ross]
ross [Thu, 29 Jul 2004 15:44:20 +0000 (15:44 +0000)] 
[project @ 2004-07-29 15:44:20 by ross]
update, adding a pointer to the FFI addendum

15 years ago[project @ 2003-11-15 22:31:17 by panne]
panne [Sat, 15 Nov 2003 22:31:17 +0000 (22:31 +0000)] 
[project @ 2003-11-15 22:31:17 by panne]
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... :-)

15 years ago[project @ 2003-11-11 11:50:53 by simonmar]
simonmar [Tue, 11 Nov 2003 11:50:53 +0000 (11:50 +0000)] 
[project @ 2003-11-11 11:50:53 by simonmar]
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.

15 years ago[project @ 2003-11-10 15:32:44 by simonmar]
simonmar [Mon, 10 Nov 2003 15:32:44 +0000 (15:32 +0000)] 
[project @ 2003-11-10 15:32:44 by simonmar]
Change the documentation title from "Haskell Core Libraries" to "Haskell Hierarchical Libraries".

16 years ago[project @ 2003-05-17 00:11:29 by ross]
ross [Sat, 17 May 2003 00:11:29 +0000 (00:11 +0000)] 
[project @ 2003-05-17 00:11:29 by ross]
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).

16 years ago[project @ 2003-05-16 10:14:23 by simonmar]
simonmar [Fri, 16 May 2003 10:14:23 +0000 (10:14 +0000)] 
[project @ 2003-05-16 10:14:23 by simonmar]
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.

16 years ago[project @ 2002-12-18 16:29:25 by simonmar] before-galois-hbm before-speceval_2 galois-hbm-head
simonmar [Wed, 18 Dec 2002 16:29:25 +0000 (16:29 +0000)] 
[project @ 2002-12-18 16:29:25 by simonmar]
"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...

16 years ago[project @ 2002-12-12 13:42:47 by ross]
ross [Thu, 12 Dec 2002 13:42:47 +0000 (13:42 +0000)] 
[project @ 2002-12-12 13:42:47 by ross]
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.

16 years ago[project @ 2002-12-05 09:50:01 by simonmar]
simonmar [Thu, 5 Dec 2002 09:50:01 +0000 (09:50 +0000)] 
[project @ 2002-12-05 09:50:01 by simonmar]
illegalOperationType ==> illegalOperationErrorType

16 years ago[project @ 2002-12-04 17:22:29 by simonmar]
simonmar [Wed, 4 Dec 2002 17:22:29 +0000 (17:22 +0000)] 
[project @ 2002-12-04 17:22:29 by simonmar]
Add omitted fieldname ctSec to the export of CalendarTime.

16 years ago[project @ 2002-12-04 12:23:44 by simonmar]
simonmar [Wed, 4 Dec 2002 12:23:44 +0000 (12:23 +0000)] 
[project @ 2002-12-04 12:23:44 by simonmar]
MarshalError is supposed to export some of the stuff from
System.IO.Error too.

16 years ago[project @ 2002-09-29 20:25:40 by panne]
panne [Sun, 29 Sep 2002 20:25:40 +0000 (20:25 +0000)] 
[project @ 2002-09-29 20:25:40 by panne]
Warning police #2: Foreign.C.Types subsumes Foreign.C.TypesISO
nowadays, so let's nuke the latter from CTypes.

16 years ago[project @ 2002-09-16 13:54:19 by malcolm]
malcolm [Mon, 16 Sep 2002 13:54:19 +0000 (13:54 +0000)] 
[project @ 2002-09-16 13:54:19 by malcolm]
Export the constructor `TimeLocale' as per the Haskell'98 Report.

16 years ago[project @ 2002-08-28 14:06:31 by simonmar]
simonmar [Wed, 28 Aug 2002 14:06:31 +0000 (14:06 +0000)] 
[project @ 2002-08-28 14:06:31 by simonmar]
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.

17 years ago[project @ 2002-08-12 10:13:09 by simonmar]
simonmar [Mon, 12 Aug 2002 10:13:10 +0000 (10:13 +0000)] 
[project @ 2002-08-12 10:13:09 by simonmar]
cut-n-paste the export lists from the H98 Libraries Report, to make
these modules robust w.r.t. changes to the hierarchical libraries.

17 years ago[project @ 2002-07-16 16:09:00 by ross] meta-haskell-merge7 meta-haskell-merge8
ross [Tue, 16 Jul 2002 16:09:00 +0000 (16:09 +0000)] 
[project @ 2002-07-16 16:09:00 by ross]
Add imports of Hugs.* modules (wrapped in #ifdef __HUGS__) to make these
modules work with Hugs.

17 years ago[project @ 2002-07-02 13:13:37 by simonmar] ghc-5-04 ghc-5-04-1 ghc-ndp2b-trunk-merge-frontier ghc-ndp2b-updated-from-trunk1 meta-haskell-merge6
simonmar [Tue, 2 Jul 2002 13:13:37 +0000 (13:13 +0000)] 
[project @ 2002-07-02 13:13:37 by simonmar]
Add descriptions to the top level of each package documentation

17 years ago[project @ 2002-06-24 14:40:03 by simonmar]
simonmar [Mon, 24 Jun 2002 14:40:03 +0000 (14:40 +0000)] 
[project @ 2002-06-24 14:40:03 by simonmar]
Makefile updates for generating docs with Haddock:

- explicitly depend on package base
- set SRC_HADDOCK_OPTS in some places

17 years ago[project @ 2002-04-02 10:19:47 by simonmar] meta-haskell meta-haskell-merge1 meta-haskell-merge2 meta-haskell-merge3 meta-haskell-merge4 meta-haskell-merge5
simonmar [Tue, 2 Apr 2002 10:19:47 +0000 (10:19 +0000)] 
[project @ 2002-04-02 10:19:47 by simonmar]
hide Data.List.foldl'

17 years ago[project @ 2002-04-02 09:46:26 by simonmar]
simonmar [Tue, 2 Apr 2002 09:46:26 +0000 (09:46 +0000)] 
[project @ 2002-04-02 09:46:26 by simonmar]
Hide the non-H98 bits exported by System.Locale

17 years ago[project @ 2002-02-17 15:22:11 by panne] before-newer-usagesp-frontier
panne [Sun, 17 Feb 2002 15:22:11 +0000 (15:22 +0000)] 
[project @ 2002-02-17 15:22:11 by panne]
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... ;-)

17 years ago[project @ 2002-02-12 10:52:47 by simonmar]
simonmar [Tue, 12 Feb 2002 10:52:47 +0000 (10:52 +0000)] 
[project @ 2002-02-12 10:52:47 by simonmar]
wibbles

17 years ago[project @ 2002-02-12 10:51:40 by simonmar]
simonmar [Tue, 12 Feb 2002 10:51:40 +0000 (10:51 +0000)] 
[project @ 2002-02-12 10:51:40 by simonmar]
Fix up this package spec.

17 years ago[project @ 2002-02-07 11:13:30 by simonmar] before-newer-usagesp-mergedto
simonmar [Thu, 7 Feb 2002 11:13:30 +0000 (11:13 +0000)] 
[project @ 2002-02-07 11:13:30 by simonmar]
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.

17 years ago[project @ 2002-01-02 15:13:44 by simonmar]
simonmar [Wed, 2 Jan 2002 15:13:44 +0000 (15:13 +0000)] 
[project @ 2002-01-02 15:13:44 by simonmar]
System.IO.Directory is now System.Directory

18 years ago[project @ 2001-08-02 14:32:35 by simonmar] ghc-5-02 ghc-5-02-1 ghc-5-02-3
simonmar [Thu, 2 Aug 2001 14:32:35 +0000 (14:32 +0000)] 
[project @ 2001-08-02 14:32:35 by simonmar]
fix up some overenthusiastic cut-n-pasting

18 years ago[project @ 2001-08-02 14:03:38 by simonmar]
simonmar [Thu, 2 Aug 2001 14:03:38 +0000 (14:03 +0000)] 
[project @ 2001-08-02 14:03:38 by simonmar]
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.