This file is indexed.

/usr/share/doc/libghc-servant-server-doc/html/Servant-Server-Internal-Context.html is in libghc-servant-server-doc 0.8.1-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Servant.Server.Internal.Context</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Servant-Server-Internal-Context.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Servant-Server-Internal-Context.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">servant-server-0.8.1: A family of combinators for defining webservices APIs and serving them</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Servant.Server.Internal.Context</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">support for named subcontexts</a></li></ul></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:Context">Context</a> contextTypes <span class="keyword">where</span><ul class="subs"><li><a href="#v:EmptyContext">EmptyContext</a> :: <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> '[]</li><li><a href="#v::.">(:.)</a> :: x -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> xs -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> (x ': xs)</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasContextEntry">HasContextEntry</a> context val <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:NamedContext">NamedContext</a> name subContext = <a href="#v:NamedContext">NamedContext</a> (<a href="Servant-Server-Internal-Context.html#t:Context">Context</a> subContext)</li><li class="src short"><a href="#v:descendIntoNamedContext">descendIntoNamedContext</a> :: <span class="keyword">forall</span> context name subContext. <a href="Servant-Server-Internal-Context.html#t:HasContextEntry">HasContextEntry</a> context (<a href="Servant-Server-Internal-Context.html#t:NamedContext">NamedContext</a> name subContext) =&gt; <a href="Servant.html#t:Proxy">Proxy</a> (name :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> subContext</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Context" class="def">Context</a> contextTypes <span class="keyword">where</span> <a href="src/Servant-Server-Internal-Context.html#Context" class="link">Source</a> <a href="#t:Context" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server-Internal-Context.html#t:Context">Context</a></code>s are used to pass values to combinators. (They are <strong>not</strong> meant
 to be used to pass parameters to your handlers, i.e. they should not replace
 any custom <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-Reader.html#v:ReaderT">ReaderT</a></code>-monad-stack that you're using
 with <code><a href="Servant-Utils.html#v:Enter">Enter</a></code>.) If you don't use combinators that
 require any context entries, you can just use <code><a href="Servant-Server.html#v:serve">serve</a></code> as always.</p><p>If you are using combinators that require a non-empty <code><a href="Servant-Server-Internal-Context.html#t:Context">Context</a></code> you have to
 use <code><a href="Servant-Server.html#v:serveWithContext">serveWithContext</a></code> and pass it a <code><a href="Servant-Server-Internal-Context.html#t:Context">Context</a></code> that contains all
 the values your combinators need. A <code><a href="Servant-Server-Internal-Context.html#t:Context">Context</a></code> is essentially a heterogenous
 list and accessing the elements is being done by type (see <code><a href="Servant-Server-Internal-Context.html#v:getContextEntry">getContextEntry</a></code>).
 The parameter of the type <code><a href="Servant-Server-Internal-Context.html#t:Context">Context</a></code> is a type-level list reflecting the types
 of the contained context entries. To create a <code><a href="Servant-Server-Internal-Context.html#t:Context">Context</a></code> with entries, use the
 operator <code>(<code><a href="Servant-Server-Internal-Context.html#v::.">:.</a></code>)</code>:</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>:type True :. () :. EmptyContext
</code></strong>True :. () :. EmptyContext :: Context '[Bool, ()]
</pre></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:EmptyContext" class="def">EmptyContext</a> :: <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> '[]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v::." class="def">(:.)</a> :: x -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> xs -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> (x ': xs) <span class="fixity">infixr 5</span><span class="rightedge"></span></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Context" class="caption collapser" onclick="toggleSection('i:Context')">Instances</p><div id="section.i:Context" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Context:Eq:1" class="instance expander" onclick="toggleSection('i:id:Context:Eq:1')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Eq.html#t:Eq">Eq</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Servant-Server-Internal-Context.html#t:Context">Context</a> as)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ((:) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> a as))</span> <a href="src/Servant-Server-Internal-Context.html#line-48" class="link">Source</a> <a href="#t:Context" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Context:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Context:Eq:2" class="instance expander" onclick="toggleSection('i:id:Context:Eq:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ([] <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a>))</span> <a href="src/Servant-Server-Internal-Context.html#line-46" class="link">Source</a> <a href="#t:Context" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Context:Eq:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Context:Show:3" class="instance expander" onclick="toggleSection('i:id:Context:Show:3')"></span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:Show">Show</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:Show">Show</a> (<a href="Servant-Server-Internal-Context.html#t:Context">Context</a> as)) =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:Show">Show</a> (<a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ((:) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> a as))</span> <a href="src/Servant-Server-Internal-Context.html#line-41" class="link">Source</a> <a href="#t:Context" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Context:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> ': a) as) -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> ': a) as)] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Context:Show:4" class="instance expander" onclick="toggleSection('i:id:Context:Show:4')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:Show">Show</a> (<a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ([] <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a>))</span> <a href="src/Servant-Server-Internal-Context.html#line-39" class="link">Source</a> <a href="#t:Context" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Context:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a>] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Servant-Server-Internal-Context.html#t:Context">Context</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a>]] -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasContextEntry" class="def">HasContextEntry</a> context val <span class="keyword">where</span> <a href="src/Servant-Server-Internal-Context.html#HasContextEntry" class="link">Source</a> <a href="#t:HasContextEntry" class="selflink">#</a></p><div class="doc"><p>This class is used to access context entries in <code><a href="Servant-Server-Internal-Context.html#t:Context">Context</a></code>s. <code><a href="Servant-Server-Internal-Context.html#v:getContextEntry">getContextEntry</a></code>
 returns the first value where the type matches:</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>getContextEntry (True :. False :. EmptyContext) :: Bool
</code></strong>True
</pre><p>If the <code><a href="Servant-Server-Internal-Context.html#t:Context">Context</a></code> does not contain an entry of the requested type, you'll get
 an error:</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>getContextEntry (True :. False :. EmptyContext) :: String
</code></strong>...
...No instance for (HasContextEntry '[] [Char])
...
</pre></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Servant-Server-Internal-Context.html#v:getContextEntry">getContextEntry</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:getContextEntry" class="def">getContextEntry</a> :: <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> context -&gt; val <a href="src/Servant-Server-Internal-Context.html#getContextEntry" class="link">Source</a> <a href="#v:getContextEntry" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:HasContextEntry" class="caption collapser" onclick="toggleSection('i:HasContextEntry')">Instances</p><div id="section.i:HasContextEntry" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasContextEntry:HasContextEntry:1" class="instance expander" onclick="toggleSection('i:ic:HasContextEntry:HasContextEntry:1')"></span> <a href="Servant-Server-Internal-Context.html#t:HasContextEntry">HasContextEntry</a> ((:) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> val xs) val</span> <a href="src/Servant-Server-Internal-Context.html#line-72" class="link">Source</a> <a href="#t:HasContextEntry" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:HasContextEntry:HasContextEntry:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:getContextEntry">getContextEntry</a> :: <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> ': val) xs) -&gt; val <a href="src/Servant-Server-Internal-Context.html#getContextEntry" class="link">Source</a> <a href="#v:getContextEntry" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasContextEntry:HasContextEntry:2" class="instance expander" onclick="toggleSection('i:ic:HasContextEntry:HasContextEntry:2')"></span> <a href="Servant-Server-Internal-Context.html#t:HasContextEntry">HasContextEntry</a> xs val =&gt; <a href="Servant-Server-Internal-Context.html#t:HasContextEntry">HasContextEntry</a> ((:) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> notIt xs) val</span> <a href="src/Servant-Server-Internal-Context.html#line-68" class="link">Source</a> <a href="#t:HasContextEntry" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:HasContextEntry:HasContextEntry:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:getContextEntry">getContextEntry</a> :: <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> ((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Kind.html#t:-42-">*</a> ': notIt) xs) -&gt; val <a href="src/Servant-Server-Internal-Context.html#getContextEntry" class="link">Source</a> <a href="#v:getContextEntry" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h1 id="g:1">support for named subcontexts</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:NamedContext" class="def">NamedContext</a> name subContext <a href="src/Servant-Server-Internal-Context.html#NamedContext" class="link">Source</a> <a href="#t:NamedContext" class="selflink">#</a></p><div class="doc"><p>Normally context entries are accessed by their types. In case you need
 to have multiple values of the same type in your <code><a href="Servant-Server-Internal-Context.html#t:Context">Context</a></code> and need to access
 them, we provide <code><a href="Servant-Server-Internal-Context.html#t:NamedContext">NamedContext</a></code>. You can think of it as sub-namespaces for
 <code><a href="Servant-Server-Internal-Context.html#t:Context">Context</a></code>s.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NamedContext" class="def">NamedContext</a> (<a href="Servant-Server-Internal-Context.html#t:Context">Context</a> subContext)</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a id="v:descendIntoNamedContext" class="def">descendIntoNamedContext</a> :: <span class="keyword">forall</span> context name subContext. <a href="Servant-Server-Internal-Context.html#t:HasContextEntry">HasContextEntry</a> context (<a href="Servant-Server-Internal-Context.html#t:NamedContext">NamedContext</a> name subContext) =&gt; <a href="Servant.html#t:Proxy">Proxy</a> (name :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> context -&gt; <a href="Servant-Server-Internal-Context.html#t:Context">Context</a> subContext <a href="src/Servant-Server-Internal-Context.html#descendIntoNamedContext" class="link">Source</a> <a href="#v:descendIntoNamedContext" class="selflink">#</a></p><div class="doc"><p><code><a href="Servant-Server-Internal-Context.html#v:descendIntoNamedContext">descendIntoNamedContext</a></code> allows you to access <code><a href="Servant-Server-Internal-Context.html#t:NamedContext">NamedContext</a></code>s. Usually you
 won't have to use it yourself but instead use a combinator like
 <code><a href="file:///usr/share/doc/libghc-servant-doc/html/Servant-API-WithNamedContext.html#v:WithNamedContext">WithNamedContext</a></code>.</p><p>This is how <code><a href="Servant-Server-Internal-Context.html#v:descendIntoNamedContext">descendIntoNamedContext</a></code> works:</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>:set -XFlexibleContexts
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>let subContext = True :. EmptyContext
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>:type subContext
</code></strong>subContext :: Context '[Bool]
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>let parentContext = False :. (NamedContext subContext :: NamedContext &quot;subContext&quot; '[Bool]) :. EmptyContext
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>:type parentContext
</code></strong>parentContext :: Context '[Bool, NamedContext &quot;subContext&quot; '[Bool]]
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>descendIntoNamedContext (Proxy :: Proxy &quot;subContext&quot;) parentContext :: Context '[Bool]
</code></strong>True :. EmptyContext
</pre></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>