X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fglasgow_exts.xml;h=ac10e2128ba42a26160e183af04831ba3b296599;hb=25ebbb764146f4c4634720bb285c3611e95cc951;hp=4ed8c2aae3d9d542b2fb3239f005e3a343158b89;hpb=e49ced85b45b9b6cce185b8008fdef82d70f8642;p=ghc-hetmet.git
diff --git a/docs/users_guide/glasgow_exts.xml b/docs/users_guide/glasgow_exts.xml
index 4ed8c2a..ac10e21 100644
--- a/docs/users_guide/glasgow_exts.xml
+++ b/docs/users_guide/glasgow_exts.xml
@@ -381,6 +381,13 @@ worse, the unboxed value might be larger than a pointer
(Double# for instance).
+ You cannot define a newtype whose representation type
+(the argument type of the data constructor) is an unboxed type. Thus,
+this is illegal:
+
+ newtype A = MkA Int#
+
+ You cannot bind a variable with an unboxed type
in a top-level binding.
@@ -4132,6 +4139,33 @@ to work since it gets translated into an equality comparison.
+
+Type families
+
+
+
+GHC supports the definition of type families indexed by types. They may be
+seen as an extension of Haskell 98's class-based overloading of values to
+types. When type families are declared in classes, they are also known as
+associated types.
+
+
+There are two forms of type families: data families and type synonym families.
+Currently, only the former are fully implemented, while we are still working
+on the latter. As a result, the specification of the language extension is
+also still to some degree in flux. Hence, a more detailed description of
+the language extension and its use is currently available
+from the Haskell
+wiki page on type families. The material will be moved to this user's
+guide when it has stabilised.
+
+
+Type families are enabled by the flag .
+
+
+
+
+