Differences With Haskell 98
Here is a list of differences between Helium (with overloading) and Haskell 98.
- labeled fields in data types (a.k.a. records)
- qualified imports and renaming an imported module with
- import and export lists, such as
- Strictness annotations
(,,) etc. to construct a tuple (type), i.e. you cannot write
(,) 3 4
 as type constructor, i.e. you cannot write
x ::  Int
- literate programming
Supported but restricted
Not in Haskell 98, but available in Helium
- A show function is generated for each data type and type synonym. For instance, the function
showMaybe is automatically created for the data type
Maybe. If the data type has parameters, then the show function gets the necessary additional arguments, e.g.
showMaybe showInt (Just 3).
- 15 Apr 2008