summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2014-03-14 12:51:37 +0100
committerJoachim Breitner <mail@joachim-breitner.de>2014-03-14 12:51:37 +0100
commit1e36a386042248523de69ad6b02c43a6631ed5d0 (patch)
tree3fd70648c3f2afb69507a05fd83677534251bc22 /docs
parentd53ccab6ab32df38c0c226dea51f702f20d4feb3 (diff)
downloadhaskell-1e36a386042248523de69ad6b02c43a6631ed5d0.tar.gz
Document Coercible in the user guide
as a subsection of "Equality constraints", containing references to the module's haddock and to the paper. Fixes #8888
Diffstat (limited to 'docs')
-rw-r--r--docs/users_guide/glasgow_exts.xml15
1 files changed, 15 insertions, 0 deletions
diff --git a/docs/users_guide/glasgow_exts.xml b/docs/users_guide/glasgow_exts.xml
index 4217b7dc41..9dbd545069 100644
--- a/docs/users_guide/glasgow_exts.xml
+++ b/docs/users_guide/glasgow_exts.xml
@@ -6729,6 +6729,21 @@ class (F a ~ b) => C a b where
with the class head. Method signatures are not affected by that
process.
</para>
+
+ <sect2 id="coercible">
+ <title>The <literal>Coercible</literal> constraint</title>
+ <para>
+ The constraint <literal>Coercible t1 t2</literal> is similar to <literal>t1 ~
+ t2</literal>, but denotes representational equality between
+ <literal>t1</literal> and <literal>t2</literal> in the sense of Roles
+ (<xref linkend="roles"/>). It is exported by
+ <ulink url="&libraryBaseLocation;/Data-Coerce.html"><literal>Data.Coerce</literal></ulink>,
+ which also contains the documentation. More details and discussion can be found in
+ the paper
+ <ulink href="http://www.cis.upenn.edu/~eir/papers/2014/coercible/coercible.pdf">Safe Coercions"</ulink>.
+ </para>
+ </sect2>
+
</sect1>
<sect1 id="constraint-kind">