Changes from 1.16:
# New: Several more packages of hierarchical libraries are included in
the build: base, parsec, haskell-src, QuickCheck, HaXml, HUnit, Cabal.
# New: FFI improvements: foreign import "dynamic" is now supported, and
named C header-files are now used.
# New: The compiler now uses cpphs for Haskell source instead of cpp. This
removes problems with string gaps, primes in identifiers, and so on.
# New: In hmake-interactive, if the readline library is not available,
the simple line editor now has a history mechanism.
# Bugfix: hmake's processing of cpp conditional directives is improved also.
# Bugfix: More evil bugfixes for gcc versions ? 3.3
# Bugfix: A numeric pattern can now match against a Num newtype.
# Bugfix: Foreign imports and abstract newtypes now play OK together.
# Bugfix: Methods in qualified classes no longer need to be qualified in
instance decls.
# Bugfix: GreenCard now accepts <<.../...>> syntax.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
* A degenerate type synonym like type T a = a in some circumstances
incorrectly caused an occurence check error.
* Several new features in gcc-3.3 cause breakage in the nhc98 build.
This patch fixes many [but ot all] of those problems.
PKGREVISION++.
curses.buildlink2.mk. This was wrong because we _really_ do want to
express that we want _n_curses when we include the buildlink2.mk file.
We should have a better way to say that the NetBSD curses doesn't
quite work well enough. In fact, it's far better to depend on ncurses
by default, and exceptionally note when it's okay to use NetBSD curses
for specific packages. We will look into this again in the future.
Changes since 1.14a include:
* A large subset of the base package of hierarchical libraries is now
included in the build.
* The primitive FFI mechanism has been updated to match the latest official
spec, and the full Foreign libraries are also included (in hierarchical
form).
* The library function List.sortBy now uses a stable O(n log n) mergesort.
* Numerous other small fixes, including revisions to the Haskell'98 standard.
Changes since version 1.06 include:
* Lots of bugfixes.
* The Hat tracing system is now entirely separate from the nhc98 compiler
(and is thus not included in the package)
Changes include:
* Updated the Prelude/Libraries to match the newly revised
Haskell'98 Report.
* Default build target is now basic + tracer (was just basic).
* Building with gcc now builds everything with gcc, including
profiling and tracing. This is much faster.
* Bugfixes.
nhc98 1.04 (2001-05-21) features
* New: Support for extended module namespaces of the form
Long.Hierarchical.Module.Name is now provided in both nhc98 and
hmake.
* Update: Improved printing of I/O error messages.
* Update: Improved (more accurate) time profiling now provided.
* Bugfix: An identifier hidden on import and redefined in the
current module, then exported, but also imported qualified and
used qualified in the current module, led to an incorrect
interface file being generated.
* Bugfix: hmake issued an unnecessary -cpp flag on some literate
files.
* Bugfix: Type of IO.hSetPosn :: Handle -> HandlePosn -> IO () was
incorrect
* Bugfix: Compile-time error in src/tracer/runtime/ident.c on RedHat
7 and other systems using the new ISO C standard for fpos_t.
* Bugfix: A file opened in ReadMode or WriteMode was actually opened
in ReadWriteMode, so if the file had strict permissions the
correct opening command would fail. Conversely, opening in
ReadWriteMode actually gave ReadMode instead, and file updates
silently failed.
* Bugfix: Operator sections suffered from priority inversion, for
example (^2*3) was incorrectly parsed as (^(2*3)), even though ^
binds more tightly than *.
* Bugfix: The library function Directory.createDirectory gave
strange permissions to the new directory. (Mode was in hex, but
should have been octal!)
The following updates and bugfixes are specifically for Hat, the
redex-trail-based tracing and debugging system.
* New architecture: Traced programs now build their trails in files,
not in the heap. This has four consequences: (1) you no longer
need to give your program large amounts of extra memory to trace
it; but (2) you may need to have large amounts of free disk space,
particularly to trace long-running programs; (3) for the moment,
traced programs now run even slower (we are working to improve
this); and (4) trails are now first-class objects, so new tools
can manipulate them to provide several different views of the
computation.
* New tools: Storing trails in files means we can now provide more
tools to examine them. The original graphical browser is now
renamed hat-trail, and can fully explore the redex trails in file.
hat-stack gives a virtual stack back-trace from a trail file (no
need to re-run the program). hat-observe gives you HOOD-like
observation of the input and output from functions. hat-detect
does algorithmic debugging in the style of Freja; it discovers and
identifies the location of a bug after asking you some simple
questions. hat-check verifies the integrity of the trail file,
prints a textual dump, and gives statistics about its contents.
* Update: Fuller Standard Library support for tracing: added
Directory, System, CPUTime, Random. (Still missing: Time, Locale.)
* Update: More Haskell'98 language features are accepted: named
fields can now be traced, although the hat tools don't yet show
them in source form. Pattern bindings are also handled better.
_________________________________________________________________