|
|
# language qualities
|
|
|
|
|
|
|
|
|
These are properties or qualities of any haskell standard we would like to preserve or make sure the language has.
|
|
|
|
|
|
- import-safe - importing a new module can never silently change the behavior of a program, but it may cause a compile-time error. two programs that are identical except one has a superset of the imports of the other will either behave identically or at least one will fail to compile. (defaulting and [OverlappingInstances](overlapping-instances) break this)
|
|
|
|
|
|
- admits an efficient implementation. features that require large amounts of run-time support or non-trivial restrictions on the implementation method should be avoided. |