Haskell'98 vs. Hat | Actual | Planned |
| 2000 | 2002 | |
|
Language constructs |
modules | * | * | * |
lambda abstractions | * | * | * |
pattern matches | * | * | * |
guards | * | * | * |
if-then-else | * | * | * |
case expr of | * | * | * |
list comprehensions | + | + | * |
monadic do | + | + | * |
infix operators | * | * | * |
numeric literals | + | * | * |
numeric sequences | + | + | * |
n+k patterns | - | - | - |
Basic types |
Bool | * | * | * |
Char | * | * | * |
List | * | * | * |
Tuples | * | * | * |
Int | * | * | * |
Integer | - | * | * |
Float | - | * | * |
Double | - | * | * |
Rational | - | * | * |
User types |
data types | * | * | * |
type synonyms | + | * | * |
newtypes | - | * | * |
named fields | - | + | * |
type classes | * | * | * |
derived instances | - | * | * |
strict types | - | + | * |
|
Haskell'98 vs. Hat | Actual | Planned |
| 2000 | 2002 | |
|
Input/output |
single I/O streams | * | * | * |
file handling | - | + | * |
Libraries |
Prelude | + | * | * |
Ratio | - | * | * |
Complex | - | * | * |
Numeric | - | * | * |
Ix | - | * | * |
Array | - | * | * |
List | + | * | * |
Maybe | + | * | * |
Char | + | * | * |
Monad | - | * | * |
IO | - | + | * |
Directory | - | + | * |
System | - | * | * |
Time | - | - | * |
Locale | - | - | * |
CPUTime | - | * | * |
Random | - | * | * |
Platform Portability |
machine and O/S | * | * | * |
other Haskell systems | - | + | * |
Non-Haskell'98 Extensions |
primitive FFI | - | * | * |
IOExtras library | - | * | * |
multi-parameter TCs | - | - | - |
existentials | - | - | - |
concurrency | - | - | - |
parallelism | - | - | - |
|