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
The latest updates to these pages are available on the WWW from
York Functional Programming Group