forked from qfpl/hpython
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLanguage-Python-Optics.html
More file actions
12 lines (12 loc) · 88.7 KB
/
Language-Python-Optics.html
File metadata and controls
12 lines (12 loc) · 88.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
<!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>Language.Python.Optics</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hpython-0.1.0.1: Python language tools</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(C) CSIRO 2017-2019</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>Isaac Elliott <[email protected]></td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Portability</th><td>non-portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Language.Python.Optics</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Identifiers</a></li><li><a href="#g:2">Indentation</a></li><li><a href="#g:3">Newlines</a></li><li><a href="#g:4">Simple statements</a><ul><li><a href="#g:5">Assignment</a></li></ul></li><li><a href="#g:6">Compound statements</a><ul><li><a href="#g:7">Function definitions</a></li><li><a href="#g:8">Class defintions</a></li><li><a href="#g:9"><code>while</code> statements</a></li><li><a href="#g:10"><code>for</code> statements</a></li><li><a href="#g:11"><code>with</code> statements</a></li><li><a href="#g:12"><code>if</code> statements</a></li><li><a href="#g:13"><code>try</code> statements</a></li><li><a href="#g:14"><code>else</code></a></li></ul></li><li><a href="#g:15">Parameters</a></li><li><a href="#g:16">Expressions</a><ul><li><a href="#g:17">Identifiers</a></li><li><a href="#g:18"><code>None</code></a></li><li><a href="#g:19">Function calls</a></li><li><a href="#g:20">Tuples</a></li><li><a href="#g:21">Lists</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Optics for manipulating Python syntax trees</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short">module <a href="Language-Python-Optics-Validated.html">Language.Python.Optics.Validated</a></li><li class="src short">module <a href="Language-Python-Optics-Idents.html">Language.Python.Optics.Idents</a></li><li class="src short">module <a href="Language-Python-Optics-Indents.html">Language.Python.Optics.Indents</a></li><li class="src short">module <a href="Language-Python-Optics-Newlines.html">Language.Python.Optics.Newlines</a></li><li class="src short"><a href="#v:assignTargets">assignTargets</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Traversal" title="Control.Lens.Type">Traversal</a> (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a) (<a href="Language-Python-Syntax-Ident.html#t:Ident" title="Language.Python.Syntax.Ident">Ident</a> v a) (<a href="Language-Python-Syntax-Ident.html#t:Ident" title="Language.Python.Syntax.Ident">Ident</a> '[] a)</li><li class="src short"><span class="keyword">class</span> <a href="#t:HasCompoundStatement">HasCompoundStatement</a> s <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasFundef">HasFundef</a> s <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasClassDef">HasClassDef</a> s <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasWhile">HasWhile</a> s <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasFor">HasFor</a> s <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasWith">HasWith</a> s <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasIf">HasIf</a> s <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><a href="#v:_Elif">_Elif</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Iso-39-" title="Control.Lens.Type">Iso'</a> (<a href="Language-Python-Syntax-Types.html#t:Elif" title="Language.Python.Syntax.Types">Elif</a> v a) (<a href="Language-Python-Syntax-Whitespace.html#t:Indents" title="Language.Python.Syntax.Whitespace">Indents</a> a, [<a href="Language-Python-Syntax-Whitespace.html#t:Whitespace" title="Language.Python.Syntax.Whitespace">Whitespace</a>], <a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a, <a href="Language-Python-Syntax-Statement.html#t:Suite" title="Language.Python.Syntax.Statement">Suite</a> v a)</li><li class="src short"><span class="keyword">class</span> <a href="#t:HasTryExcept">HasTryExcept</a> s <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasTryFinally">HasTryFinally</a> s <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><a href="#v:_Finally">_Finally</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Iso-39-" title="Control.Lens.Type">Iso'</a> (<a href="Language-Python-Syntax-Types.html#t:Finally" title="Language.Python.Syntax.Types">Finally</a> v a) (<a href="Language-Python-Syntax-Whitespace.html#t:Indents" title="Language.Python.Syntax.Whitespace">Indents</a> a, [<a href="Language-Python-Syntax-Whitespace.html#t:Whitespace" title="Language.Python.Syntax.Whitespace">Whitespace</a>], <a href="Language-Python-Syntax-Statement.html#t:Suite" title="Language.Python.Syntax.Statement">Suite</a> v a)</li><li class="src short"><a href="#v:_Except">_Except</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Iso-39-" title="Control.Lens.Type">Iso'</a> (<a href="Language-Python-Syntax-Types.html#t:Except" title="Language.Python.Syntax.Types">Except</a> v a) (<a href="Language-Python-Syntax-Whitespace.html#t:Indents" title="Language.Python.Syntax.Whitespace">Indents</a> a, [<a href="Language-Python-Syntax-Whitespace.html#t:Whitespace" title="Language.Python.Syntax.Whitespace">Whitespace</a>], <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="Language-Python-Syntax-Statement.html#t:ExceptAs" title="Language.Python.Syntax.Statement">ExceptAs</a> v a), <a href="Language-Python-Syntax-Statement.html#t:Suite" title="Language.Python.Syntax.Statement">Suite</a> v a)</li><li class="src short"><a href="#v:_Else">_Else</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Iso-39-" title="Control.Lens.Type">Iso'</a> (<a href="Language-Python-Syntax-Types.html#t:Else" title="Language.Python.Syntax.Types">Else</a> v a) (<a href="Language-Python-Syntax-Whitespace.html#t:Indents" title="Language.Python.Syntax.Whitespace">Indents</a> a, [<a href="Language-Python-Syntax-Whitespace.html#t:Whitespace" title="Language.Python.Syntax.Whitespace">Whitespace</a>], <a href="Language-Python-Syntax-Statement.html#t:Suite" title="Language.Python.Syntax.Statement">Suite</a> v a)</li><li class="src short"><a href="#v:_PositionalParam">_PositionalParam</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:PositionalParam" title="Language.Python.Syntax.Types">PositionalParam</a> v a) (<a href="Language-Python-Syntax-Types.html#t:PositionalParam" title="Language.Python.Syntax.Types">PositionalParam</a> '[] a)</li><li class="src short"><a href="#v:_KeywordParam">_KeywordParam</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:KeywordParam" title="Language.Python.Syntax.Types">KeywordParam</a> v a) (<a href="Language-Python-Syntax-Types.html#t:KeywordParam" title="Language.Python.Syntax.Types">KeywordParam</a> '[] a)</li><li class="src short"><a href="#v:_UnnamedStarParam">_UnnamedStarParam</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:UnnamedStarParam" title="Language.Python.Syntax.Types">UnnamedStarParam</a> v a) (<a href="Language-Python-Syntax-Types.html#t:UnnamedStarParam" title="Language.Python.Syntax.Types">UnnamedStarParam</a> '[] a)</li><li class="src short"><a href="#v:_StarParam">_StarParam</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:StarParam" title="Language.Python.Syntax.Types">StarParam</a> v a) (<a href="Language-Python-Syntax-Types.html#t:StarParam" title="Language.Python.Syntax.Types">StarParam</a> '[] a)</li><li class="src short"><a href="#v:_Ident">_Ident</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Ident.html#t:Ident" title="Language.Python.Syntax.Ident">Ident</a> v a) (f (<a href="Language-Python-Syntax-Ident.html#t:Ident" title="Language.Python.Syntax.Ident">Ident</a> '[] a)) -> p (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (f (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a))</li><li class="src short"><a href="#v:_None">_None</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:None" title="Language.Python.Syntax.Types">None</a> v a) (<a href="Language-Python-Syntax-Types.html#t:None" title="Language.Python.Syntax.Types">None</a> '[] a)</li><li class="src short"><a href="#v:_Call">_Call</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:Call" title="Language.Python.Syntax.Types">Call</a> v a) (<a href="Language-Python-Syntax-Types.html#t:Call" title="Language.Python.Syntax.Types">Call</a> '[] a)</li><li class="src short"><a href="#v:_Tuple">_Tuple</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:Tuple" title="Language.Python.Syntax.Types">Tuple</a> v a) (<a href="Language-Python-Syntax-Types.html#t:Tuple" title="Language.Python.Syntax.Types">Tuple</a> '[] a)</li><li class="src short"><a href="#v:_TupleUnpack">_TupleUnpack</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:TupleItem" title="Language.Python.Syntax.Expr">TupleItem</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:TupleItem" title="Language.Python.Syntax.Expr">TupleItem</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:TupleUnpack" title="Language.Python.Syntax.Types">TupleUnpack</a> v a) (<a href="Language-Python-Syntax-Types.html#t:TupleUnpack" title="Language.Python.Syntax.Types">TupleUnpack</a> '[] a)</li><li class="src short"><a href="#v:tupleItems">tupleItems</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Traversal" title="Control.Lens.Type">Traversal</a> (<a href="Language-Python-Syntax-Types.html#t:Tuple" title="Language.Python.Syntax.Types">Tuple</a> v a) (<a href="Language-Python-Syntax-Types.html#t:Tuple" title="Language.Python.Syntax.Types">Tuple</a> '[] a) (<a href="Language-Python-Syntax-Expr.html#t:TupleItem" title="Language.Python.Syntax.Expr">TupleItem</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:TupleItem" title="Language.Python.Syntax.Expr">TupleItem</a> '[] a)</li><li class="src short"><a href="#v:_List">_List</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:List" title="Language.Python.Syntax.Types">List</a> v a) (<a href="Language-Python-Syntax-Types.html#t:List" title="Language.Python.Syntax.Types">List</a> '[] a)</li><li class="src short"><a href="#v:_ListUnpack">_ListUnpack</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:ListItem" title="Language.Python.Syntax.Expr">ListItem</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:ListItem" title="Language.Python.Syntax.Expr">ListItem</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:ListUnpack" title="Language.Python.Syntax.Types">ListUnpack</a> v a) (<a href="Language-Python-Syntax-Types.html#t:ListUnpack" title="Language.Python.Syntax.Types">ListUnpack</a> '[] a)</li><li class="src short"><a href="#v:listItems">listItems</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Traversal" title="Control.Lens.Type">Traversal</a> (<a href="Language-Python-Syntax-Types.html#t:List" title="Language.Python.Syntax.Types">List</a> v a) (<a href="Language-Python-Syntax-Types.html#t:List" title="Language.Python.Syntax.Types">List</a> '[] a) (<a href="Language-Python-Syntax-Expr.html#t:ListItem" title="Language.Python.Syntax.Expr">ListItem</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:ListItem" title="Language.Python.Syntax.Expr">ListItem</a> '[] a)</li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src">module <a href="Language-Python-Optics-Validated.html">Language.Python.Optics.Validated</a></p></div><a href="#g:1" id="g:1"><h1>Identifiers</h1></a><div class="top"><p class="src">module <a href="Language-Python-Optics-Idents.html">Language.Python.Optics.Idents</a></p></div><a href="#g:2" id="g:2"><h1>Indentation</h1></a><div class="top"><p class="src">module <a href="Language-Python-Optics-Indents.html">Language.Python.Optics.Indents</a></p></div><a href="#g:3" id="g:3"><h1>Newlines</h1></a><div class="top"><p class="src">module <a href="Language-Python-Optics-Newlines.html">Language.Python.Optics.Newlines</a></p></div><a href="#g:4" id="g:4"><h1>Simple statements</h1></a><a href="#g:5" id="g:5"><h2>Assignment</h2></a><div class="top"><p class="src"><a id="v:assignTargets" class="def">assignTargets</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Traversal" title="Control.Lens.Type">Traversal</a> (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a) (<a href="Language-Python-Syntax-Ident.html#t:Ident" title="Language.Python.Syntax.Ident">Ident</a> v a) (<a href="Language-Python-Syntax-Ident.html#t:Ident" title="Language.Python.Syntax.Ident">Ident</a> '[] a) <a href="#v:assignTargets" class="selflink">#</a></p><div class="doc"><p><code><a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Traversal" title="Control.Lens.Type">Traversal</a></code> targeting the variables that would modified as a result of an assignment</p><p>Here are some examples of assignment targets:</p><pre>a = b
^
</pre><pre>(a, b, c) = d
^ ^ ^
</pre><pre>[a, b, *c] = d
^ ^ ^
</pre><p>These expressions have variables on the left hand side of the <code>=</code>, but those variables
don't count as assignment targets:</p><pre>a[b] = c
</pre><pre>a(b) = c
</pre><pre>{a: b} = c
</pre></div></div><a href="#g:6" id="g:6"><h1>Compound statements</h1></a><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasCompoundStatement" class="def">HasCompoundStatement</a> s <span class="keyword">where</span> <a href="#t:HasCompoundStatement" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Language-Python-Optics.html#v:_CompoundStatement" title="Language.Python.Optics">_CompoundStatement</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:_CompoundStatement" class="def">_CompoundStatement</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (s v a) (s '[] a) (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> '[] a) <a href="#v:_CompoundStatement" class="selflink">#</a></p></div><div class="subs instances"><details id="i:HasCompoundStatement" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasCompoundStatement:HasCompoundStatement:1"></span> <a href="Language-Python-Optics.html#t:HasCompoundStatement" title="Language.Python.Optics">HasCompoundStatement</a> <a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a></span> <a href="#t:HasCompoundStatement" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasCompoundStatement:HasCompoundStatement:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_CompoundStatement">_CompoundStatement</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> [] a)) <a href="#v:_CompoundStatement" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasCompoundStatement:HasCompoundStatement:2"></span> <a href="Language-Python-Optics.html#t:HasCompoundStatement" title="Language.Python.Optics">HasCompoundStatement</a> <a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a></span> <a href="#t:HasCompoundStatement" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasCompoundStatement:HasCompoundStatement:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_CompoundStatement">_CompoundStatement</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> [] a)) <a href="#v:_CompoundStatement" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><a href="#g:7" id="g:7"><h2>Function definitions</h2></a><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasFundef" class="def">HasFundef</a> s <span class="keyword">where</span> <a href="#t:HasFundef" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Language-Python-Optics.html#v:_Fundef" title="Language.Python.Optics">_Fundef</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:_Fundef" class="def">_Fundef</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (s v a) (s '[] a) (<a href="Language-Python-Syntax-Types.html#t:Fundef" title="Language.Python.Syntax.Types">Fundef</a> v a) (<a href="Language-Python-Syntax-Types.html#t:Fundef" title="Language.Python.Syntax.Types">Fundef</a> '[] a) <a href="#v:_Fundef" class="selflink">#</a></p></div><div class="subs instances"><details id="i:HasFundef" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasFundef:HasFundef:1"></span> <a href="Language-Python-Optics.html#t:HasFundef" title="Language.Python.Optics">HasFundef</a> <a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a></span> <a href="#t:HasFundef" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasFundef:HasFundef:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Fundef">_Fundef</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:Fundef" title="Language.Python.Syntax.Types">Fundef</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:Fundef" title="Language.Python.Syntax.Types">Fundef</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> [] a)) <a href="#v:_Fundef" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasFundef:HasFundef:2"></span> <a href="Language-Python-Optics.html#t:HasFundef" title="Language.Python.Optics">HasFundef</a> <a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a></span> <a href="#t:HasFundef" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasFundef:HasFundef:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Fundef">_Fundef</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:Fundef" title="Language.Python.Syntax.Types">Fundef</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:Fundef" title="Language.Python.Syntax.Types">Fundef</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> [] a)) <a href="#v:_Fundef" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasFundef:HasFundef:3"></span> <a href="Language-Python-Optics.html#t:HasFundef" title="Language.Python.Optics">HasFundef</a> <a href="Language-Python-Syntax-Types.html#t:Fundef" title="Language.Python.Syntax.Types">Fundef</a></span> <a href="#t:HasFundef" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasFundef:HasFundef:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_Fundef">_Fundef</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:Fundef" title="Language.Python.Syntax.Types">Fundef</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:Fundef" title="Language.Python.Syntax.Types">Fundef</a> [] a)) -> p (<a href="Language-Python-Syntax-Types.html#t:Fundef" title="Language.Python.Syntax.Types">Fundef</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:Fundef" title="Language.Python.Syntax.Types">Fundef</a> [] a)) <a href="#v:_Fundef" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><a href="#g:8" id="g:8"><h2>Class defintions</h2></a><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasClassDef" class="def">HasClassDef</a> s <span class="keyword">where</span> <a href="#t:HasClassDef" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Language-Python-Optics.html#v:_ClassDef" title="Language.Python.Optics">_ClassDef</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:_ClassDef" class="def">_ClassDef</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (s v a) (s '[] a) (<a href="Language-Python-Syntax-Types.html#t:ClassDef" title="Language.Python.Syntax.Types">ClassDef</a> v a) (<a href="Language-Python-Syntax-Types.html#t:ClassDef" title="Language.Python.Syntax.Types">ClassDef</a> '[] a) <a href="#v:_ClassDef" class="selflink">#</a></p></div><div class="subs instances"><details id="i:HasClassDef" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasClassDef:HasClassDef:1"></span> <a href="Language-Python-Optics.html#t:HasClassDef" title="Language.Python.Optics">HasClassDef</a> <a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a></span> <a href="#t:HasClassDef" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasClassDef:HasClassDef:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_ClassDef">_ClassDef</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:ClassDef" title="Language.Python.Syntax.Types">ClassDef</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:ClassDef" title="Language.Python.Syntax.Types">ClassDef</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> [] a)) <a href="#v:_ClassDef" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasClassDef:HasClassDef:2"></span> <a href="Language-Python-Optics.html#t:HasClassDef" title="Language.Python.Optics">HasClassDef</a> <a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a></span> <a href="#t:HasClassDef" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasClassDef:HasClassDef:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_ClassDef">_ClassDef</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:ClassDef" title="Language.Python.Syntax.Types">ClassDef</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:ClassDef" title="Language.Python.Syntax.Types">ClassDef</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> [] a)) <a href="#v:_ClassDef" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasClassDef:HasClassDef:3"></span> <a href="Language-Python-Optics.html#t:HasClassDef" title="Language.Python.Optics">HasClassDef</a> <a href="Language-Python-Syntax-Types.html#t:ClassDef" title="Language.Python.Syntax.Types">ClassDef</a></span> <a href="#t:HasClassDef" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasClassDef:HasClassDef:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_ClassDef">_ClassDef</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:ClassDef" title="Language.Python.Syntax.Types">ClassDef</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:ClassDef" title="Language.Python.Syntax.Types">ClassDef</a> [] a)) -> p (<a href="Language-Python-Syntax-Types.html#t:ClassDef" title="Language.Python.Syntax.Types">ClassDef</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:ClassDef" title="Language.Python.Syntax.Types">ClassDef</a> [] a)) <a href="#v:_ClassDef" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><a href="#g:9" id="g:9"><h2><code>while</code> statements</h2></a><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasWhile" class="def">HasWhile</a> s <span class="keyword">where</span> <a href="#t:HasWhile" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Language-Python-Optics.html#v:_While" title="Language.Python.Optics">_While</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:_While" class="def">_While</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (s v a) (s '[] a) (<a href="Language-Python-Syntax-Types.html#t:While" title="Language.Python.Syntax.Types">While</a> v a) (<a href="Language-Python-Syntax-Types.html#t:While" title="Language.Python.Syntax.Types">While</a> '[] a) <a href="#v:_While" class="selflink">#</a></p></div><div class="subs instances"><details id="i:HasWhile" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasWhile:HasWhile:1"></span> <a href="Language-Python-Optics.html#t:HasWhile" title="Language.Python.Optics">HasWhile</a> <a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a></span> <a href="#t:HasWhile" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasWhile:HasWhile:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_While">_While</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:While" title="Language.Python.Syntax.Types">While</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:While" title="Language.Python.Syntax.Types">While</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> [] a)) <a href="#v:_While" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasWhile:HasWhile:2"></span> <a href="Language-Python-Optics.html#t:HasWhile" title="Language.Python.Optics">HasWhile</a> <a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a></span> <a href="#t:HasWhile" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasWhile:HasWhile:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_While">_While</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:While" title="Language.Python.Syntax.Types">While</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:While" title="Language.Python.Syntax.Types">While</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> [] a)) <a href="#v:_While" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasWhile:HasWhile:3"></span> <a href="Language-Python-Optics.html#t:HasWhile" title="Language.Python.Optics">HasWhile</a> <a href="Language-Python-Syntax-Types.html#t:While" title="Language.Python.Syntax.Types">While</a></span> <a href="#t:HasWhile" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasWhile:HasWhile:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_While">_While</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:While" title="Language.Python.Syntax.Types">While</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:While" title="Language.Python.Syntax.Types">While</a> [] a)) -> p (<a href="Language-Python-Syntax-Types.html#t:While" title="Language.Python.Syntax.Types">While</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:While" title="Language.Python.Syntax.Types">While</a> [] a)) <a href="#v:_While" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><a href="#g:10" id="g:10"><h2><code>for</code> statements</h2></a><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasFor" class="def">HasFor</a> s <span class="keyword">where</span> <a href="#t:HasFor" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Language-Python-Optics.html#v:_For" title="Language.Python.Optics">_For</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:_For" class="def">_For</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (s v a) (s '[] a) (<a href="Language-Python-Syntax-Types.html#t:For" title="Language.Python.Syntax.Types">For</a> v a) (<a href="Language-Python-Syntax-Types.html#t:For" title="Language.Python.Syntax.Types">For</a> '[] a) <a href="#v:_For" class="selflink">#</a></p></div><div class="subs instances"><details id="i:HasFor" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasFor:HasFor:1"></span> <a href="Language-Python-Optics.html#t:HasFor" title="Language.Python.Optics">HasFor</a> <a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a></span> <a href="#t:HasFor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasFor:HasFor:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_For">_For</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:For" title="Language.Python.Syntax.Types">For</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:For" title="Language.Python.Syntax.Types">For</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> [] a)) <a href="#v:_For" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasFor:HasFor:2"></span> <a href="Language-Python-Optics.html#t:HasFor" title="Language.Python.Optics">HasFor</a> <a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a></span> <a href="#t:HasFor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasFor:HasFor:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_For">_For</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:For" title="Language.Python.Syntax.Types">For</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:For" title="Language.Python.Syntax.Types">For</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> [] a)) <a href="#v:_For" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasFor:HasFor:3"></span> <a href="Language-Python-Optics.html#t:HasFor" title="Language.Python.Optics">HasFor</a> <a href="Language-Python-Syntax-Types.html#t:For" title="Language.Python.Syntax.Types">For</a></span> <a href="#t:HasFor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasFor:HasFor:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_For">_For</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:For" title="Language.Python.Syntax.Types">For</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:For" title="Language.Python.Syntax.Types">For</a> [] a)) -> p (<a href="Language-Python-Syntax-Types.html#t:For" title="Language.Python.Syntax.Types">For</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:For" title="Language.Python.Syntax.Types">For</a> [] a)) <a href="#v:_For" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><a href="#g:11" id="g:11"><h2><code>with</code> statements</h2></a><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasWith" class="def">HasWith</a> s <span class="keyword">where</span> <a href="#t:HasWith" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Language-Python-Optics.html#v:_With" title="Language.Python.Optics">_With</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:_With" class="def">_With</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (s v a) (s '[] a) (<a href="Language-Python-Syntax-Types.html#t:With" title="Language.Python.Syntax.Types">With</a> v a) (<a href="Language-Python-Syntax-Types.html#t:With" title="Language.Python.Syntax.Types">With</a> '[] a) <a href="#v:_With" class="selflink">#</a></p></div><div class="subs instances"><details id="i:HasWith" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasWith:HasWith:1"></span> <a href="Language-Python-Optics.html#t:HasWith" title="Language.Python.Optics">HasWith</a> <a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a></span> <a href="#t:HasWith" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasWith:HasWith:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_With">_With</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:With" title="Language.Python.Syntax.Types">With</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:With" title="Language.Python.Syntax.Types">With</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> [] a)) <a href="#v:_With" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasWith:HasWith:2"></span> <a href="Language-Python-Optics.html#t:HasWith" title="Language.Python.Optics">HasWith</a> <a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a></span> <a href="#t:HasWith" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasWith:HasWith:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_With">_With</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:With" title="Language.Python.Syntax.Types">With</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:With" title="Language.Python.Syntax.Types">With</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> [] a)) <a href="#v:_With" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasWith:HasWith:3"></span> <a href="Language-Python-Optics.html#t:HasWith" title="Language.Python.Optics">HasWith</a> <a href="Language-Python-Syntax-Types.html#t:With" title="Language.Python.Syntax.Types">With</a></span> <a href="#t:HasWith" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasWith:HasWith:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_With">_With</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:With" title="Language.Python.Syntax.Types">With</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:With" title="Language.Python.Syntax.Types">With</a> [] a)) -> p (<a href="Language-Python-Syntax-Types.html#t:With" title="Language.Python.Syntax.Types">With</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:With" title="Language.Python.Syntax.Types">With</a> [] a)) <a href="#v:_With" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><a href="#g:12" id="g:12"><h2><code>if</code> statements</h2></a><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasIf" class="def">HasIf</a> s <span class="keyword">where</span> <a href="#t:HasIf" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Language-Python-Optics.html#v:_If" title="Language.Python.Optics">_If</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:_If" class="def">_If</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (s v a) (s '[] a) (<a href="Language-Python-Syntax-Types.html#t:If" title="Language.Python.Syntax.Types">If</a> v a) (<a href="Language-Python-Syntax-Types.html#t:If" title="Language.Python.Syntax.Types">If</a> '[] a) <a href="#v:_If" class="selflink">#</a></p></div><div class="subs instances"><details id="i:HasIf" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasIf:HasIf:1"></span> <a href="Language-Python-Optics.html#t:HasIf" title="Language.Python.Optics">HasIf</a> <a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a></span> <a href="#t:HasIf" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasIf:HasIf:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_If">_If</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:If" title="Language.Python.Syntax.Types">If</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:If" title="Language.Python.Syntax.Types">If</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> [] a)) <a href="#v:_If" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasIf:HasIf:2"></span> <a href="Language-Python-Optics.html#t:HasIf" title="Language.Python.Optics">HasIf</a> <a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a></span> <a href="#t:HasIf" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasIf:HasIf:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_If">_If</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:If" title="Language.Python.Syntax.Types">If</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:If" title="Language.Python.Syntax.Types">If</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> [] a)) <a href="#v:_If" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasIf:HasIf:3"></span> <a href="Language-Python-Optics.html#t:HasIf" title="Language.Python.Optics">HasIf</a> <a href="Language-Python-Syntax-Types.html#t:If" title="Language.Python.Syntax.Types">If</a></span> <a href="#t:HasIf" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasIf:HasIf:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_If">_If</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:If" title="Language.Python.Syntax.Types">If</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:If" title="Language.Python.Syntax.Types">If</a> [] a)) -> p (<a href="Language-Python-Syntax-Types.html#t:If" title="Language.Python.Syntax.Types">If</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:If" title="Language.Python.Syntax.Types">If</a> [] a)) <a href="#v:_If" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:_Elif" class="def">_Elif</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Iso-39-" title="Control.Lens.Type">Iso'</a> (<a href="Language-Python-Syntax-Types.html#t:Elif" title="Language.Python.Syntax.Types">Elif</a> v a) (<a href="Language-Python-Syntax-Whitespace.html#t:Indents" title="Language.Python.Syntax.Whitespace">Indents</a> a, [<a href="Language-Python-Syntax-Whitespace.html#t:Whitespace" title="Language.Python.Syntax.Whitespace">Whitespace</a>], <a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a, <a href="Language-Python-Syntax-Statement.html#t:Suite" title="Language.Python.Syntax.Statement">Suite</a> v a) <a href="#v:_Elif" class="selflink">#</a></p></div><a href="#g:13" id="g:13"><h2><code>try</code> statements</h2></a><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasTryExcept" class="def">HasTryExcept</a> s <span class="keyword">where</span> <a href="#t:HasTryExcept" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Language-Python-Optics.html#v:_TryExcept" title="Language.Python.Optics">_TryExcept</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:_TryExcept" class="def">_TryExcept</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (s v a) (s '[] a) (<a href="Language-Python-Syntax-Types.html#t:TryExcept" title="Language.Python.Syntax.Types">TryExcept</a> v a) (<a href="Language-Python-Syntax-Types.html#t:TryExcept" title="Language.Python.Syntax.Types">TryExcept</a> '[] a) <a href="#v:_TryExcept" class="selflink">#</a></p></div><div class="subs instances"><details id="i:HasTryExcept" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasTryExcept:HasTryExcept:1"></span> <a href="Language-Python-Optics.html#t:HasTryExcept" title="Language.Python.Optics">HasTryExcept</a> <a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a></span> <a href="#t:HasTryExcept" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasTryExcept:HasTryExcept:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_TryExcept">_TryExcept</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:TryExcept" title="Language.Python.Syntax.Types">TryExcept</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:TryExcept" title="Language.Python.Syntax.Types">TryExcept</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> [] a)) <a href="#v:_TryExcept" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasTryExcept:HasTryExcept:2"></span> <a href="Language-Python-Optics.html#t:HasTryExcept" title="Language.Python.Optics">HasTryExcept</a> <a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a></span> <a href="#t:HasTryExcept" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasTryExcept:HasTryExcept:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_TryExcept">_TryExcept</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:TryExcept" title="Language.Python.Syntax.Types">TryExcept</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:TryExcept" title="Language.Python.Syntax.Types">TryExcept</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> [] a)) <a href="#v:_TryExcept" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasTryExcept:HasTryExcept:3"></span> <a href="Language-Python-Optics.html#t:HasTryExcept" title="Language.Python.Optics">HasTryExcept</a> <a href="Language-Python-Syntax-Types.html#t:TryExcept" title="Language.Python.Syntax.Types">TryExcept</a></span> <a href="#t:HasTryExcept" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasTryExcept:HasTryExcept:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_TryExcept">_TryExcept</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:TryExcept" title="Language.Python.Syntax.Types">TryExcept</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:TryExcept" title="Language.Python.Syntax.Types">TryExcept</a> [] a)) -> p (<a href="Language-Python-Syntax-Types.html#t:TryExcept" title="Language.Python.Syntax.Types">TryExcept</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:TryExcept" title="Language.Python.Syntax.Types">TryExcept</a> [] a)) <a href="#v:_TryExcept" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasTryFinally" class="def">HasTryFinally</a> s <span class="keyword">where</span> <a href="#t:HasTryFinally" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Language-Python-Optics.html#v:_TryFinally" title="Language.Python.Optics">_TryFinally</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:_TryFinally" class="def">_TryFinally</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (s v a) (s '[] a) (<a href="Language-Python-Syntax-Types.html#t:TryFinally" title="Language.Python.Syntax.Types">TryFinally</a> v a) (<a href="Language-Python-Syntax-Types.html#t:TryFinally" title="Language.Python.Syntax.Types">TryFinally</a> '[] a) <a href="#v:_TryFinally" class="selflink">#</a></p></div><div class="subs instances"><details id="i:HasTryFinally" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasTryFinally:HasTryFinally:1"></span> <a href="Language-Python-Optics.html#t:HasTryFinally" title="Language.Python.Optics">HasTryFinally</a> <a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a></span> <a href="#t:HasTryFinally" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasTryFinally:HasTryFinally:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_TryFinally">_TryFinally</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:TryFinally" title="Language.Python.Syntax.Types">TryFinally</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:TryFinally" title="Language.Python.Syntax.Types">TryFinally</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:CompoundStatement" title="Language.Python.Syntax.Statement">CompoundStatement</a> [] a)) <a href="#v:_TryFinally" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasTryFinally:HasTryFinally:2"></span> <a href="Language-Python-Optics.html#t:HasTryFinally" title="Language.Python.Optics">HasTryFinally</a> <a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a></span> <a href="#t:HasTryFinally" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasTryFinally:HasTryFinally:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_TryFinally">_TryFinally</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:TryFinally" title="Language.Python.Syntax.Types">TryFinally</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:TryFinally" title="Language.Python.Syntax.Types">TryFinally</a> [] a)) -> p (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> v a) (f (<a href="Language-Python-Syntax-Statement.html#t:Statement" title="Language.Python.Syntax.Statement">Statement</a> [] a)) <a href="#v:_TryFinally" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:HasTryFinally:HasTryFinally:3"></span> <a href="Language-Python-Optics.html#t:HasTryFinally" title="Language.Python.Optics">HasTryFinally</a> <a href="Language-Python-Syntax-Types.html#t:TryFinally" title="Language.Python.Syntax.Types">TryFinally</a></span> <a href="#t:HasTryFinally" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:HasTryFinally:HasTryFinally:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Language-Python-Optics.html">Language.Python.Optics</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:_TryFinally">_TryFinally</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Types.html#t:TryFinally" title="Language.Python.Syntax.Types">TryFinally</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:TryFinally" title="Language.Python.Syntax.Types">TryFinally</a> [] a)) -> p (<a href="Language-Python-Syntax-Types.html#t:TryFinally" title="Language.Python.Syntax.Types">TryFinally</a> v a) (f (<a href="Language-Python-Syntax-Types.html#t:TryFinally" title="Language.Python.Syntax.Types">TryFinally</a> [] a)) <a href="#v:_TryFinally" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:_Finally" class="def">_Finally</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Iso-39-" title="Control.Lens.Type">Iso'</a> (<a href="Language-Python-Syntax-Types.html#t:Finally" title="Language.Python.Syntax.Types">Finally</a> v a) (<a href="Language-Python-Syntax-Whitespace.html#t:Indents" title="Language.Python.Syntax.Whitespace">Indents</a> a, [<a href="Language-Python-Syntax-Whitespace.html#t:Whitespace" title="Language.Python.Syntax.Whitespace">Whitespace</a>], <a href="Language-Python-Syntax-Statement.html#t:Suite" title="Language.Python.Syntax.Statement">Suite</a> v a) <a href="#v:_Finally" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:_Except" class="def">_Except</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Iso-39-" title="Control.Lens.Type">Iso'</a> (<a href="Language-Python-Syntax-Types.html#t:Except" title="Language.Python.Syntax.Types">Except</a> v a) (<a href="Language-Python-Syntax-Whitespace.html#t:Indents" title="Language.Python.Syntax.Whitespace">Indents</a> a, [<a href="Language-Python-Syntax-Whitespace.html#t:Whitespace" title="Language.Python.Syntax.Whitespace">Whitespace</a>], <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="Language-Python-Syntax-Statement.html#t:ExceptAs" title="Language.Python.Syntax.Statement">ExceptAs</a> v a), <a href="Language-Python-Syntax-Statement.html#t:Suite" title="Language.Python.Syntax.Statement">Suite</a> v a) <a href="#v:_Except" class="selflink">#</a></p></div><a href="#g:14" id="g:14"><h2><code>else</code></h2></a><div class="top"><p class="src"><a id="v:_Else" class="def">_Else</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Iso-39-" title="Control.Lens.Type">Iso'</a> (<a href="Language-Python-Syntax-Types.html#t:Else" title="Language.Python.Syntax.Types">Else</a> v a) (<a href="Language-Python-Syntax-Whitespace.html#t:Indents" title="Language.Python.Syntax.Whitespace">Indents</a> a, [<a href="Language-Python-Syntax-Whitespace.html#t:Whitespace" title="Language.Python.Syntax.Whitespace">Whitespace</a>], <a href="Language-Python-Syntax-Statement.html#t:Suite" title="Language.Python.Syntax.Statement">Suite</a> v a) <a href="#v:_Else" class="selflink">#</a></p></div><a href="#g:15" id="g:15"><h1>Parameters</h1></a><div class="top"><p class="src"><a id="v:_PositionalParam" class="def">_PositionalParam</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:PositionalParam" title="Language.Python.Syntax.Types">PositionalParam</a> v a) (<a href="Language-Python-Syntax-Types.html#t:PositionalParam" title="Language.Python.Syntax.Types">PositionalParam</a> '[] a) <a href="#v:_PositionalParam" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:_KeywordParam" class="def">_KeywordParam</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:KeywordParam" title="Language.Python.Syntax.Types">KeywordParam</a> v a) (<a href="Language-Python-Syntax-Types.html#t:KeywordParam" title="Language.Python.Syntax.Types">KeywordParam</a> '[] a) <a href="#v:_KeywordParam" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:_UnnamedStarParam" class="def">_UnnamedStarParam</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:UnnamedStarParam" title="Language.Python.Syntax.Types">UnnamedStarParam</a> v a) (<a href="Language-Python-Syntax-Types.html#t:UnnamedStarParam" title="Language.Python.Syntax.Types">UnnamedStarParam</a> '[] a) <a href="#v:_UnnamedStarParam" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:_StarParam" class="def">_StarParam</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Param" title="Language.Python.Syntax.Expr">Param</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:StarParam" title="Language.Python.Syntax.Types">StarParam</a> v a) (<a href="Language-Python-Syntax-Types.html#t:StarParam" title="Language.Python.Syntax.Types">StarParam</a> '[] a) <a href="#v:_StarParam" class="selflink">#</a></p></div><a href="#g:16" id="g:16"><h1>Expressions</h1></a><a href="#g:17" id="g:17"><h2>Identifiers</h2></a><div class="top"><p class="src"><a id="v:_Ident" class="def">_Ident</a> :: (<a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Prism.html#t:Choice" title="Control.Lens.Prism">Choice</a> p, <a href="file:///nix/store/vqpc66a1hnvmjq14k7crkp0diwarf9vl-ghc-8.4.4-doc/share/doc/ghc/html/libraries/base-4.11.1.0/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> f) => p (<a href="Language-Python-Syntax-Ident.html#t:Ident" title="Language.Python.Syntax.Ident">Ident</a> v a) (f (<a href="Language-Python-Syntax-Ident.html#t:Ident" title="Language.Python.Syntax.Ident">Ident</a> '[] a)) -> p (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (f (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a)) <a href="#v:_Ident" class="selflink">#</a></p><div class="doc"><p>A faux-Prism for matching on the <code>Ident</code> constructor of an <code><a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a></code>.</p><p>It's not a Prism because:</p><p>When <code><a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Fold.html#v:preview" title="Control.Lens.Fold">preview</a></code>ing, it discards the 'Expr'\'s annotation, and when
<code><a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Review.html#v:review" title="Control.Lens.Review">review</a></code>ing, it re-constructs an annotation from the supplied <code><a href="Language-Python-Syntax-Ident.html#t:Ident" title="Language.Python.Syntax.Ident">Ident</a></code></p><pre><code><a href="Language-Python-Optics.html#v:_Ident" title="Language.Python.Optics">_Ident</a></code> :: <code><a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a></code> (<code><a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a></code> v a) (<code><a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a></code> '[] a) (<code><a href="Language-Python-Syntax-Ident.html#t:Ident" title="Language.Python.Syntax.Ident">Ident</a></code> v a) (<code><a href="Language-Python-Syntax-Ident.html#t:Ident" title="Language.Python.Syntax.Ident">Ident</a></code> '[] a)</pre></div></div><a href="#g:18" id="g:18"><h2><code>None</code></h2></a><div class="top"><p class="src"><a id="v:_None" class="def">_None</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:None" title="Language.Python.Syntax.Types">None</a> v a) (<a href="Language-Python-Syntax-Types.html#t:None" title="Language.Python.Syntax.Types">None</a> '[] a) <a href="#v:_None" class="selflink">#</a></p></div><a href="#g:19" id="g:19"><h2>Function calls</h2></a><div class="top"><p class="src"><a id="v:_Call" class="def">_Call</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:Call" title="Language.Python.Syntax.Types">Call</a> v a) (<a href="Language-Python-Syntax-Types.html#t:Call" title="Language.Python.Syntax.Types">Call</a> '[] a) <a href="#v:_Call" class="selflink">#</a></p></div><a href="#g:20" id="g:20"><h2>Tuples</h2></a><div class="top"><p class="src"><a id="v:_Tuple" class="def">_Tuple</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:Tuple" title="Language.Python.Syntax.Types">Tuple</a> v a) (<a href="Language-Python-Syntax-Types.html#t:Tuple" title="Language.Python.Syntax.Types">Tuple</a> '[] a) <a href="#v:_Tuple" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:_TupleUnpack" class="def">_TupleUnpack</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:TupleItem" title="Language.Python.Syntax.Expr">TupleItem</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:TupleItem" title="Language.Python.Syntax.Expr">TupleItem</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:TupleUnpack" title="Language.Python.Syntax.Types">TupleUnpack</a> v a) (<a href="Language-Python-Syntax-Types.html#t:TupleUnpack" title="Language.Python.Syntax.Types">TupleUnpack</a> '[] a) <a href="#v:_TupleUnpack" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:tupleItems" class="def">tupleItems</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Traversal" title="Control.Lens.Type">Traversal</a> (<a href="Language-Python-Syntax-Types.html#t:Tuple" title="Language.Python.Syntax.Types">Tuple</a> v a) (<a href="Language-Python-Syntax-Types.html#t:Tuple" title="Language.Python.Syntax.Types">Tuple</a> '[] a) (<a href="Language-Python-Syntax-Expr.html#t:TupleItem" title="Language.Python.Syntax.Expr">TupleItem</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:TupleItem" title="Language.Python.Syntax.Expr">TupleItem</a> '[] a) <a href="#v:tupleItems" class="selflink">#</a></p></div><a href="#g:21" id="g:21"><h2>Lists</h2></a><div class="top"><p class="src"><a id="v:_List" class="def">_List</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:Expr" title="Language.Python.Syntax.Expr">Expr</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:List" title="Language.Python.Syntax.Types">List</a> v a) (<a href="Language-Python-Syntax-Types.html#t:List" title="Language.Python.Syntax.Types">List</a> '[] a) <a href="#v:_List" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:_ListUnpack" class="def">_ListUnpack</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Prism" title="Control.Lens.Type">Prism</a> (<a href="Language-Python-Syntax-Expr.html#t:ListItem" title="Language.Python.Syntax.Expr">ListItem</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:ListItem" title="Language.Python.Syntax.Expr">ListItem</a> '[] a) (<a href="Language-Python-Syntax-Types.html#t:ListUnpack" title="Language.Python.Syntax.Types">ListUnpack</a> v a) (<a href="Language-Python-Syntax-Types.html#t:ListUnpack" title="Language.Python.Syntax.Types">ListUnpack</a> '[] a) <a href="#v:_ListUnpack" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:listItems" class="def">listItems</a> :: <a href="file:///nix/store/ns4s0jprc1hmi393y85xji1s2z76dp5w-lens-4.16.1-doc/share/doc/lens-4.16.1/html/Control-Lens-Type.html#t:Traversal" title="Control.Lens.Type">Traversal</a> (<a href="Language-Python-Syntax-Types.html#t:List" title="Language.Python.Syntax.Types">List</a> v a) (<a href="Language-Python-Syntax-Types.html#t:List" title="Language.Python.Syntax.Types">List</a> '[] a) (<a href="Language-Python-Syntax-Expr.html#t:ListItem" title="Language.Python.Syntax.Expr">ListItem</a> v a) (<a href="Language-Python-Syntax-Expr.html#t:ListItem" title="Language.Python.Syntax.Expr">ListItem</a> '[] a) <a href="#v:listItems" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.20.0</p></div></body></html>