pkgsrc/lang/hugs/DESCR
jmmv ce66d26dbb Update to 200605:
- November 2002

Feature highlights of this new release are:

* Much improved FFI support (contributed by Alastair Reid), bringing Hugs
  really very close to the Haskell FFI specification.
* Adoption of a significant subset of GHC's hierarchical libraries
  (contributed by Ross Paterson).
* An (allegedly) complete implementation of the Haskell98 module system
  (Sigbjorn Finne).
* Numerous bug fixes since the previous major release in Dec 2001.

- November 2003

There has been substantial internal restructuring. In addition to numerous
bug fixes, user-visible changes include:

* The beginnings of a User's Guide (though still incomplete).
* The Double type is now double-precision on most architectures.
* 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.
* Full support for imprecise exceptions (but not asynchronous ones). Most
  runtime errors are now reported by applying print to an Exception
  (formerly the built-in printer was applied to the faulty redex).
* Integrated .NET support (on Windows platforms).
* The -e, -f, -i, -N, -W and -X options and the :project command have been
  removed.
* A searchpath may include an entry of the form "directory/*", meaning all
  the immediate subdirectories of directory (see -Pstr).

- March 2005

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.

In addition to numerous bug fixes, user-visible changes include:

* The default current module is now the empty module Hugs.Base instead of
  the Prelude (see Section 2.2).
* The Char type and the Char 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 Section 3.3).
* The new -X option can be used to group several options into one argument.
  This is now needed for executable runhugs scripts (using the Unix "#!"
  feature) that require two or more options (see Section 4.1).
* The syntax of the ffihugs command has changed (see Section 4.2). The +G
  and +L options are gone, and a new -i option can be used to specify
  include files.
* Hugs now has basic support for the Cabal packaging system (see Section 3.4).

- May 2006

* The default current module is now the empty module Hugs (see Section 2.2).
* The compatibility libraries are no longer included on the default search
  path. You can access them by adding "{Hugs}/oldlib" to the search path
  (see -Pstr), but they will be removed in the next release.
* Rewritten graphical Windows interface (contributed by Neil Mitchell; see
  Section 4.3).
* New :main command (contributed by Neil Mitchell).
2006-08-01 14:33:59 +00:00

22 lines
1.2 KiB
Text

Hugs 98 is a functional programming system based on Haskell 98, the de
facto standard for non-strict functional programming languages. Hugs 98
provides an almost complete implementation of Haskell 98, including:
* Lazy evaluation, higher order functions, and pattern matching.
* A wide range of built-in types, from characters to bignums, and lists
to functions, with comprehensive facilities for defining new datatypes
and type synonyms.
* An advanced polymorphic type system with type and constructor class
overloading.
* All of the features of the Haskell 98 expression and pattern syntax
including lambda, case, conditional and let expressions, list
comprehensions, do-notation, operator sections, and wildcard,
irrefutable and `as' patterns.
* An implementation of the Haskell 98 primitives for monadic I/O, with
support for simple interactive programs, access to text files,
handle-based I/O, and exception handling.
* An almost complete implementation of the Haskell module system.
Hugs 98 also supports a number of advanced and experimental extensions
including multi-parameter classes, extensible records, rank-2
polymorphism, existentials, scoped type variables, and restricted
type synonyms.