summaryrefslogtreecommitdiff
path: root/lang/hugs/DESCR
blob: c958942f66a2164c8b06fedbb5d7ecea9211e388 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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.