nhc98 to-do list

This is more of a wishlist than a ToDo list, but anyway... our hopes for the future of nhc98 include the following. Contributions of libraries, interesting optimisations, bugfixes, and so on, are always welcome.

  • The Fudgets GUI library was once available for nhc13: now that nhc98 has existential types, Fudgets could now be supported once again. Volunteers for this would need to know the internals of Fudgets pretty thoroughly.
  • The implementation of GreenCard could be completed. Remaining unimplemented features include named field syntax and failure specifications. In addition, the new primitive FFI still lacks dynamic imports and exports, which are fairly essential for callback-style GUI programming.
  • It would be very useful to have a set of simple regression tests (with an automated interface) to check whether anything breaks on a new machine architecture, or after modifying a part of the compiler. (We have a set of tests for the binary libraries, and they have definitely proved their worth!) Haskell also needs a set of conformance tests, to determine whether any particular implementation meets the Haskell'98 standard, and if not, where it differs.
  • nhc98 would be an ideal basis for a cross-compiler, since it uses standard ANSI C as a backend. (Note: It might be important to pass the word-size of the target machine into the compiler at compile-time. It is currently hard-coded in.)
  • We would like to replace the current textual format of interface files with a binary format. (We conjecture a big speed gain during compilation.) One difficulty is that nhc98 is often built with hbc, which does not yet support Binary. However, it would be of even greater interest to obtain a speed gain when using an nhc98 built with nhc98!

The latest updates to these pages are available on the WWW from http://www.haskell.org/nhc98/

22nd December 1999
York Functional Programming Group