<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Frequently Asked Questions about Hugs</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="The Hugs 98 User's Guide" HREF="index.html"><LINK REL="PREVIOUS" TITLE="Hugs debugging primitives" HREF="observe.html"><LINK REL="NEXT" TITLE="Miscellaneous" HREF="miscellaneous.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="hugs-ug.css"></HEAD ><BODY CLASS="CHAPTER" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >The Hugs 98 User's Guide</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="observe.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="miscellaneous.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="FAQ" ></A >Chapter 8. Frequently Asked Questions about Hugs</H1 ><P >These are some frequently asked questions about Hugs 98, and their answers.</P ><DIV CLASS="QANDASET" ><DL ><DT >8.1. <A HREF="faq.html#AEN1853" >What is the correct name for Hugs?</A ></DT ><DT >8.2. <A HREF="faq.html#AEN1870" >What is the relationship between Hugs and Gofer?</A ></DT ><DT >8.3. <A HREF="faq.html#AEN1875" >Who is responsible for Hugs?</A ></DT ><DT >8.4. <A HREF="faq.html#AEN1880" >How do I report a bug?</A ></DT ><DT >8.5. <A HREF="faq.html#AEN1890" >How do I enter function definitions?</A ></DT ><DT >8.6. <A HREF="faq.html#AEN1896" >How can I access more than one module at once?</A ></DT ><DT >8.7. <A HREF="faq.html#AEN1902" >Why are non-exported names accessible at the command prompt?</A ></DT ><DT >8.8. <A HREF="faq.html#AEN1915" >What happened to <CODE CLASS="FUNCTION" >isAlpha</CODE >, <CODE CLASS="FUNCTION" >toInt</CODE >, etc?</A ></DT ><DT >8.9. <A HREF="faq.html#AEN1926" >Does Hugs implement everything in Haskell 98?</A ></DT ><DT >8.10. <A HREF="faq.html#AEN1932" >Can I create executable programs with Hugs or do I always have to run programs from the development environment?</A ></DT ></DL ><DIV CLASS="QANDAENTRY" ><DIV CLASS="QUESTION" ><P ><A NAME="AEN1853" ></A ><B >8.1. </B >What is the correct name for Hugs?</P ></DIV ><DIV CLASS="ANSWER" ><P ><B > </B >We use <SPAN CLASS="QUOTE" >"Hugs"</SPAN > as a generic name for the interpreters we build.</P ><P >We use a name like <SPAN CLASS="QUOTE" >"Hugs 1.3"</SPAN >, <SPAN CLASS="QUOTE" >"Hugs 1.4"</SPAN >, or <SPAN CLASS="QUOTE" >"Hugs 98"</SPAN > if we want to identify a version of Hugs that is based on a specific version of Haskell like <SPAN CLASS="QUOTE" >"Haskell 1.3"</SPAN >, <SPAN CLASS="QUOTE" >"Haskell 1.4"</SPAN >, or <SPAN CLASS="QUOTE" >"Haskell 98"</SPAN >. So please note that the <SPAN CLASS="QUOTE" >"1.4"</SPAN > part in a name like <SPAN CLASS="QUOTE" >"Hugs 1.4"</SPAN > refers to the version of Haskell, and not to the version of Hugs.</P ><P >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 <SPAN CLASS="QUOTE" >"Hugs 98, Sep 1999"</SPAN > release.</P ></DIV ></DIV ><DIV CLASS="QANDAENTRY" ><DIV CLASS="QUESTION" ><P ><A NAME="AEN1870" ></A ><B >8.2. </B >What is the relationship between Hugs and Gofer?</P ></DIV ><DIV CLASS="ANSWER" ><P ><B > </B >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.</P ></DIV ></DIV ><DIV CLASS="QANDAENTRY" ><DIV CLASS="QUESTION" ><P ><A NAME="AEN1875" ></A ><B >8.3. </B >Who is responsible for Hugs?</P ></DIV ><DIV CLASS="ANSWER" ><P ><B > </B >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.</P ></DIV ></DIV ><DIV CLASS="QANDAENTRY" ><DIV CLASS="QUESTION" ><P ><A NAME="AEN1880" ></A ><B >8.4. </B >How do I report a bug?</P ></DIV ><DIV CLASS="ANSWER" ><P ><B > </B >First, check the list of known deviations and bugs (see <A HREF="haskell98.html" >Chapter 5</A >).</P ><P >Please report bugs either by using the bug tracking system on the <A HREF="http://hackage.haskell.org/trac/hugs" TARGET="_top" >Hugs development page</A > or by sending a report to the <A HREF="mailto:hugs-bugs@haskell.org" TARGET="_top" >hugs-bugs@haskell.org</A > 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.</P ><P >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.</P ></DIV ></DIV ><DIV CLASS="QANDAENTRY" ><DIV CLASS="QUESTION" ><P ><A NAME="AEN1890" ></A ><B >8.5. </B >How do I enter function definitions?</P ></DIV ><DIV CLASS="ANSWER" ><P ><B > </B >The Hugs prompt only accepts expressions for evaluation. You can create a file containing a Haskell module, and load that (see <A HREF="module-commands.html" >Section 2.2</A > for details).</P ></DIV ></DIV ><DIV CLASS="QANDAENTRY" ><DIV CLASS="QUESTION" ><P ><A NAME="AEN1896" ></A ><B >8.6. </B >How can I access more than one module at once?</P ></DIV ><DIV CLASS="ANSWER" ><P ><B > </B >Hugs has only one current module at any time, but you can edit a module containing several <TT CLASS="LITERAL" >import</TT >s.</P ></DIV ></DIV ><DIV CLASS="QANDAENTRY" ><DIV CLASS="QUESTION" ><P ><A NAME="AEN1902" ></A ><B >8.7. </B >Why are non-exported names accessible at the command prompt?</P ></DIV ><DIV CLASS="ANSWER" ><P ><B > </B >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: <P ></P ><UL ><LI ><P >The export list of the <SPAN CLASS="QUOTE" >"current module"</SPAN > (see <A HREF="module-commands.html" >Section 2.2</A >)</P ></LI ><LI ><P >The symbol table of the <SPAN CLASS="QUOTE" >"current module"</SPAN ></P ></LI ></UL > Hugs uses the latter (which seems more useful) but you might reasonably expect Hugs to use the export list and wonder why Hugs doesn't seem to implement abstract data types correctly when you do experiments from the command line.</P ></DIV ></DIV ><DIV CLASS="QANDAENTRY" ><DIV CLASS="QUESTION" ><P ><A NAME="AEN1915" ></A ><B >8.8. </B >What happened to <CODE CLASS="FUNCTION" >isAlpha</CODE >, <CODE CLASS="FUNCTION" >toInt</CODE >, etc?</P ></DIV ><DIV CLASS="ANSWER" ><P ><B > </B >The <TT CLASS="LITERAL" >Prelude</TT > now conforms to Haskell 98, whereas in older versions it exported some additional names. To use character functions like <CODE CLASS="FUNCTION" >isAlpha</CODE >, you must load or import the <TT CLASS="LITERAL" >Char</TT > module. Non-standard functions like <CODE CLASS="FUNCTION" >toInt</CODE > are no longer available.</P ></DIV ></DIV ><DIV CLASS="QANDAENTRY" ><DIV CLASS="QUESTION" ><P ><A NAME="AEN1926" ></A ><B >8.9. </B >Does Hugs implement everything in Haskell 98?</P ></DIV ><DIV CLASS="ANSWER" ><P ><B > </B >Not quite. Mutually recursive modules are not supported yet, and there are a few other minor discrepancies (see <A HREF="haskell98.html#BUGS-HASKELL98" >Section 5.1</A > for details).</P ></DIV ></DIV ><DIV CLASS="QANDAENTRY" ><DIV CLASS="QUESTION" ><P ><A NAME="AEN1932" ></A ><B >8.10. </B >Can I create executable programs with Hugs or do I always have to run programs from the development environment?</P ></DIV ><DIV CLASS="ANSWER" ><P ><B > </B >The distribution includes a stand-alone version of Hugs which will <SPAN CLASS="QUOTE" >"load and go"</SPAN > as well as handle command line arguments (see <A HREF="others.html#RUNHUGS" >Section 4.1</A > for details).</P ></DIV ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="observe.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="miscellaneous.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Hugs debugging primitives</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Miscellaneous</TD ></TR ></TABLE ></DIV ></BODY ></HTML >