nhc13 release history
Unreleased 0.9.5 (99xxxx) features (now in nhc98)
- Major addition: Existential types in data declarations.
- Addition: A fresh version of the time profiler is ready. It is now
gives accurate results, and the overhead is down to 10% of
- Addition: New options -M and -Md to hmake.
- Bugfix: In the Binary library there was a very slight incompatibility
between the types described in the ISMM'98 paper and the
implementation. The implementation is now fixed to match the
- Bugfix: At last, the distribution tarfiles down extract into an
nhc13-x.x directory, rather than the current directory.
Release 0.9.4 (981105) features
- Addition: Various aspects of the trace browser have been updated.
- Bugfix: Haskell code which called C code which in turn called Haskell
code crashed with 'Unknown instruction 199'. Fixed.
- Bugfix: various small changes are required to enable nhc13 to compile for
- Bugfix: hmake did not collect import dependencies correctly from
literate files. Fixed.
- Bugfix: not just SunOS, but also FreeBSD, has a too-small limit on
the number of open files a process can hold. This can cause
problems when compiling nhc13comp with hmake.
The work-around from 0.9.3 is now applied universally, regardless
of operating system.
- Bugfix: At last, the nhc13 version of GreenCard has parse error messages!
Previously, it simply failed silently, with truncated output
- Bugfix: installed version of hmake referred to temp include directory
instead of installed directory.
Release 0.9.3 (980706) features
- Bugfix: Compiling for tracing under SunOS no longer requires an explicit
- Bugfix: SunOS has a very small limit on the number of open files a
process can hold. This caused problems when compiling
nhc13comp with hmake. It now has a work-around.
- Bugfix: there was a GC bug in the Binary library, rarely causing a
- Bugfix: the Prelude definition of product was wrong.
- Bugfix: GreenCard now permits limited use of the Word type.
Release 0.9.2 (980624) features
- Major addition: the tracing compiler and trace browser are now
- Major addition: source-level time profiling is now available.
- Addition: a new compile-time option: -d objdir
- Addition: the nhc13make and hbcmake tools have been
replaced by hmake. (New features: it generates build
scripts using any of hbc, nhc13, or ghc; it knows about cpp
directives; it knows about separate objdirs.)
- Bugfix: object files are now built in separate directories from the
source tree. This means you can build simultaneously on different
architectures sharing the same sources.
- Bugfix: the binary library is no longer tied into the Prelude.
- Addition: class Binary has a new operation sizeOf.
Beta release 980501 features
- Additions: Binary library functions endBin, skipBits,
clearBits, copyBytes, etc. + documentation updates.
- Bugfix: fixed (>) and (>=) for multiple precision integers
Beta release 980327 features
- Addition: a library for binary arrays, BinArray, has been revised and
added to the distribution.
- Addition: the efficient bulk-transfer operation copyBin has
now been added to the Binary library.
- Bugfix: GreenCard now treats functions of type ()->IO a
- Bugfix: there are some additional options to the config script.
Beta release 980320 features
- Mainly bugfixes in the new configuration/installation script,
particularly installation of nhc13make, and better
handling of re-compilation in the presence of errors.
- Some minor library bugfixes: Array is now an instance of Functor
(i.e. you can use map on an array rather than the old
amap); in GreenCard, the null string is now converted
to an empty string; the limit on ForeignObj's is now extended to
Beta release 980304 features
- A complete overhaul of the installation scripts, particularly for
the C source distribution: there is now much greater automation of
configuration, build and installation.
- The treatment of big- vs. little-endian architectures is now fully
Beta release 980212 features
- The binary libraries have been completely re-implemented (again).
The new version unifies memory compression and binary I/O into
a single `Binary' class. The old interfaces are still
available, but there are many benefits to the new design.
- Bugfixes in the nhc13 version of the greencard
tool: it now understands `%const'
directives; and user DISs with multiple parameters (e.g.
`<fr/to> a b c') are now handled correctly.
- Bugfixes in the installation scripts for the C source distribution
(which is now beta quality):
the makefile now correctly builds the runtime and prelude
before the compiler which must be linked with them; and
the freshly-built compiler now uses the ANSI-C backend by default.
- A couple of other minor compiler bugfixes have been incorporated.
Beta release 971219 features
- I have just added an (alpha-quality) distribution package which
requires only an ANSI-C
compiler (for instance, gcc) to build nhc13. This
should make nhc13 an extremely portable Haskell compiler. It
was made possible by a new compiler back-end (beta-quality) which
generates ANSI-C. The intention is to allow easy cross-compilation
(e.g. for embedded systems). We will be testing the cross-compiler
in early 1998.
Alpha release 971106 features
- When you use the nhc13 or nhc13make commands,
GreenCard will be
called automatically if the file you are compiling has the extension
- The Compress and BinIO libraries have been
completely re-implemented using GreenCard. As well as
being faster all round, it is now possible
to interleave random-access reading and writing on the same file.
The latest updates to these pages are available on the WWW from
26th January 1999
York Functional Programming Group