Îõ³h*i     0.1.0.0(c) Masahiro Sakai 2024 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred<Ýä sequitur! denotes a internal state of the SEQUITUR algorithm.sequiturüA grammar is a mappping from non-terminal (left-hand side of the rule) to sequnce of symbols (right hand side of the rule).!Non-terminal is represented as a .sequituróA symbol is either a terminal symbol (from user-specified type) or a non-terminal symbol which we represent using  type.sequitur+A non-terminal symbol is represented by an . The number 01 is reserved for the start symbol of the grammar.sequitur Create a new .sequiturðAdd a new symbol to the end of grammar's start production, and perform normalization to keep the invariants of SEQUITUR algorithm.sequitur9Retrieve a grammar (as a persistent data structure) from 's internal state. sequitur;Construct a grammer from a given sequence of symbols using SEQUITUR. sequitur,Reconstruct a input sequence from a grammar.This is a left-inverse of  .This function is implemented as  decode =  .   ;and provided just for convenience. For serious usage, use   or  . sequitur A variant of  " with possibly better performance. sequitur A variant of  Í but you can consume from the beginning before constructing entire sequence. sequitur)-based folding over the decoded sequence.îThis function is equivalent to the following definition, is more efficent due to the utilization of sharing.b decodeToMonoid f =  .  f .      Safe-Inferred\ !"#$      !"!#!$%&'()*+,-'sequitur-0.1.0.0-Lgle0ocATSo37AWieLgTJ0Language.Grammar.SequitursequiturPaths_sequiturBuilderGrammarSymbol NonTerminalTerminalRuleId newBuilderaddbuildencodedecode decodeToSeq decodeLazydecodeToMonoid$fHashableSymbol$fEqNode$fHashableRule$fEqRule $fGenericNode $fEqSymbol $fOrdSymbol $fShowSymbol$fGenericSymbolghc-prim GHC.TypesIntbase Data.FoldabletoListGHC.BaseMonoidmconcatmapversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDirgetDataFileName getSysconfDir