... | @@ -18,6 +18,7 @@ We could simply remove the M-R from the language, but suggest that compilers iss |
... | @@ -18,6 +18,7 @@ We could simply remove the M-R from the language, but suggest that compilers iss |
|
- Even if you do get loss of sharing, profiling will quickly pinpoint it
|
|
- Even if you do get loss of sharing, profiling will quickly pinpoint it
|
|
- nhc98 has never implemented the M-R, and users haven't found any significant problems as a result
|
|
- nhc98 has never implemented the M-R, and users haven't found any significant problems as a result
|
|
- Hugs has a different (non-Haskell98) implementation of the M-R
|
|
- Hugs has a different (non-Haskell98) implementation of the M-R
|
|
|
|
- Haskell doesn't specify an evaluation strategy so introducing the concept of 'sharing' is strange indeed.
|
|
|
|
|
|
**Against:**
|
|
**Against:**
|
|
|
|
|
... | @@ -64,7 +65,7 @@ see [ http://www.haskell.org//pipermail/haskell-prime/2006-January/000117.html]( |
... | @@ -64,7 +65,7 @@ see [ http://www.haskell.org//pipermail/haskell-prime/2006-January/000117.html]( |
|
|
|
|
|
**Against:**
|
|
**Against:**
|
|
|
|
|
|
- same as above
|
|
- would make parentheses matter in a certain situation (n+k patterns and negative literals already do this)
|
|
|
|
|
|
## All variable/pattern bindings are monomorphic unless a signature is given
|
|
## All variable/pattern bindings are monomorphic unless a signature is given
|
|
|
|
|
... | @@ -78,3 +79,4 @@ see [ http://www.haskell.org//pipermail/haskell-prime/2006-January/000117.html]( |
... | @@ -78,3 +79,4 @@ see [ http://www.haskell.org//pipermail/haskell-prime/2006-January/000117.html]( |
|
- Against the spirit of Haskell - shouldn't compromise expressiveness for performance by default
|
|
- Against the spirit of Haskell - shouldn't compromise expressiveness for performance by default
|
|
- Already huge potential for ruining your performance without the M-R, why introduce such draconian measures just for this?
|
|
- Already huge potential for ruining your performance without the M-R, why introduce such draconian measures just for this?
|
|
- Monomorphic bindings lead to hard to understand errors when polymorphism was expected
|
|
- Monomorphic bindings lead to hard to understand errors when polymorphism was expected
|
|
|
|
- Haskell doesn't define an operational semantics so introducing a concept of sharing into the report would be odd. |