Cabal-2.2.0.1: doc/API/Cabal/Distribution-FieldGrammar.html
<!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>Distribution.FieldGrammar</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">Cabal-2.2.0.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.FieldGrammar</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Field grammar type</a></li><li><a href="#g:2">Concrete grammar implementations</a></li><li><a href="#g:3">Auxlilary</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides a way to specify a grammar of <code>.cabal</code> -like files.</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">class</span> <a href="#t:FieldGrammar">FieldGrammar</a> g <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><a href="#v:uniqueField">uniqueField</a> :: (<a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> g, <a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> a, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> g s a</li><li class="src short"><a href="#v:optionalField">optionalField</a> :: (<a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> g, <a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> a, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a) -> g s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a)</li><li class="src short"><a href="#v:optionalFieldDef">optionalFieldDef</a> :: (<a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> g, <a href="Distribution-Compat-Prelude-Internal.html#t:Functor" title="Distribution.Compat.Prelude.Internal">Functor</a> (g s), <a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> a, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> a, <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> a -> g s a</li><li class="src short"><a href="#v:monoidalField">monoidalField</a> :: (<a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> g, <a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> a, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid" title="Distribution.Compat.Semigroup">Monoid</a> a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> g s a</li><li class="src short"><a href="#v:deprecatedField-39-">deprecatedField'</a> :: <a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> g => <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> -> g s a -> g s a</li><li class="src short"><span class="keyword">data</span> <a href="#t:ParsecFieldGrammar">ParsecFieldGrammar</a> s a</li><li class="src short"><span class="keyword">type</span> <a href="#t:ParsecFieldGrammar-39-">ParsecFieldGrammar'</a> a = <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> a a</li><li class="src short"><a href="#v:parseFieldGrammar">parseFieldGrammar</a> :: <a href="Distribution-CabalSpecVersion.html#t:CabalSpecVersion" title="Distribution.CabalSpecVersion">CabalSpecVersion</a> -> <a href="Distribution-FieldGrammar.html#t:Fields" title="Distribution.FieldGrammar">Fields</a> <a href="Distribution-Parsec-Common.html#t:Position" title="Distribution.Parsec.Common">Position</a> -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-Parsec-ParseResult.html#t:ParseResult" title="Distribution.Parsec.ParseResult">ParseResult</a> a</li><li class="src short"><a href="#v:fieldGrammarKnownFieldList">fieldGrammarKnownFieldList</a> :: <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> [<a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:PrettyFieldGrammar">PrettyFieldGrammar</a> s a</li><li class="src short"><span class="keyword">type</span> <a href="#t:PrettyFieldGrammar-39-">PrettyFieldGrammar'</a> a = <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> a a</li><li class="src short"><a href="#v:prettyFieldGrammar">prettyFieldGrammar</a> :: <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> s -> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a></li><li class="src short"><a href="#v:-94--94--94-">(^^^)</a> :: a -> (a -> b) -> b</li><li class="src short"><span class="keyword">data</span> <a href="#t:Section">Section</a> ann = <a href="#v:MkSection">MkSection</a> !(<a href="Distribution-Parsec-Field.html#t:Name" title="Distribution.Parsec.Field">Name</a> ann) [<a href="Distribution-Parsec-Field.html#t:SectionArg" title="Distribution.Parsec.Field">SectionArg</a> ann] [<a href="Distribution-Parsec-Field.html#t:Field" title="Distribution.Parsec.Field">Field</a> ann]</li><li class="src short"><span class="keyword">type</span> <a href="#t:Fields">Fields</a> ann = <a href="Distribution-Compat-Prelude-Internal.html#t:Map" title="Distribution.Compat.Prelude.Internal">Map</a> <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> [<a href="Distribution-FieldGrammar-Parsec.html#t:NamelessField" title="Distribution.FieldGrammar.Parsec">NamelessField</a> ann]</li><li class="src short"><a href="#v:partitionFields">partitionFields</a> :: [<a href="Distribution-Parsec-Field.html#t:Field" title="Distribution.Parsec.Field">Field</a> ann] -> (<a href="Distribution-FieldGrammar.html#t:Fields" title="Distribution.FieldGrammar">Fields</a> ann, [[<a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> ann]])</li><li class="src short"><a href="#v:takeFields">takeFields</a> :: [<a href="Distribution-Parsec-Field.html#t:Field" title="Distribution.Parsec.Field">Field</a> ann] -> (<a href="Distribution-FieldGrammar.html#t:Fields" title="Distribution.FieldGrammar">Fields</a> ann, [<a href="Distribution-Parsec-Field.html#t:Field" title="Distribution.Parsec.Field">Field</a> ann])</li><li class="src short"><a href="#v:runFieldParser">runFieldParser</a> :: <a href="Distribution-Parsec-Common.html#t:Position" title="Distribution.Parsec.Common">Position</a> -> <a href="Distribution-Parsec-Class.html#t:ParsecParser" title="Distribution.Parsec.Class">ParsecParser</a> a -> <a href="Distribution-CabalSpecVersion.html#t:CabalSpecVersion" title="Distribution.CabalSpecVersion">CabalSpecVersion</a> -> [<a href="Distribution-Parsec-Field.html#t:FieldLine" title="Distribution.Parsec.Field">FieldLine</a> <a href="Distribution-Parsec-Common.html#t:Position" title="Distribution.Parsec.Common">Position</a>] -> <a href="Distribution-Parsec-ParseResult.html#t:ParseResult" title="Distribution.Parsec.ParseResult">ParseResult</a> a</li><li class="src short"><a href="#v:runFieldParser-39-">runFieldParser'</a> :: <a href="Distribution-Parsec-Common.html#t:Position" title="Distribution.Parsec.Common">Position</a> -> <a href="Distribution-Parsec-Class.html#t:ParsecParser" title="Distribution.Parsec.Class">ParsecParser</a> a -> <a href="Distribution-CabalSpecVersion.html#t:CabalSpecVersion" title="Distribution.CabalSpecVersion">CabalSpecVersion</a> -> <a href="Distribution-Parsec-FieldLineStream.html#t:FieldLineStream" title="Distribution.Parsec.FieldLineStream">FieldLineStream</a> -> <a href="Distribution-Parsec-ParseResult.html#t:ParseResult" title="Distribution.Parsec.ParseResult">ParseResult</a> a</li></ul></details></div><div id="interface"><a href="#g:1" id="g:1"><h1>Field grammar type</h1></a><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:FieldGrammar" class="def">FieldGrammar</a> g <span class="keyword">where</span> <a href="#t:FieldGrammar" class="selflink">#</a></p><div class="doc"><p><code><a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a></code> is parametrised by</p><ul><li><code>s</code> which is a structure we are parsing. We need this to provide prettyprinter
functionality</li><li><code>a</code> type of the field.</li></ul><p><em>Note:</em> We'd like to have <code>forall s. Applicative (f s)</code> context.</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Distribution-FieldGrammar.html#v:blurFieldGrammar" title="Distribution.FieldGrammar">blurFieldGrammar</a>, <a href="Distribution-FieldGrammar.html#v:uniqueFieldAla" title="Distribution.FieldGrammar">uniqueFieldAla</a>, <a href="Distribution-FieldGrammar.html#v:booleanFieldDef" title="Distribution.FieldGrammar">booleanFieldDef</a>, <a href="Distribution-FieldGrammar.html#v:optionalFieldAla" title="Distribution.FieldGrammar">optionalFieldAla</a>, <a href="Distribution-FieldGrammar.html#v:optionalFieldDefAla" title="Distribution.FieldGrammar">optionalFieldDefAla</a>, <a href="Distribution-FieldGrammar.html#v:monoidalFieldAla" title="Distribution.FieldGrammar">monoidalFieldAla</a>, <a href="Distribution-FieldGrammar.html#v:prefixedFields" title="Distribution.FieldGrammar">prefixedFields</a>, <a href="Distribution-FieldGrammar.html#v:knownField" title="Distribution.FieldGrammar">knownField</a>, <a href="Distribution-FieldGrammar.html#v:hiddenField" title="Distribution.FieldGrammar">hiddenField</a>, <a href="Distribution-FieldGrammar.html#v:deprecatedSince" title="Distribution.FieldGrammar">deprecatedSince</a>, <a href="Distribution-FieldGrammar.html#v:availableSince" title="Distribution.FieldGrammar">availableSince</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:blurFieldGrammar" class="def">blurFieldGrammar</a> :: <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> a b -> g b c -> g a c <a href="#v:blurFieldGrammar" class="selflink">#</a></p><div class="doc"><p>Unfocus, zoom out, <em>blur</em> <code><a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a></code>.</p></div><p class="src"><a id="v:uniqueFieldAla" class="def">uniqueFieldAla</a> <a href="#v:uniqueFieldAla" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a)</td><td class="doc empty"> </td></tr><tr><td class="src">=> <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a></td><td class="doc"><p>field name</p></td></tr><tr><td class="src">-> (a -> b)</td><td class="doc"><p><code><a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a></code> pack</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a</td><td class="doc"><p>lens into the field</p></td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Field which should be defined, exactly once.</p></div><p class="src"><a id="v:booleanFieldDef" class="def">booleanFieldDef</a> <a href="#v:booleanFieldDef" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a></td><td class="doc"><p>field name</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></td><td class="doc"><p>lens into the field</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></td><td class="doc"><p>default</p></td></tr><tr><td class="src">-> g s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Boolean field with a default value.</p></div><p class="src"><a id="v:optionalFieldAla" class="def">optionalFieldAla</a> <a href="#v:optionalFieldAla" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a)</td><td class="doc empty"> </td></tr><tr><td class="src">=> <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a></td><td class="doc"><p>field name</p></td></tr><tr><td class="src">-> (a -> b)</td><td class="doc"><p><code>pack</code></p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a)</td><td class="doc"><p>lens into the field</p></td></tr><tr><td class="src">-> g s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a)</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Optional field.</p></div><p class="src"><a id="v:optionalFieldDefAla" class="def">optionalFieldDefAla</a> <a href="#v:optionalFieldDefAla" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a, <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> a)</td><td class="doc empty"> </td></tr><tr><td class="src">=> <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a></td><td class="doc"><p>field name</p></td></tr><tr><td class="src">-> (a -> b)</td><td class="doc"><p><code><a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a></code> pack</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a</td><td class="doc"><p><code><code><a href="Distribution-Compat-Lens.html#t:Lens-39-" title="Distribution.Compat.Lens">Lens'</a></code> s a</code>: lens into the field</p></td></tr><tr><td class="src">-> a</td><td class="doc"><p>default value</p></td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Optional field with default value.</p></div><p class="src"><a id="v:monoidalFieldAla" class="def">monoidalFieldAla</a> <a href="#v:monoidalFieldAla" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Semigroup.html#t:Monoid" title="Distribution.Compat.Semigroup">Monoid</a> a, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a)</td><td class="doc empty"> </td></tr><tr><td class="src">=> <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a></td><td class="doc"><p>field name</p></td></tr><tr><td class="src">-> (a -> b)</td><td class="doc"><p><code>pack</code></p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a</td><td class="doc"><p>lens into the field</p></td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Monoidal field.</p><p>Values are combined with <code><a href="Distribution-Compat-Semigroup.html#v:mappend" title="Distribution.Compat.Semigroup">mappend</a></code>.</p><p><em>Note:</em> <code><a href="Distribution-FieldGrammar.html#v:optionalFieldAla" title="Distribution.FieldGrammar">optionalFieldAla</a></code> is a <code>monoidalField</code> with <code>Last</code> monoid.</p></div><p class="src"><a id="v:prefixedFields" class="def">prefixedFields</a> <a href="#v:prefixedFields" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a></td><td class="doc"><p>field name prefix</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)]</td><td class="doc"><p>lens into the field</p></td></tr><tr><td class="src">-> g s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)]</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Parser matching all fields with a name starting with a prefix.</p></div><p class="src"><a id="v:knownField" class="def">knownField</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> g s () <a href="#v:knownField" class="selflink">#</a></p><div class="doc"><p>Known field, which we don't parse, neither pretty print.</p></div><p class="src"><a id="v:hiddenField" class="def">hiddenField</a> :: g s a -> g s a <a href="#v:hiddenField" class="selflink">#</a></p><div class="doc"><p>Field which is parsed but not pretty printed.</p></div><p class="src"><a id="v:deprecatedSince" class="def">deprecatedSince</a> <a href="#v:deprecatedSince" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>]</td><td class="doc"><p>version</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a></td><td class="doc"><p>deprecation message</p></td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Deprecated since</p></div><p class="src"><a id="v:availableSince" class="def">availableSince</a> <a href="#v:availableSince" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>]</td><td class="doc"><p>spec version</p></td></tr><tr><td class="src">-> a</td><td class="doc"><p>default value</p></td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Annotate field with since spec-version.</p></div></div><div class="subs instances"><details id="i:FieldGrammar" 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:FieldGrammar:FieldGrammar:1"></span> <a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a></span> <a href="#t:FieldGrammar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:FieldGrammar:FieldGrammar:1"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:blurFieldGrammar">blurFieldGrammar</a> :: <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> a b -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> b c -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> a c <a href="#v:blurFieldGrammar" class="selflink">#</a></p><p class="src"><a href="#v:uniqueFieldAla">uniqueFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:uniqueFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:booleanFieldDef">booleanFieldDef</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:booleanFieldDef" class="selflink">#</a></p><p class="src"><a href="#v:optionalFieldAla">optionalFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a) -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a) <a href="#v:optionalFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:optionalFieldDefAla">optionalFieldDefAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a, <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:optionalFieldDefAla" class="selflink">#</a></p><p class="src"><a href="#v:monoidalFieldAla">monoidalFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Semigroup.html#t:Monoid" title="Distribution.Compat.Semigroup">Monoid</a> a, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:monoidalFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:prefixedFields">prefixedFields</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)] -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)] <a href="#v:prefixedFields" class="selflink">#</a></p><p class="src"><a href="#v:knownField">knownField</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s () <a href="#v:knownField" class="selflink">#</a></p><p class="src"><a href="#v:hiddenField">hiddenField</a> :: <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:hiddenField" class="selflink">#</a></p><p class="src"><a href="#v:deprecatedSince">deprecatedSince</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:deprecatedSince" class="selflink">#</a></p><p class="src"><a href="#v:availableSince">availableSince</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -> a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:availableSince" 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:FieldGrammar:FieldGrammar:2"></span> <a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a></span> <a href="#t:FieldGrammar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:ic:FieldGrammar:FieldGrammar:2"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:blurFieldGrammar">blurFieldGrammar</a> :: <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> a b -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> b c -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> a c <a href="#v:blurFieldGrammar" class="selflink">#</a></p><p class="src"><a href="#v:uniqueFieldAla">uniqueFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:uniqueFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:booleanFieldDef">booleanFieldDef</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:booleanFieldDef" class="selflink">#</a></p><p class="src"><a href="#v:optionalFieldAla">optionalFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a) -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a) <a href="#v:optionalFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:optionalFieldDefAla">optionalFieldDefAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a, <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:optionalFieldDefAla" class="selflink">#</a></p><p class="src"><a href="#v:monoidalFieldAla">monoidalFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Semigroup.html#t:Monoid" title="Distribution.Compat.Semigroup">Monoid</a> a, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:monoidalFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:prefixedFields">prefixedFields</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)] -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)] <a href="#v:prefixedFields" class="selflink">#</a></p><p class="src"><a href="#v:knownField">knownField</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s () <a href="#v:knownField" class="selflink">#</a></p><p class="src"><a href="#v:hiddenField">hiddenField</a> :: <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:hiddenField" class="selflink">#</a></p><p class="src"><a href="#v:deprecatedSince">deprecatedSince</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:deprecatedSince" class="selflink">#</a></p><p class="src"><a href="#v:availableSince">availableSince</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -> a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:availableSince" 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:FieldGrammar:FieldGrammar:3"></span> <a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a></span> <a href="#t:FieldGrammar" class="selflink">#</a></td><td class="doc"><p><em>Note:</em> default values are printed.</p></td></tr><tr><td colspan="2"><details id="i:ic:FieldGrammar:FieldGrammar:3"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:blurFieldGrammar">blurFieldGrammar</a> :: <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> a b -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> b c -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> a c <a href="#v:blurFieldGrammar" class="selflink">#</a></p><p class="src"><a href="#v:uniqueFieldAla">uniqueFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s a <a href="#v:uniqueFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:booleanFieldDef">booleanFieldDef</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:booleanFieldDef" class="selflink">#</a></p><p class="src"><a href="#v:optionalFieldAla">optionalFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a) -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a) <a href="#v:optionalFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:optionalFieldDefAla">optionalFieldDefAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a, <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> a -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s a <a href="#v:optionalFieldDefAla" class="selflink">#</a></p><p class="src"><a href="#v:monoidalFieldAla">monoidalFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Semigroup.html#t:Monoid" title="Distribution.Compat.Semigroup">Monoid</a> a, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s a <a href="#v:monoidalFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:prefixedFields">prefixedFields</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)] -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)] <a href="#v:prefixedFields" class="selflink">#</a></p><p class="src"><a href="#v:knownField">knownField</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s () <a href="#v:knownField" class="selflink">#</a></p><p class="src"><a href="#v:hiddenField">hiddenField</a> :: <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s a -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s a <a href="#v:hiddenField" class="selflink">#</a></p><p class="src"><a href="#v:deprecatedSince">deprecatedSince</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s a -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s a <a href="#v:deprecatedSince" class="selflink">#</a></p><p class="src"><a href="#v:availableSince">availableSince</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -> a -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s a -> <a href="Distribution-FieldGrammar-FieldDescrs.html#t:FieldDescrs" title="Distribution.FieldGrammar.FieldDescrs">FieldDescrs</a> s a <a href="#v:availableSince" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:uniqueField" class="def">uniqueField</a> <a href="#v:uniqueField" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> g, <a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> a, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> a)</td><td class="doc empty"> </td></tr><tr><td class="src">=> <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a></td><td class="doc"><p>field name</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a</td><td class="doc"><p>lens into the field</p></td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Field which can be defined at most once.</p></div></div><div class="top"><p class="src"><a id="v:optionalField" class="def">optionalField</a> <a href="#v:optionalField" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> g, <a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> a, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> a)</td><td class="doc empty"> </td></tr><tr><td class="src">=> <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a></td><td class="doc"><p>field name</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a)</td><td class="doc"><p>lens into the field</p></td></tr><tr><td class="src">-> g s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a)</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Field which can be defined at most once.</p></div></div><div class="top"><p class="src"><a id="v:optionalFieldDef" class="def">optionalFieldDef</a> <a href="#v:optionalFieldDef" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> g, <a href="Distribution-Compat-Prelude-Internal.html#t:Functor" title="Distribution.Compat.Prelude.Internal">Functor</a> (g s), <a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> a, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> a, <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> a)</td><td class="doc empty"> </td></tr><tr><td class="src">=> <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a></td><td class="doc"><p>field name</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a</td><td class="doc"><p><code><code><a href="Distribution-Compat-Lens.html#t:Lens-39-" title="Distribution.Compat.Lens">Lens'</a></code> s a</code>: lens into the field</p></td></tr><tr><td class="src">-> a</td><td class="doc"><p>default value</p></td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Optional field with default value.</p></div></div><div class="top"><p class="src"><a id="v:monoidalField" class="def">monoidalField</a> <a href="#v:monoidalField" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> g, <a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> a, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid" title="Distribution.Compat.Semigroup">Monoid</a> a)</td><td class="doc empty"> </td></tr><tr><td class="src">=> <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a></td><td class="doc"><p>field name</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a</td><td class="doc"><p>lens into the field</p></td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Field which can be define multiple times, and the results are <code>mappend</code>ed.</p></div></div><div class="top"><p class="src"><a id="v:deprecatedField-39-" class="def">deprecatedField'</a> <a href="#v:deprecatedField-39-" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> g</td><td class="doc empty"> </td></tr><tr><td class="src">=> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a></td><td class="doc"><p>deprecation message</p></td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr><tr><td class="src">-> g s a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Deprecated field. If found, warning is issued.</p><p><em>Note:</em> also it's not pretty printed!</p></div></div><a href="#g:2" id="g:2"><h1>Concrete grammar implementations</h1></a><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ParsecFieldGrammar" class="def">ParsecFieldGrammar</a> s a <a href="#t:ParsecFieldGrammar" class="selflink">#</a></p><div class="subs instances"><details id="i:ParsecFieldGrammar" 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:id:ParsecFieldGrammar:FieldGrammar:1"></span> <a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a></span> <a href="#t:ParsecFieldGrammar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:ParsecFieldGrammar:FieldGrammar:1"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:blurFieldGrammar">blurFieldGrammar</a> :: <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> a b -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> b c -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> a c <a href="#v:blurFieldGrammar" class="selflink">#</a></p><p class="src"><a href="#v:uniqueFieldAla">uniqueFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:uniqueFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:booleanFieldDef">booleanFieldDef</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:booleanFieldDef" class="selflink">#</a></p><p class="src"><a href="#v:optionalFieldAla">optionalFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a) -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a) <a href="#v:optionalFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:optionalFieldDefAla">optionalFieldDefAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a, <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:optionalFieldDefAla" class="selflink">#</a></p><p class="src"><a href="#v:monoidalFieldAla">monoidalFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Semigroup.html#t:Monoid" title="Distribution.Compat.Semigroup">Monoid</a> a, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:monoidalFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:prefixedFields">prefixedFields</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)] -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)] <a href="#v:prefixedFields" class="selflink">#</a></p><p class="src"><a href="#v:knownField">knownField</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s () <a href="#v:knownField" class="selflink">#</a></p><p class="src"><a href="#v:hiddenField">hiddenField</a> :: <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:hiddenField" class="selflink">#</a></p><p class="src"><a href="#v:deprecatedSince">deprecatedSince</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:deprecatedSince" class="selflink">#</a></p><p class="src"><a href="#v:availableSince">availableSince</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -> a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:availableSince" 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:id:ParsecFieldGrammar:Functor:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Functor" title="Distribution.Compat.Prelude.Internal">Functor</a> (<a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s)</span> <a href="#t:ParsecFieldGrammar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:ParsecFieldGrammar:Functor:2"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s b -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:-60--36-" 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:id:ParsecFieldGrammar:Applicative:3"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Applicative" title="Distribution.Compat.Prelude.Internal">Applicative</a> (<a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s)</span> <a href="#t:ParsecFieldGrammar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:ParsecFieldGrammar:Applicative:3"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(<*>)</a> :: <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s (a -> b) -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -> b -> c) -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s b -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s c <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*>)</a> :: <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s b -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(<*)</a> :: <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s b -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a <a href="#v:-60--42-" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ParsecFieldGrammar-39-" class="def">ParsecFieldGrammar'</a> a = <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> a a <a href="#t:ParsecFieldGrammar-39-" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:parseFieldGrammar" class="def">parseFieldGrammar</a> :: <a href="Distribution-CabalSpecVersion.html#t:CabalSpecVersion" title="Distribution.CabalSpecVersion">CabalSpecVersion</a> -> <a href="Distribution-FieldGrammar.html#t:Fields" title="Distribution.FieldGrammar">Fields</a> <a href="Distribution-Parsec-Common.html#t:Position" title="Distribution.Parsec.Common">Position</a> -> <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> <a href="Distribution-Parsec-ParseResult.html#t:ParseResult" title="Distribution.Parsec.ParseResult">ParseResult</a> a <a href="#v:parseFieldGrammar" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fieldGrammarKnownFieldList" class="def">fieldGrammarKnownFieldList</a> :: <a href="Distribution-FieldGrammar.html#t:ParsecFieldGrammar" title="Distribution.FieldGrammar">ParsecFieldGrammar</a> s a -> [<a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a>] <a href="#v:fieldGrammarKnownFieldList" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PrettyFieldGrammar" class="def">PrettyFieldGrammar</a> s a <a href="#t:PrettyFieldGrammar" class="selflink">#</a></p><div class="subs instances"><details id="i:PrettyFieldGrammar" 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:id:PrettyFieldGrammar:FieldGrammar:1"></span> <a href="Distribution-FieldGrammar.html#t:FieldGrammar" title="Distribution.FieldGrammar">FieldGrammar</a> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a></span> <a href="#t:PrettyFieldGrammar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:PrettyFieldGrammar:FieldGrammar:1"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:blurFieldGrammar">blurFieldGrammar</a> :: <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> a b -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> b c -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> a c <a href="#v:blurFieldGrammar" class="selflink">#</a></p><p class="src"><a href="#v:uniqueFieldAla">uniqueFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:uniqueFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:booleanFieldDef">booleanFieldDef</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:booleanFieldDef" class="selflink">#</a></p><p class="src"><a href="#v:optionalFieldAla">optionalFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a) -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> a) <a href="#v:optionalFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:optionalFieldDefAla">optionalFieldDefAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a, <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:optionalFieldDefAla" class="selflink">#</a></p><p class="src"><a href="#v:monoidalFieldAla">monoidalFieldAla</a> :: (<a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> b, <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> b, <a href="Distribution-Compat-Semigroup.html#t:Monoid" title="Distribution.Compat.Semigroup">Monoid</a> a, <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> b a) => <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> (a -> b) -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:monoidalFieldAla" class="selflink">#</a></p><p class="src"><a href="#v:prefixedFields">prefixedFields</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-Compat-Lens.html#t:ALens-39-" title="Distribution.Compat.Lens">ALens'</a> s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)] -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)] <a href="#v:prefixedFields" class="selflink">#</a></p><p class="src"><a href="#v:knownField">knownField</a> :: <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s () <a href="#v:knownField" class="selflink">#</a></p><p class="src"><a href="#v:hiddenField">hiddenField</a> :: <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:hiddenField" class="selflink">#</a></p><p class="src"><a href="#v:deprecatedSince">deprecatedSince</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:deprecatedSince" class="selflink">#</a></p><p class="src"><a href="#v:availableSince">availableSince</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -> a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:availableSince" 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:id:PrettyFieldGrammar:Functor:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Functor" title="Distribution.Compat.Prelude.Internal">Functor</a> (<a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s)</span> <a href="#t:PrettyFieldGrammar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:PrettyFieldGrammar:Functor:2"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s b -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:-60--36-" 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:id:PrettyFieldGrammar:Applicative:3"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Applicative" title="Distribution.Compat.Prelude.Internal">Applicative</a> (<a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s)</span> <a href="#t:PrettyFieldGrammar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:PrettyFieldGrammar:Applicative:3"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(<*>)</a> :: <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s (a -> b) -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -> b -> c) -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s b -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s c <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*>)</a> :: <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s b -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(<*)</a> :: <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s b -> <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a <a href="#v:-60--42-" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:PrettyFieldGrammar-39-" class="def">PrettyFieldGrammar'</a> a = <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> a a <a href="#t:PrettyFieldGrammar-39-" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:prettyFieldGrammar" class="def">prettyFieldGrammar</a> :: <a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a> s a -> s -> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a> <a href="#v:prettyFieldGrammar" class="selflink">#</a></p><div class="doc"><p>We can use <code><a href="Distribution-FieldGrammar.html#t:PrettyFieldGrammar" title="Distribution.FieldGrammar">PrettyFieldGrammar</a></code> to pp print the <code>s</code>.</p><p><em>Note:</em> there is not trailing <code>($+$ text "")</code>.</p></div></div><a href="#g:3" id="g:3"><h1>Auxlilary</h1></a><div class="top"><p class="src"><a id="v:-94--94--94-" class="def">(^^^)</a> :: a -> (a -> b) -> b <span class="fixity">infixl 5</span><span class="rightedge"></span> <a href="#v:-94--94--94-" class="selflink">#</a></p><div class="doc"><p>Reverse function application which binds tighter than <code><a href="Distribution-Compat-Prelude-Internal.html#v:-60--36--62-" title="Distribution.Compat.Prelude.Internal"><$></a></code> and <code><a href="Distribution-Compat-Prelude-Internal.html#v:-60--42--62-" title="Distribution.Compat.Prelude.Internal"><*></a></code>.
Useful for refining grammar specification.</p><pre><*> <code><a href="Distribution-FieldGrammar.html#v:monoidalFieldAla" title="Distribution.FieldGrammar">monoidalFieldAla</a></code> "extensions" (alaList' FSep MQuoted) oldExtensions
^^^ <code><a href="Distribution-FieldGrammar.html#v:deprecatedSince" title="Distribution.FieldGrammar">deprecatedSince</a></code> [1,12] "Please use 'default-extensions' or 'other-extensions' fields."
</pre></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Section" class="def">Section</a> ann <a href="#t:Section" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a></code> constructor of <code><a href="Distribution-Parsec-Field.html#t:Field" title="Distribution.Parsec.Field">Field</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:MkSection" class="def">MkSection</a> !(<a href="Distribution-Parsec-Field.html#t:Name" title="Distribution.Parsec.Field">Name</a> ann) [<a href="Distribution-Parsec-Field.html#t:SectionArg" title="Distribution.Parsec.Field">SectionArg</a> ann] [<a href="Distribution-Parsec-Field.html#t:Field" title="Distribution.Parsec.Field">Field</a> ann]</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><details id="i:Section" 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:id:Section:Functor:1"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Functor" title="Distribution.Compat.Prelude.Internal">Functor</a> <a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a></span> <a href="#t:Section" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:Section:Functor:1"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> a -> <a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> b -> <a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> a <a href="#v:-60--36-" 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:id:Section:Eq:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> ann => <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> (<a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> ann)</span> <a href="#t:Section" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:Section:Eq:2"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> ann -> <a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> ann -> <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> ann -> <a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> ann -> <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-47--61-" 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:id:Section:Show:3"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> ann => <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> (<a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> ann)</span> <a href="#t:Section" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:Section:Show:3"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -> <a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> ann -> <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> ann -> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> ann] -> <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Fields" class="def">Fields</a> ann = <a href="Distribution-Compat-Prelude-Internal.html#t:Map" title="Distribution.Compat.Prelude.Internal">Map</a> <a href="Distribution-Parsec-Field.html#t:FieldName" title="Distribution.Parsec.Field">FieldName</a> [<a href="Distribution-FieldGrammar-Parsec.html#t:NamelessField" title="Distribution.FieldGrammar.Parsec">NamelessField</a> ann] <a href="#t:Fields" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:partitionFields" class="def">partitionFields</a> :: [<a href="Distribution-Parsec-Field.html#t:Field" title="Distribution.Parsec.Field">Field</a> ann] -> (<a href="Distribution-FieldGrammar.html#t:Fields" title="Distribution.FieldGrammar">Fields</a> ann, [[<a href="Distribution-FieldGrammar.html#t:Section" title="Distribution.FieldGrammar">Section</a> ann]]) <a href="#v:partitionFields" class="selflink">#</a></p><div class="doc"><p>Partition field list into field map and groups of sections.</p></div></div><div class="top"><p class="src"><a id="v:takeFields" class="def">takeFields</a> :: [<a href="Distribution-Parsec-Field.html#t:Field" title="Distribution.Parsec.Field">Field</a> ann] -> (<a href="Distribution-FieldGrammar.html#t:Fields" title="Distribution.FieldGrammar">Fields</a> ann, [<a href="Distribution-Parsec-Field.html#t:Field" title="Distribution.Parsec.Field">Field</a> ann]) <a href="#v:takeFields" class="selflink">#</a></p><div class="doc"><p>Take all fields from the front.</p></div></div><div class="top"><p class="src"><a id="v:runFieldParser" class="def">runFieldParser</a> :: <a href="Distribution-Parsec-Common.html#t:Position" title="Distribution.Parsec.Common">Position</a> -> <a href="Distribution-Parsec-Class.html#t:ParsecParser" title="Distribution.Parsec.Class">ParsecParser</a> a -> <a href="Distribution-CabalSpecVersion.html#t:CabalSpecVersion" title="Distribution.CabalSpecVersion">CabalSpecVersion</a> -> [<a href="Distribution-Parsec-Field.html#t:FieldLine" title="Distribution.Parsec.Field">FieldLine</a> <a href="Distribution-Parsec-Common.html#t:Position" title="Distribution.Parsec.Common">Position</a>] -> <a href="Distribution-Parsec-ParseResult.html#t:ParseResult" title="Distribution.Parsec.ParseResult">ParseResult</a> a <a href="#v:runFieldParser" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:runFieldParser-39-" class="def">runFieldParser'</a> :: <a href="Distribution-Parsec-Common.html#t:Position" title="Distribution.Parsec.Common">Position</a> -> <a href="Distribution-Parsec-Class.html#t:ParsecParser" title="Distribution.Parsec.Class">ParsecParser</a> a -> <a href="Distribution-CabalSpecVersion.html#t:CabalSpecVersion" title="Distribution.CabalSpecVersion">CabalSpecVersion</a> -> <a href="Distribution-Parsec-FieldLineStream.html#t:FieldLineStream" title="Distribution.Parsec.FieldLineStream">FieldLineStream</a> -> <a href="Distribution-Parsec-ParseResult.html#t:ParseResult" title="Distribution.Parsec.ParseResult">ParseResult</a> a <a href="#v:runFieldParser-39-" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.19.0</p></div></body></html>