We are pleased to announce a new release of the nhc98 compiler, and
in particular its facilities (both brand new and improved old stuff)
for tracing and debugging Haskell programs - the Hat system.

The basic nhc98 compiler version 1.04 is mostly a bugfix release
(details listed at the bottom of this announcement).

        http://www.cs.york.ac.uk/fp/nhc98/

However, the stuff we are really excited about is Hat - our Haskell tracer.
A full user guide to these new tools is available on the website.

        http://www.cs.york.ac.uk/fp/hat/



                        Hat 1.04
                        ========

  * Lots more tools for tracing!

        hat-stack       - Displays a "virtual" stack-trace for any
                          program that failed with a runtime error.
        hat-detect      - Algorithmic bug detection, based on a
                          textual question-and-answer session.
        hat-trail       - The original graphical trail browser, now
                          with several presentation enhancements.
        hat-observe     - Examine the inputs and outputs of any
                          named function, in the style of HOOD.

  * Tracing with Hat is now based on a completely new architecture
    (although still within the nhc98 compilation system).  A program
    compiled for tracing now builds its "redex trails" in file, not
    in the heap.  This has some performance consequences:

        (1) you no longer need to allocate large amounts of heap
                memory for tracing;
        (2) but you will probably need large amounts of disk space
                instead - remember disk space is cheap;
        (3) and traced programs still run somewhat slowly.

  * However, there are a couple of major benefits in return:

        (1) A trace is persistent, so after running your program
                once, you can examine many different aspects of the
                trace without re-computation.
        (2) Traces are now first-class objects, so you can examine
                and manipulate them in far more detail - hence the
                variety of new tracing tools.

  * Greater Haskell'98 compatibility.  Almost all language features
        are now supported: named fields and better handling of pattern
        bindings are the main additions.  All standard libraries
        except Time and Locale are now supported.


                        nhc98 1.04
                        ==========

  * New:        Improved (more accurate) time profiling now provided.
  * New:        Support for extended module namespaces of the form
                Long.Hierarchical.Module.Name is now provided in both
                nhc98 and hmake.
  * 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 <tt>src/tracer/runtime/ident.c</tt>
                on RedHat 7 and other systems using the new ISO C standard
                for <tt>fpos_t</tt>.
  * 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!)
  * New:        Improved printing of I/O error messages.


Happy tracing!

The Hat team at York
        (Colin Runciman,
         Olaf Chitil,
         Malcolm Wallace,
         Thorsten Brehm,
         Phil Hassall)


_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to