ANNOUNCE: nhc98 version 1.02
malcolm-nhc@cs.york.ac.uk
malcolm-nhc@cs.york.ac.uk
Wed, 14 Feb 2001 13:27:48 +0000
We are pleased to announce the new release 1.02 of nhc98, a compiler
for Haskell'98, written in Haskell'98.
http://www.cs.york.ac.uk/fp/nhc98/
It is available as a source package (which can be built via ghc, hbc,
an existing nhc98 installation, or simply with a C compiler if you
don't already have a Haskell compiler installed).
Binary packages are also currently available for ix86-Linux and
sparc-solaris2. Binary packages for other architectures can be
added to the list if users contribute them.
What's new
----------
This is an interim release, mainly fixing bugs in nhc98-1.00.
The tracing and debugging tool, Hat, is about to undergo some
significant changes, so release 1.02 is a stable snapshot before we
start to break too many things!
Amongst the many bugfixes, notable ones are as follows:
* Fixed a space-leak in the compiler. Compilation now
requires approximately half the previous maximum heap,
and as a result, compile times are 5-10% faster.
* The raw speed of input and output for compiled programs is
now much faster, although you will probably only notice a
difference if your program is severely I/O-bound.
* Local infix declarations now work correctly.
* `newtype T a = T a' now works correctly.
* @-pattern-bindings are fixed. This means that Happy-generated
parsers now compile correctly.
* We now accept {-# pragmas #-} in any source position, and
understand LINE pragmas.
Recent bugfixes and new features in Hat include:
* When a traced program is interrupted or terminates with an error,
you get a virtual stack trace of the computation "for free",
without having to start up a browser.
* Foreign imports (via the new common primitive FFI) with an
I/O result type are now also traced (previously only pure
foreign functions were traced).
* Interface and object files for tracing now have distinct
file suffixes: .T.hi and .T.o. This improves matters enormously
when switching between normal and tracing versions of a program.
It also fixes some dependency bugs when building the tracing
version of the compiler. Both the compiler and hmake have
knowledge of the new suffixes.
* Tracing versions of the following libraries have been added:
IO, Array, FFI, IOExtras.
(Still missing: Directory, System, Time, Locale, CPUTime, Random.)
Regards,
Malcolm