These are some frequently asked questions about Hugs 98, and their answers.
We use "Hugs" as a generic name for the interpreters we build.
We use a name like "Hugs 1.3", "Hugs 1.4", or "Hugs 98" if we want to identify a version of Hugs that is based on a specific version of Haskell like "Haskell 1.3", "Haskell 1.4", or "Haskell 98". So please note that the "1.4" part in a name like "Hugs 1.4" refers to the version of Haskell, and not to the version of Hugs.
We use release dates to identify specific Hugs releases. For example, if you report a bug in the most recent release, be sure to mention that you observed the problem with the "Hugs 98, Sep 1999" release.
Hugs is the successor to Gofer, and was originally derived from Gofer version 2.30b. But Hugs incorporates many changes and substantial enhancements, and offers much greater compatibility with Haskell.
Mark P Jones (currently at OGI) wrote the original version of Hugs and wrote much of the code in the current distribution. Other Haskell teams have also contributed to Hugs; the current distribution owes much to other groups. See the latest Hugs news to find out who is doing what.
First, check the list of known deviations and bugs (see Chapter 5).
Please report bugs either by using the bug tracking system on the Hugs development page or by sending a report to the firstname.lastname@example.org mailing list. If you send the bug report to an individual, you run the risk that that person is on vacation, is rushing to meet a deadline or just accidentally deletes your mail.
Please say which version of Hugs you are using, on which platform, and give us enough information to duplicate the problem. Like all maintainers, we greatly appreciate short error cases.
The Hugs prompt only accepts expressions for evaluation. You can create a file containing a Haskell module, and load that (see Section 2.2 for details).
Hugs has only one current module at any time, but you can edit a module containing several imports.
When you evaluate an expression in the interpreter, it has to use some symbol table for looking up the ids you use. What symbol table does it use? The only credible alternatives are:
The export list of the "current module" (see Section 2.2)
The symbol table of the "current module"
The Prelude now conforms to Haskell 98,
whereas in older versions it exported some additional names.
To use character functions like
you must load or import the Char module.
Non-standard functions like
toInt are no longer available.
Not quite. Mutually recursive modules are not supported yet, and there are a few other minor discrepancies (see Section 5.1 for details).
The distribution includes a stand-alone version of Hugs which will "load and go" as well as handle command line arguments (see Section 4.1 for details).