Haskell'98 vs. Hat | Actual | Planned |
| Mar 2000 | Sept 2000 | May 2001 | Jan 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 |
| Mar 2000 | Sept 2000 | May 2001 | Sept 2001 |
|
| 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 | - | - | - | - |
|