| feature | Hat (2.04) |
|
| 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 | * |
|
| feature | Hat (2.04) |
|
| Input/output |
| single I/O streams | * |
| file handling | + |
| Libraries |
| Haskell'98 Prelude | * |
| Haskell'98 Libraries | * |
| base hierarchical libraries | + |
| other hierarchical libraries | - |
| Platform Portability |
| machine and O/S | * |
| nhc98 | * |
| ghc | * |
| hugs | - |
| hbc | - |
| helium | - |
| Non-Haskell'98 Extensions |
| primitive FFI | + |
| hierarchical library namespace | * |
| unsafePerformIO etc | * |
| multi-parameter TCs | * |
| functional dependencies | * |
| existential types | + |
| implicit parameters | - |
| imprecise exceptions | + |
| concurrency | - |
| parallelism | - |
|