23 lines
1.2 KiB
Plaintext
23 lines
1.2 KiB
Plaintext
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.
|