Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > fe643c025788dbb3380e7eef6c1c16b1 > files > 740

hugs98-2006.09-10.fc15.i686.rpm

<!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"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Miscellaneous</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>