Îõ³h&ÊÅ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDNone &'(28:<=>?ÀÉÑ×Ùàìî@ lasercutterØA parser to run on children, and a subsequent continuation for how to parse the parent. lasercutter½A tree parser which runs all queries in a single pass. This is accomplished via a free encoding of the applicative structure, which can be arbitrarily reassociated for better performance. lasercutter The free E constructor. lasercutter The free 5 constructor. This is an inlining of Day convolution. lasercutter4Get the breadcrumbs at the current part of the tree. lasercutterÄRun the given parser at every subtree which matches the given predicate. This is not recursive --- that is, a given subtree only runs the given parser once, not in all further matching subtrees. lasercutter7Run the given parser on each child of the current node.  lasercutterGet the current node.! lasercutterSwallow a parsed F, failing the parser if it was G1. Don't use this constructor explicitly; prefer &" which maintains some invariants. is the inverse to this parser." lasercutter(Immediately fail a parse. Equivalent to ! (E G).# lasercutterÀLasercutter supports any inductive tree types, as witnessed by $.$ lasercutter%Get all children of the current node.% lasercutter"Transform the type of tree that a  operates over.& lasercutterSwallow a parsed F, failing the parser if it was G.Use ' or  as the inverse to this parser.' lasercutterLike , but slightly more efficient. lasercutterThe parser to run on children. lasercutter?ÀÉÑ×Ùàìî ´1 lasercutterƒSplit a parser into a parser to run on the node's children, and how to reassemble those pieces into a parser for the current node.2 lasercutter8There is no work to do for the children, so ignore them.3 lasercutterAppend a continuation after a .4 lasercutterûParse the current node by splitting the parser, accumulating the results of each child, and then running the continuation.5 lasercutter5Run a parser on each child, accumulating the results.6 lasercutter£Extract a value from a parser. The way the applicative evaluates, all "combinator" effects are guaranteed to have been run by the time this function gets called.7 lasercutter*Run a parser over a tree in a single pass.8 lasercutter!Transformer the breadcrumbs of a .7 lasercutteræA means of summarizing the current node for tracking breadcrumbs. If you don't need breadcrumbs, use H (). lasercutterThe tree to parse. lasercutterHow to parse the tree.1234567812345678None &'(28:<=>?ÀÉÑ×Ùàìîv 9 lasercutterÚProject a value out of the current node. This is the main way to build primitive parsers. 9 f = I f ?: lasercutterÂRun the given parser on every immediate child of the current node.; lasercutterïRun the given parser on every predicate-satisfying subtree of the current node. This combinator is not recursive --- that is, if the predicate is satisfied by both a node and its descendent, the descendent *will not* receive the parser.< lasercutteräGet the breadcrumbs at the current node. This is useful for refining the coarse-grained matches of ;- by restricting matches to certain subtrees.= lasercutter0Get a value computed on the current breadcrumbs. = f = I f <> lasercutterÙRun a parser on the immediate children of the current node, returning the first success. > = I J . :? lasercutterGet the current node.@ lasercutterÅGet the first result of a list of results, failing if there are none. @ = & . I JA lasercutterA pc pa returns pa when pc evaluates to K, failing otherwise.B lasercutterB f pt pf runs pt when f evaluates to K on the current node, running pf otherwise. B f tr fl =  (9 f) tr flC lasercutterC f pa returns pa when pc evaluates to K) on the current node, failing otherwise. C = A . 9D lasercutterÊRun the given function on every subtree, accumulating those which return L.+ #$&'789:;<=>?@ABCD+7#$?9&@':>;DACB<=8  Safe-Inferred &'(28:<=>?ÀÉÑ×ÙàìîMNOPQRSTÕ      !"#$%&$%'(()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS TUVUW X YZ[\]^U_`abcdefgè*lasercutter-0.1.0.0-HLucKCunKdaGHFXf40GSv2 LasercutterLasercutter.TypesLasercutter.InternalPaths_lasercutterbase Control.MonadguardControl.Applicativeoptional Data.FoldableasumGHC.BaseliftA2<|>empty(profunctors-5.6.2-ENzwg0liCYjBWiMoIO8XFjData.Profunctor.Unsafermaplmapdimap&selective-0.4.2-AtMnsEx4Dzb60axBQTRbgmControl.SelectivefoldSallSanyS<&&><||>andAlsoorElse fromMaybeSbindSifSbranch<*?select'witherable-0.4.2-21bDR8w20QC9SIEnMHlCL6 Witherable catMaybesmapMaybeSplitParserPureLiftA2 GetCrumbsTarget OnChildrenCurrentExpectFailIsTree getChildrenmapTreeexpecttry$fProfunctorParser$fFilterableParser$fSelectiveParser$fAlternativeParser$fApplicativeParser$fFunctorParser $fShowParser$fSemigroupParser$fMonoidParsersplitignoreChildrencontinue parseNode parseChildren getResult runParsermapBreadcrumbsproj onChildrentarget breadcrumbs onBreadcrumbs onSingleChildselfonewhenifNodewhenNode targetMappure GHC.MaybeMaybeNothingconstfmap Data.Maybe listToMaybeghc-prim GHC.TypesTrueJustversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName