aboutsummaryrefslogtreecommitdiff
path: root/html-test
diff options
context:
space:
mode:
Diffstat (limited to 'html-test')
-rw-r--r--html-test/ref/TypeFamilies.html304
-rw-r--r--html-test/src/TypeFamilies.hs16
2 files changed, 234 insertions, 86 deletions
diff --git a/html-test/ref/TypeFamilies.html b/html-test/ref/TypeFamilies.html
index d1d54571..355d9248 100644
--- a/html-test/ref/TypeFamilies.html
+++ b/html-test/ref/TypeFamilies.html
@@ -81,6 +81,22 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
></li
><li class="src short"
><span class="keyword"
+ >data</span
+ > <a href=""
+ >Z</a
+ ><ul class="subs"
+ ><li
+ >= <a href=""
+ >ZA</a
+ ></li
+ ><li
+ >| <a href=""
+ >ZB</a
+ ></li
+ ></ul
+ ></li
+ ><li class="src short"
+ ><span class="keyword"
>class</span
> <a href=""
>Test</a
@@ -253,17 +269,47 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
><span class="keyword"
>data</span
> <a href=""
- >Bat</a
+ >AssocD</a
+ > * <a href=""
+ >X</a
+ > = <a name="v:AssocX" class="def"
+ >AssocX</a
+ ></td
+ ><td class="doc empty"
+ >&nbsp;</td
+ ></tr
+ ><tr
+ ><td class="src"
+ ><span class="keyword"
+ >type</span
+ > <a href=""
+ >AssocT</a
+ > * <a href=""
+ >X</a
+ > = <a href=""
+ >Foo</a
+ > * <a href=""
+ >X</a
+ ></td
+ ><td class="doc empty"
+ >&nbsp;</td
+ ></tr
+ ><tr
+ ><td class="src"
+ ><span class="keyword"
+ >data</span
> <a href=""
+ >Bat</a
+ > * <a href=""
>X</a
- > <ul class="subs"
- ><li
+ > <ul class="inst"
+ ><li class="inst"
>= <a name="v:BatX" class="def"
>BatX</a
> <a href=""
>X</a
></li
- ><li
+ ><li class="inst"
>| <a name="v:BatXX" class="def"
>BatXX</a
> { <ul class="subs"
@@ -291,36 +337,6 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
><tr
><td class="src"
><span class="keyword"
- >data</span
- > <a href=""
- >AssocD</a
- > * <a href=""
- >X</a
- > = <a name="v:AssocX" class="def"
- >AssocX</a
- ></td
- ><td class="doc empty"
- >&nbsp;</td
- ></tr
- ><tr
- ><td class="src"
- ><span class="keyword"
- >type</span
- > <a href=""
- >AssocT</a
- > * <a href=""
- >X</a
- > = <a href=""
- >Foo</a
- > * <a href=""
- >X</a
- ></td
- ><td class="doc empty"
- >&nbsp;</td
- ></tr
- ><tr
- ><td class="src"
- ><span class="keyword"
>type</span
> <a href=""
>Foo</a
@@ -427,36 +443,6 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
><span class="keyword"
>data</span
> <a href=""
- >Bat</a
- > <a href=""
- >Y</a
- > <ul class="subs"
- ><li
- >= <a name="v:BatY" class="def"
- >BatY</a
- > <a href=""
- >Y</a
- ></li
- ><li
- >| <a href=""
- >X</a
- > <a name="v::-43-" class="def"
- >:+</a
- > <a href=""
- >X</a
- ></li
- ></ul
- ></td
- ><td class="doc"
- ><p
- >Doc for: data instance Bat Y</p
- ></td
- ></tr
- ><tr
- ><td class="src"
- ><span class="keyword"
- >data</span
- > <a href=""
>AssocD</a
> * <a href=""
>Y</a
@@ -476,7 +462,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
>Y</a
> = <a href=""
>Bat</a
- > <a href=""
+ > * <a href=""
>Y</a
></td
><td class="doc empty"
@@ -485,6 +471,24 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
><tr
><td class="src"
><span class="keyword"
+ >data</span
+ > <a href=""
+ >Bat</a
+ > * <a href=""
+ >Y</a
+ > = <a name="v:BatY" class="def"
+ >BatY</a
+ > <a href=""
+ >Y</a
+ ></td
+ ><td class="doc"
+ ><p
+ >Doc for: data instance Bat Y</p
+ ></td
+ ></tr
+ ><tr
+ ><td class="src"
+ ><span class="keyword"
>type</span
> <a href=""
>Foo</a
@@ -517,6 +521,102 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
><div class="top"
><p class="src"
><span class="keyword"
+ >data</span
+ > <a name="t:Z" class="def"
+ >Z</a
+ ></p
+ ><div class="doc"
+ ><p
+ >Doc for: data Z</p
+ ></div
+ ><div class="subs constructors"
+ ><p class="caption"
+ >Constructors</p
+ ><table
+ ><tr
+ ><td class="src"
+ ><a name="v:ZA" class="def"
+ >ZA</a
+ ></td
+ ><td class="doc empty"
+ >&nbsp;</td
+ ></tr
+ ><tr
+ ><td class="src"
+ ><a name="v:ZB" class="def"
+ >ZB</a
+ ></td
+ ><td class="doc empty"
+ >&nbsp;</td
+ ></tr
+ ></table
+ ></div
+ ><div class="subs instances"
+ ><p id="control.i:Z" class="caption collapser" onclick="toggleSection('i:Z')"
+ >Instances</p
+ ><div id="section.i:Z" class="show"
+ ><table
+ ><tr
+ ><td class="src"
+ ><span class="keyword"
+ >data</span
+ > <a href=""
+ >Bat</a
+ > <a href=""
+ >Z</a
+ > <span class="keyword"
+ >where</span
+ ><ul class="inst"
+ ><li class="inst"
+ ><a name="v:BatZ1" class="def"
+ >BatZ1</a
+ > :: <a href=""
+ >Z</a
+ > -&gt; <a href=""
+ >Bat</a
+ > <a href=""
+ >Z</a
+ > <a href=""
+ >ZA</a
+ ></li
+ ><li class="inst"
+ ><a name="v:BatZ2" class="def"
+ >BatZ2</a
+ > :: { <ul class="subs"
+ ><li
+ ><a name="v:batx" class="def"
+ >batx</a
+ > :: <a href=""
+ >X</a
+ ></li
+ ><li
+ ><a name="v:baty" class="def"
+ >baty</a
+ > :: <a href=""
+ >Y</a
+ ></li
+ ></ul
+ > } -&gt; <a href=""
+ >Bat</a
+ > <a href=""
+ >Z</a
+ > <a href=""
+ >ZB</a
+ ></li
+ ></ul
+ ></td
+ ><td class="doc"
+ ><p
+ >Doc for: data instance Bat Z</p
+ ></td
+ ></tr
+ ></table
+ ></div
+ ></div
+ ></div
+ ><div class="top"
+ ><p class="src"
+ ><span class="keyword"
>class</span
> <a name="t:Test" class="def"
>Test</a
@@ -633,27 +733,51 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
> <a href=""
>Bat</a
> <a href=""
- >Y</a
- > <ul class="subs"
- ><li
- >= <a name="v:BatY" class="def"
- >BatY</a
+ >Z</a
+ > <span class="keyword"
+ >where</span
+ ><ul class="inst"
+ ><li class="inst"
+ ><a name="v:BatZ1" class="def"
+ >BatZ1</a
+ > :: <a href=""
+ >Z</a
+ > -&gt; <a href=""
+ >Bat</a
+ > <a href=""
+ >Z</a
> <a href=""
- >Y</a
+ >ZA</a
></li
- ><li
- >| <a href=""
- >X</a
- > <a name="v::-43-" class="def"
- >:+</a
+ ><li class="inst"
+ ><a name="v:BatZ2" class="def"
+ >BatZ2</a
+ > :: { <ul class="subs"
+ ><li
+ ><a name="v:batx" class="def"
+ >batx</a
+ > :: <a href=""
+ >X</a
+ ></li
+ ><li
+ ><a name="v:baty" class="def"
+ >baty</a
+ > :: <a href=""
+ >Y</a
+ ></li
+ ></ul
+ > } -&gt; <a href=""
+ >Bat</a
> <a href=""
- >X</a
+ >Z</a
+ > <a href=""
+ >ZB</a
></li
></ul
></td
><td class="doc"
><p
- >Doc for: data instance Bat Y</p
+ >Doc for: data instance Bat Z</p
></td
></tr
><tr
@@ -662,16 +786,34 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
>data</span
> <a href=""
>Bat</a
+ > * <a href=""
+ >Y</a
+ > = <a name="v:BatY" class="def"
+ >BatY</a
> <a href=""
+ >Y</a
+ ></td
+ ><td class="doc"
+ ><p
+ >Doc for: data instance Bat Y</p
+ ></td
+ ></tr
+ ><tr
+ ><td class="src"
+ ><span class="keyword"
+ >data</span
+ > <a href=""
+ >Bat</a
+ > * <a href=""
>X</a
- > <ul class="subs"
- ><li
+ > <ul class="inst"
+ ><li class="inst"
>= <a name="v:BatX" class="def"
>BatX</a
> <a href=""
>X</a
></li
- ><li
+ ><li class="inst"
>| <a name="v:BatXX" class="def"
>BatXX</a
> { <ul class="subs"
diff --git a/html-test/src/TypeFamilies.hs b/html-test/src/TypeFamilies.hs
index 5cd4480e..a79d503e 100644
--- a/html-test/src/TypeFamilies.hs
+++ b/html-test/src/TypeFamilies.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE TypeFamilies, UndecidableInstances, PolyKinds, TypeOperators, DataKinds, MultiParamTypeClasses #-}
+{-# LANGUAGE TypeFamilies, UndecidableInstances, PolyKinds, TypeOperators, DataKinds, MultiParamTypeClasses, GADTs #-}
-- | Doc for: module TypeFamilies
module TypeFamilies where
@@ -14,6 +14,9 @@ data X
-- | Doc for: data Y
data Y
+-- | Doc for: data Z
+data Z = ZA | ZB
+
-- | Doc for: class Test a
class Test a
@@ -31,7 +34,7 @@ type instance Foo X = Y
type instance Foo Y = X
-- | Doc for: data family Bat a
-data family Bat a :: *
+data family Bat (a :: k) :: *
-- | Doc for: data instance Bat X
data instance Bat X
@@ -39,9 +42,12 @@ data instance Bat X
| BatXX { aaa :: X , bbb :: Y } -- ^ Doc for: BatXX { ... }
-- | Doc for: data instance Bat Y
-data instance Bat Y
- = BatY Y -- ^ Doc for: BatY Y
- | X :+ X -- X :+ X
+data instance Bat Y = BatY Y -- ^ Doc for: BatY Y
+
+-- | Doc for: data instance Bat Z
+data instance Bat (z :: Z) where
+ BatZ1 :: Z -> Bat ZA
+ BatZ2 :: { batx :: X, baty :: Y } -> Bat ZB
-- | Doc for: class Assoc a
class Assoc a where