aboutsummaryrefslogtreecommitdiff
path: root/html-test
diff options
context:
space:
mode:
authorNiklas Haas <git@nand.wakku.to>2014-03-15 15:17:18 +0100
committerMateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>2014-03-15 18:20:26 +0000
commit82ab2c09c19641e0ea89965c9af291043798486d (patch)
treea00a780248c46867d5a6f1483501874521377241 /html-test
parent48f45676f7c6c79b249b51dde9a6791393860676 (diff)
Fix issue #281
This is a regression from the data family instances change. Data instances are now distinguished from regular lists by usage of the new class "inst", and the style has been updated to only apply to those. I've also updated the appropriate test case to test this a bit better, including GADT instances with GADT-style records.
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