<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Miscellaneous</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="Frequently Asked Questions about Hugs" HREF="faq.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="faq.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" > </TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="MISCELLANEOUS" ></A >Chapter 9. Miscellaneous</H1 ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="HISTORY" >9.1. Hugs 98 release history</A ></H1 ><P >These are the release notes for the program since it was renamed Hugs 98, reflecting substantial compliance with Haskell 98 (though with numerous optional extensions). Archives of older versions of <A HREF="http://www.cse.ogi.edu/~mpj/goferarc/index.html" TARGET="_top" >Gofer</A > and <A HREF="http://www.cse.ogi.edu/~mpj/hugsarc/index.html" TARGET="_top" >Hugs</A > are still available from Mark Jones's web page.</P ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN1945" >9.1.1. January 1999 (Beta release)</A ></H2 ><P >Headline news for this release includes:</P ><P ></P ><UL ><LI ><P >Hugs goes Haskell 98! Hugs 98 is the first released Haskell system to support the new standard for Haskell 98.</P ></LI ><LI ><P >Hugs goes Open Source! Hugs 98 is the first Hugs release to be distributed as Open source software. Responding to requests from users, this relaxes the conditions of use and distribution of previous releases, and will hopefully make it easier to use Hugs for a wide range of projects.</P ></LI ></UL ><P >This release of Hugs also merges the features of several earlier releases into one single system. This includes:</P ><P ></P ><UL ><LI ><P >The module system and dynamic linking facilities of Hugs 1.4 (June 1998);</P ></LI ><LI ><P >The type system extensions (<A HREF="class-extensions.html#MULTI-PARAM" >multi-parameter classes</A >, <A HREF="hugs-only.html#TREX" >TREX</A >, <A HREF="quantified-types.html#RANK-2-TYPES" >rank-2 polymorphism</A >, <A HREF="quantified-types.html#EXISTENTIAL-QUANTIFICATION" >existentials</A >, etc.) of Hugs 1.3c p1 (March 1998);</P ></LI ><LI ><P >New features and modifications to support the draft Haskell 98 standard;</P ></LI ><LI ><P >A whole range of bug fixes and additions for all of the above.</P ></LI ></UL ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN1967" >9.1.2. May 1999</A ></H2 ><P >This release is largely conformant with Haskell 98, including monad and record syntax, newtypes, strictness annotations, and modules. In addition, it comes packaged with the libraries defined in the most recent version of the Haskell Library Report and with extension libraries that are compatible with GHC 3.0 and later.</P ><P >Additional features of the system include:</P ><P ></P ><UL ><LI ><P ><SPAN CLASS="QUOTE" >"Import chasing"</SPAN >: a single module may be loaded, and Hugs will chase down all imports as long as module names are the same as file names and the files are found in the current path.</P ></LI ><LI ><P >A simple GUI for Windows to facilitate program development.</P ></LI ><LI ><P >Library extensions to support concepts such as concurrency, mutable variables and arrays, monadic parsing, tracing (for debugging), graphics, and lazy state threads.</P ></LI ><LI ><P >A Win32 library for complete access to windows, graphics, and other important OS functionalities and a graphics library for easy access to Win32 graphics.</P ></LI ><LI ><P >A <SPAN CLASS="QUOTE" >"foreign interface"</SPAN > mechanism to facilitate interoperability with C.</P ></LI ></UL ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN1984" >9.1.3. November 1999</A ></H2 ><P ></P ><UL ><LI ><P >BSD-style license (replacing the Artistic License)</P ></LI ><LI ><P >new commands <A HREF="info-commands.html#BROWSE-COMMAND" ><B CLASS="COMMAND" >:browse</B ></A > and <A HREF="info-commands.html#VERSION-COMMAND" ><B CLASS="COMMAND" >:version</B ></A ></P ></LI ><LI ><P >experimental multi-instance resolution and <B CLASS="COMMAND" >:xplain</B > command</P ></LI ><LI ><P ><A HREF="class-extensions.html#FUNCTIONAL-DEPENDENCIES" >functional dependencies</A ></P ></LI ><LI ><P >zero parameter type classes</P ></LI ><LI ><P >better handling of overlapping instances</P ></LI ><LI ><P >various bug fixes</P ></LI ></UL ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN2007" >9.1.3.1. February 2000</A ></H3 ><P >This is purely a bug-fix release of Hugs98 November 99. It fixes the following problems:</P ><P ></P ><UL ><LI ><P >If you defined an instance which inherited a method via a superclass, hugs would go into an infinite loop. Fortunately, most people weren't doing this (except Chris Okasaki...).</P ></LI ><LI ><P >There were a couple of holes in the implementation of implicit parameters (<SPAN CLASS="QUOTE" >"<TT CLASS="LITERAL" >with</TT >"</SPAN > wasn't always being scoped properly, sometimes capturing implicit parameters outside of its scope).</P ></LI ><LI ><P >Functional dependencies weren't being properly propagated in some cases with derived instances (<SPAN CLASS="QUOTE" >"<TT CLASS="LITERAL" >instance P ... => Q ...</TT >"</SPAN >).</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN2021" >9.1.3.2. July 2000</A ></H3 ><P >This is purely a bug-fix release of Hugs98 February 2000.</P ></DIV ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN2024" >9.1.4. February 2001</A ></H2 ><P >This is a major release that incorporates bug fixes as well as several new features and enhancements that have been developed for Hugs over the last year. It is announced with the intention that it will remain a stable and lightweight implementation of Haskell 98 + extensions for some considerable time.</P ><P >A list of the most important new features looks as follows:</P ><P ></P ><UL ><LI ><P >A Foreign Function Interface closely modelled after the one provided by GHC.</P ></LI ><LI ><P >Built-in, <A HREF="observe.html" >Hood-like debugging support</A >.</P ></LI ><LI ><P ><A HREF="hugs-ghc.html#ZIP-COMPREHENSION" >Parallel list comprehensions</A >, a.k.a. zip-comprehensions.</P ></LI ><LI ><P >A new syntax for <A HREF="hugs-ghc.html#RECURSIVE-DO" >recursive monad bindings</A >.</P ></LI ><LI ><P >A new GUI under Windows that doesn't consume all CPU time.</P ></LI ><LI ><P >Support for the MacOS platform integrated into the main distribution.</P ></LI ><LI ><P >Corrections of all bugs reported for the January 2001 beta release.</P ></LI ></UL ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN2046" >9.1.5. December 2001</A ></H2 ><P >The most important features of this new release are:</P ><P ></P ><UL ><LI ><P >The incompatibilities between Hugs and the Haskell Graphics Library have been fixed, and binaries for the HGL are now available on the Hugs download page.</P ></LI ><LI ><P >The missing standard libraries <TT CLASS="LITERAL" >Directory</TT >, <TT CLASS="LITERAL" >CPUTime</TT >, <TT CLASS="LITERAL" >Time</TT > and <TT CLASS="LITERAL" >Locale</TT > have been added along with a complete implementation of Haskell 98 <TT CLASS="LITERAL" >IO</TT >.</P ></LI ><LI ><P >Hugs is now delivered with most of the <TT CLASS="LITERAL" >hslibs</TT > libraries installed in the <TT CLASS="LITERAL" >lib/exts/</TT > directory. The added modules cover the <TT CLASS="LITERAL" >Edison</TT >, <TT CLASS="LITERAL" >Parsec</TT >, <TT CLASS="LITERAL" >HaXml</TT >, <TT CLASS="LITERAL" >QuickCheck</TT >, <TT CLASS="LITERAL" >concurrent</TT >, <TT CLASS="LITERAL" >monad</TT > and <TT CLASS="LITERAL" >html</TT > subdirectories of <TT CLASS="LITERAL" >hslibs</TT >.</P ></LI ><LI ><P >The <B CLASS="COMMAND" >:set</B > command now refuses the user to set a module search path that doesn't contain the <TT CLASS="LITERAL" >Prelude</TT >. This is to protect users from accidentally rendering their Hugs setups unusable, especially on Windows machines where the options persist in the Registry.</P ></LI ><LI ><P >MacOS X is now one of the supported unix ports, with pre-built binaries available on the download page.</P ></LI ><LI ><P >Experimental support is provided for hierarchical module names, where a module name <TT CLASS="LITERAL" >A.B.C</TT > is mapped onto the file path <TT CLASS="LITERAL" >A/B/C</TT >{<TT CLASS="LITERAL" >.hs</TT >,<TT CLASS="LITERAL" >.lhs</TT >} and appended to each of the path prefixes in <TT CLASS="LITERAL" >HUGSPATH</TT > until the name of a readable file is found.</P ></LI ></UL ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN2084" >9.1.6. November 2002</A ></H2 ><P >Feature highlights of this new release are:</P ><P ></P ><UL ><LI ><P >Much improved FFI support (contributed by Alastair Reid), bringing Hugs really very close to the Haskell FFI specification.</P ></LI ><LI ><P >Adoption of a significant subset of GHC's hierarchical libraries (contributed by Ross Paterson).</P ></LI ><LI ><P >An (allegedly) complete implementation of the Haskell98 module system (Sigbjorn Finne).</P ></LI ><LI ><P >Numerous bug fixes since the previous major release in Dec 2001.</P ></LI ></UL ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN2096" >9.1.7. November 2003</A ></H2 ><P >There has been substantial internal restructuring. In addition to numerous bug fixes, user-visible changes include:</P ><P ></P ><UL ><LI ><P >The beginnings of a User's Guide (though still incomplete).</P ></LI ><LI ><P >The <TT CLASS="LITERAL" >Double</TT > type is now double-precision on most architectures.</P ></LI ><LI ><P >Hugs now relies on the same hierarchical libraries as GHC and Nhc98, and provides almost all of them. For now, compatibility with the old libraries is provided by stub modules, but users are encouraged to migrate to the new libraries.</P ></LI ><LI ><P >Full support for imprecise exceptions (but not asynchronous ones). Most runtime errors are now reported by applying <CODE CLASS="FUNCTION" >print</CODE > to an <TT CLASS="LITERAL" >Exception</TT > (formerly the built-in printer was applied to the faulty redex).</P ></LI ><LI ><P >Integrated .NET support (on Windows platforms).</P ></LI ><LI ><P >The <CODE CLASS="OPTION" >-e</CODE >, <CODE CLASS="OPTION" >-f</CODE >, <CODE CLASS="OPTION" >-i</CODE >, <CODE CLASS="OPTION" >-N</CODE >, <CODE CLASS="OPTION" >-W</CODE > and <CODE CLASS="OPTION" >-X</CODE > options and the <B CLASS="COMMAND" >:project</B > command have been removed.</P ></LI ><LI ><P >A searchpath may include an entry of the form <SPAN CLASS="QUOTE" >"<TT CLASS="REPLACEABLE" ><I >directory</I ></TT ><TT CLASS="LITERAL" >/*</TT >"</SPAN >, meaning all the immediate subdirectories of <TT CLASS="REPLACEABLE" ><I >directory</I ></TT > (see <A HREF="options.html#OPTION-SEARCH-PATH" ><I CLASS="TERM" ><CODE CLASS="OPTION" >-P</CODE ><TT CLASS="REPLACEABLE" ><I >str</I ></TT ></I ></A >).</P ></LI ></UL ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN2129" >9.1.8. March 2005</A ></H2 ><P >This release is primarily targeted at Unix systems to gain experience with new features. The new Cabal-based library build system has the potential to make building on Windows easier, but it's not there yet. Volunteers welcome.</P ><P >In addition to numerous bug fixes, user-visible changes include:</P ><P ></P ><UL ><LI ><P >The default current module is now the empty module <TT CLASS="LITERAL" >Hugs.Base</TT > instead of the <TT CLASS="LITERAL" >Prelude</TT > (see <A HREF="module-commands.html" >Section 2.2</A >).</P ></LI ><LI ><P >The <TT CLASS="LITERAL" >Char</TT > type and the <TT CLASS="LITERAL" >Char</TT > module now support Unicode as specified in the Haskell 98 Report (contributed by Dmitry Golubovsky). Character oriented I/O uses a byte encoding of characters determined by the current locale (see <A HREF="locale.html" >Section 3.3</A >).</P ></LI ><LI ><P >The new <A HREF="options.html#OPTION-SPLIT-OPTIONS" ><CODE CLASS="OPTION" >-X</CODE ></A > option can be used to group several options into one argument. This is now needed for executable <B CLASS="COMMAND" >runhugs</B > scripts (using the Unix <SPAN CLASS="QUOTE" >"<TT CLASS="LITERAL" >#!</TT >"</SPAN > feature) that require two or more options (see <A HREF="others.html#RUNHUGS" >Section 4.1</A >).</P ></LI ><LI ><P >The syntax of the <B CLASS="COMMAND" >ffihugs</B > command has changed (see <A HREF="ffihugs.html" >Section 4.2</A >). The <CODE CLASS="OPTION" >+G</CODE > and <CODE CLASS="OPTION" >+L</CODE > options are gone, and a new <CODE CLASS="OPTION" >-i</CODE > option can be used to specify include files.</P ></LI ><LI ><P >Hugs now has basic support for the <A HREF="http://www.haskell.org/cabal/" TARGET="_top" >Cabal</A > packaging system (see <A HREF="packages.html" >Section 3.4</A >).</P ></LI ></UL ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN2163" >9.1.9. May 2006</A ></H2 ><P ></P ><UL ><LI ><P >The default current module is now the empty module <TT CLASS="LITERAL" >Hugs</TT > (see <A HREF="module-commands.html" >Section 2.2</A >).</P ></LI ><LI ><P >The compatibility libraries are no longer included on the default search path. You can access them by adding <SPAN CLASS="QUOTE" >"<TT CLASS="LITERAL" >{Hugs}/oldlib</TT >"</SPAN > to the search path (see <A HREF="options.html#OPTION-SEARCH-PATH" ><I CLASS="TERM" ><CODE CLASS="OPTION" >-P</CODE ><TT CLASS="REPLACEABLE" ><I >str</I ></TT ></I ></A >), but they will be removed in the next release.</P ></LI ><LI ><P >Rewritten graphical Windows interface (contributed by Neil Mitchell; see <A HREF="winhugs.html" >Section 4.3</A >).</P ></LI ><LI ><P >New <A HREF="using-hugs.html#MAIN-COMMAND" ><B CLASS="COMMAND" >:main</B ></A > command (contributed by Neil Mitchell).</P ></LI ></UL ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN2182" >9.1.9.1. September 2006</A ></H3 ><P >This is a minor release fixing bugs in the May 2006 release, and including updated libraries matching those of GHC 6.6.</P ><P ></P ><UL ><LI ><P >The built-in printer is now less verbose, making pattern-match exceptions more readable.</P ></LI ></UL ></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="faq.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" > </TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Frequently Asked Questions about Hugs</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" > </TD ></TR ></TABLE ></DIV ></BODY ></HTML >