diff options
author | Richard Eisenberg <eir@cis.upenn.edu> | 2014-02-07 17:24:07 -0500 |
---|---|---|
committer | Richard Eisenberg <eir@cis.upenn.edu> | 2014-02-07 17:24:07 -0500 |
commit | 218dead0d85a136b5d5648e4d6c4c9cc9467eb45 (patch) | |
tree | e51a55897169374265c7e02ca0da89a2c5d45553 /docs | |
parent | 312686c172eefb74237c8a61e2cca1b2af7459c1 (diff) | |
download | haskell-218dead0d85a136b5d5648e4d6c4c9cc9467eb45.tar.gz |
Fix #8706, documenting that type operators are not promoted.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/users_guide/glasgow_exts.xml | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/users_guide/glasgow_exts.xml b/docs/users_guide/glasgow_exts.xml index fb3eb48d3e..9910d2bd4e 100644 --- a/docs/users_guide/glasgow_exts.xml +++ b/docs/users_guide/glasgow_exts.xml @@ -6652,6 +6652,18 @@ See also <ulink url="http://ghc.haskell.org/trac/ghc/ticket/7347">Trac #7347</ul </para> </sect2> +<sect2> +<title>Promoting type operators</title> +<para> +Type operators are <emphasis>not</emphasis> promoted to the kind level. Why not? Because +<literal>*</literal> is a kind, parsed the way identifiers are. Thus, if a programmer +tried to write <literal>Either * Bool</literal>, would it be <literal>Either</literal> +applied to <literal>*</literal> and <literal>Bool</literal>? Or would it be +<literal>*</literal> applied to <literal>Either</literal> and <literal>Bool</literal>. +To avoid this quagmire, we simply forbid promoting type operators to the kind level. +</para> +</sect2> + </sect1> |