summaryrefslogtreecommitdiff
path: root/docs/users_guide/separate_compilation.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/users_guide/separate_compilation.rst')
-rw-r--r--docs/users_guide/separate_compilation.rst10
1 files changed, 6 insertions, 4 deletions
diff --git a/docs/users_guide/separate_compilation.rst b/docs/users_guide/separate_compilation.rst
index c6e9b7d0b6..b580c9ab18 100644
--- a/docs/users_guide/separate_compilation.rst
+++ b/docs/users_guide/separate_compilation.rst
@@ -864,10 +864,12 @@ A hs-boot file is written in a subset of Haskell:
You cannot use ``deriving`` on a data type declaration; write an
``instance`` declaration instead.
-- Class declarations is exactly as in Haskell, except that you may not
- put default method declarations. You can also omit all the
- superclasses and class methods entirely; but you must either omit
- them all or put them all in.
+- Class declarations can either be given in full, exactly as in Haskell,
+ or they can be given abstractly by omitting everything other than the
+ instance head: no superclasses, no class methods, no associated types.
+ If the class declaration is given in full, the default delarations
+ must also match; this applies to both default methods and default
+ declarations for associated types.
- You can include instance declarations just as in Haskell; but omit
the "where" part.