diff options
author | Niklas Haas <git@nand.wakku.to> | 2014-03-12 10:31:31 +0100 |
---|---|---|
committer | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2014-03-13 19:18:06 +0000 |
commit | 3606ad5fdb8b9c2c3f9a62de1d26702ad41f9a10 (patch) | |
tree | 56e35153453b6469ef34cd356b966293ee81d1ff /html-test | |
parent | 8f71c6f26eb5b36e5a1ca253b8c8ffdca75849d8 (diff) |
Hide RHS of TFs with non-exported right hand sides
Not sure what to do about data families yet, since technically it would
not make a lot of sense to display constructors that cannot be used by
the user.
Diffstat (limited to 'html-test')
-rw-r--r-- | html-test/ref/TypeFamilies2.html | 92 | ||||
-rw-r--r-- | html-test/src/TypeFamilies2.hs | 32 |
2 files changed, 92 insertions, 32 deletions
diff --git a/html-test/ref/TypeFamilies2.html b/html-test/ref/TypeFamilies2.html index 102ebd98..ea982f28 100644 --- a/html-test/ref/TypeFamilies2.html +++ b/html-test/ref/TypeFamilies2.html @@ -41,6 +41,30 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies2.html");} ><p class="caption" >TypeFamilies2</p ></div + ><div id="synopsis" + ><p id="control.syn" class="caption expander" onclick="toggleSection('syn')" + >Synopsis</p + ><ul id="section.syn" class="hide" onclick="toggleSection('syn')" + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="#t:W" + >W</a + ></li + ><li class="src short" + ><span class="keyword" + >type family</span + > <a href="#t:Foo" + >Foo</a + > a</li + ><li class="src short" + ><span class="keyword" + >data family</span + > <a href="#t:Bar" + >Bar</a + > a</li + ></ul + ></div ><div id="interface" ><h1 >Documentation</h1 @@ -48,13 +72,17 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies2.html");} ><p class="src" ><span class="keyword" >data</span - > <a name="t:X" class="def" - >X</a + > <a name="t:W" class="def" + >W</a ></p + ><div class="doc" + ><p + >Exported type</p + ></div ><div class="subs instances" - ><p id="control.i:X" class="caption collapser" onclick="toggleSection('i:X')" + ><p id="control.i:W" class="caption collapser" onclick="toggleSection('i:W')" >Instances</p - ><div id="section.i:X" class="show" + ><div id="section.i:W" class="show" ><table ><tr ><td class="src" @@ -62,13 +90,15 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies2.html");} >data</span > <a href="TypeFamilies2.html#t:Bar" >Bar</a - > <a href="TypeFamilies2.html#t:X" - >X</a + > <a href="TypeFamilies2.html#t:W" + >W</a > = <a name="v:BarX" class="def" >BarX</a - > Y</td - ><td class="doc empty" - > </td + > Z</td + ><td class="doc" + ><p + >Shown because BarX is still exported despite Z being hidden</p + ></td ></tr ><tr ><td class="src" @@ -76,11 +106,13 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies2.html");} >type</span > <a href="TypeFamilies2.html#t:Foo" >Foo</a - > <a href="TypeFamilies2.html#t:X" - >X</a - > = Y</td - ><td class="doc empty" - > </td + > <a href="TypeFamilies2.html#t:W" + >W</a + ></td + ><td class="doc" + ><p + >Should be visible, but with a hidden right hand side</p + ></td ></tr ></table ></div @@ -93,6 +125,10 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies2.html");} > <a name="t:Foo" class="def" >Foo</a > a</p + ><div class="doc" + ><p + >Exported type family</p + ></div ><div class="subs instances" ><p id="control.i:Foo" class="caption collapser" onclick="toggleSection('i:Foo')" >Instances</p @@ -104,11 +140,13 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies2.html");} >type</span > <a href="TypeFamilies2.html#t:Foo" >Foo</a - > <a href="TypeFamilies2.html#t:X" - >X</a - > = Y</td - ><td class="doc empty" - > </td + > <a href="TypeFamilies2.html#t:W" + >W</a + ></td + ><td class="doc" + ><p + >Should be visible, but with a hidden right hand side</p + ></td ></tr ><tr ><td class="src" @@ -137,6 +175,10 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies2.html");} > <a name="t:Bar" class="def" >Bar</a > a</p + ><div class="doc" + ><p + >Exported data family</p + ></div ><div class="subs instances" ><p id="control.i:Bar" class="caption collapser" onclick="toggleSection('i:Bar')" >Instances</p @@ -148,13 +190,15 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies2.html");} >data</span > <a href="TypeFamilies2.html#t:Bar" >Bar</a - > <a href="TypeFamilies2.html#t:X" - >X</a + > <a href="TypeFamilies2.html#t:W" + >W</a > = <a name="v:BarX" class="def" >BarX</a - > Y</td - ><td class="doc empty" - > </td + > Z</td + ><td class="doc" + ><p + >Shown because BarX is still exported despite Z being hidden</p + ></td ></tr ><tr ><td class="src" diff --git a/html-test/src/TypeFamilies2.hs b/html-test/src/TypeFamilies2.hs index 34790a51..b66acbfa 100644 --- a/html-test/src/TypeFamilies2.hs +++ b/html-test/src/TypeFamilies2.hs @@ -6,18 +6,34 @@ -- -- The other families and instances that are not exported should not -- show up at all -module TypeFamilies2 (X, Foo, Bar) where +module TypeFamilies2 (W, Foo, Bar) where -data X -data Y +-- | Exported type +data W +-- | Hidden type +data Z + +-- | Exported type family type family Foo a -type instance Foo X = Y -type instance Foo Y = X -- Should be hidden +-- | Should be visible, but with a hidden right hand side +type instance Foo W = Z + +-- | Should be hidden +type instance Foo Z = W + +-- | Exported data family data family Bar a -data instance Bar X = BarX Y +-- | Shown because BarX is still exported despite Z being hidden +data instance Bar W = BarX Z + +-- | Should be completely invisible, including instances type family Invisible a -type instance Invisible X = Y -type instance Invisible Y = X +type instance Invisible W = Z +type instance Invisible Z = W + +data family Invisible2 a +data instance Invisible2 W = Invis Z +data instance Invisible2 Z = Invis' W |