!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(c) Fumiaki Kinoshita 2019BSD3 ExperimentalNone 4>EHSVX_wineryjA Bazaar (chain of indexed store comonad)-like structure which instead works for natural transformations.winery A monad with  Reader [r] and Either WineryException4 combined, used internally to build an extractor. r? is used to share environment such as extractors for fixpoints.wineryExceptions thrown by a  wineryThe Decoder monadwinery$A state monad. The reason being not StateN from transformers is to allow coercion for newtype deriving and DerivingVia.wineryRun a  !  !   (c) Fumiaki Kinoshita 2019BSD3 ProvisionalNone  4567HV_44winery&Exceptions thrown when by an extractorAwineryA fixpoint of a decoderBwineryschema bound by x.  is a basis of the variablesCwineryC is a Plan6 that creates a function to extract a value from Term.The G instance can be used to build a user-defined extractor. This is also +, meaning that fallback plans may be added.["Don't get set into one form, adapt it and build your own, and let it grow, be like water."FwineryThis may be thrown if illegal H is passed to an extractor.Hwinery\Common representation for any winery data. Handy for prettyprinting winery-serialised data.]winerySchema generator`wineryThe basic schema datatypeawinerybinds a fixpointbwinerySVar n& refers to the n-th innermost fixpointvwinerynanoseconds from POSIX epochywineryyA schema preserves structure of a datatype, allowing users to inspect the data regardless of the current implementation.H"Yeah, it s just a memento. Just, you know, from the first time we met."zwinery7Tag is an extra value that can be attached to a schema.~winery!The current version of the schemawineryGObtain the schema of the schema corresponding to the specified version.wineryRun an C.winery Pretty-print 4N4<56789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`huabcdefgijklmnopqrstvwxyz{|}~Nz{|}y`huabcdefgijklmnopqrstvwx]^_~HIJKLMNOPQRSTUVWXYZ[\FGCDE=@AB>?4<56789:;None&'-.01=>?HMSUVX_kU#wineryEncode all the fieldswinery$Encoded in variable-length quantity.winery A bundle of  methodswinerySerialisable datatypewinery"Obtain the schema of the datatype.winerySerialise a value.wineryIA value of 'Extractor a' interprets a schema and builds a function from H to a. This must be equivalent to % when the schema is the current one.If  sD returns a function, the function must return a non-bottom for any H  decodeTerm s returns.CIt must not return a function if an unsupported schema is supplied.&getDecoderBy extractor (schema (Proxy  a)) must be Right d where d@ is equivalent to .winery'Decode a value with the current schema.   x "a xwinery;Instead of the four methods above, you can supply a bundle.winery/A bundle of generic implementations for recordswineryEA bundle of generic implementations for records, with a default valuewinery0A bundle of generic implementations for variantswineryObtain a schema on ]N, binding a fixpoint when necessary. If you are hand-rolling a definition of #, you should call this instead of .winery"Obtain the schema of the datatype.;"Tell me what you drink, and I will tell you what you are."winery#Handle (recursive) schema bindings.winery time-1.9.1winery%Extract a list or an array of values.wineryGeneric implementation of  for a record.wineryGeneric implementation of  for a record.wineryGeneric implementation of  for a record.wineryGeneric implementation of  for a record.winery Synonym for wineryGeneric implementation of  for a record.wineryGeneric implementation of  for a record.wineryGeneric implementation of  for an ADT.wineryGeneric implementation of  for an ADT.wineryGeneric implementation of  for an ADT.winerydefault value (optional)winerydefault value (optional)88(c) Fumiaki Kinoshita 2019BSD3 ProvisionalNone  >MSX_kzBwineryThe . instance is generically defined for variants.G"The one so like the other as could not be distinguish'd but by names."Ewinery3Serialise a value as a product (omits field names).>"I get ideas about what's essential when packing my suitcase."HwineryThe - instance is generically defined for records.Z"Remember thee! Yea, from the table of my memory I'll wipe away all trivial fond records."KwinerydAn extractor for individual fields. This distinction is required for handling recursions correctly.$Recommended extension: ApplicativeDowineryDeserialiser for a H.("I will read anything rather than work."OwineryDeserialise a Td  .Pwinery,Check the integrity of a Serialise instance.g"No tears in the writer, no tears in the reader. No surprise in the writer, no surprise in the reader."Qwinery in terms of ; note that it's very slow.RwineryObtain a decoder from a schema.["A reader lives a thousand lives before he dies... The man who never reads lives only one."SwineryGet a decoder from a C and a schema.Twinery(Serialise a value along with its schema.S"Write the vision, and make it plain upon tables, that he may run that readeth it."UwineryT then write it to a file.Vwinery"Serialise a value with the schema.WwinerySplit a y from a .Xwinery9Serialise a schema (prefix with the version number only).ZwineryDeserialise a Td  .Q"Old wood to burn! Old wine to drink! Old friends to trust! Old authors to read!"[wineryDeserialise a Td   using an C.\wineryDeserialise a file. Throws 4]wineryDeserialise a schema.^winery%Serialise a value without its schema.$"Any unsaved progress will be lost."_wineryBuild an extractor from a K.`wineryExtract a field of a record.awinery#Extract a field using the supplied C.bwinery#Extract a field using the supplied C.cwinerynTries to extract a specific constructor of a variant. Useful for implementing backward-compatible extractors.dwinerywTries to match on a constructor. If it doesn't match (or constructor doesn't exist at all), leave it to the successor.  extractor = (Just, Just) d (Nothing, () -> Nothing) d extractVoidewineryNo constructors remaining. 4<56789:;CDEFGHIJKLMNOPQRSTUVWXYZ[\]`huabcdefgijklmnopqrstvwxyz{|}BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdey`huabcdefgijklmnopqrstvwxz{|}P VTZ[OWU\XY]CDE ^RSHIJKLMNOPQRSTUVWXYZ[\NKLM_`adcbeFG4<56789:;]HIJBCDEFGQc1d1(c) Fumiaki Kinoshita 2019BSD3 ExperimentalNone4lwinery"Query is a transformation between C+s. Like jq, this returns a list of values.owineryThrow an error.pwinery!Takes a list and traverses on it.qwineryTakes a list and enumerates elements in the specified range. Like Python's array slicing, negative numbers counts from the last element.swinery0Takes a record and extracts the specified field.twineryATakes a variant and returns a value when the constructor matches.uwinery!Propagate values if the supplied l doesn't return False. lmnopqrstu lmnopqsrtu(c) Fumiaki Kinoshita 2019BSD3 ExperimentalNone &'SUVXwinery^Space-separated list of terms translate to a tabular output, applying the queries in parallelzz(c) Fumiaki Kinoshita 2019BSD3 ExperimentalNone18=>?MSUVXk {wineryzA class to provide test values and gather tests for its components. It is recommended to use the generic default methods.|wineryA list of values that can be used as test cases. It should contain at least one value as long as there is a non-bottom value in the type.}winery6Inherited set of test cases for each type it involves.~wineryTypes with concrete test cases./"Doubt is useful, it keeps faith a living thing. After all, you cannot know the strength of your faith until it has been tested."/winery List of test cases for the type.wineryConstruct a test case.wineryMerge multiple tests into one.winery5Gather all test cases involved in the specified type.winery:Generate test cases and print them to the standard output.winery the schemawinery serialisedwineryexpected {}|~ {}|~       !"#$%&'()*+,-./0123456789:;<=>?@ABCCDEFGGHIJKLMNOPQRSTUVWXYZ[\]^_``abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABBCDDEFFGHHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghhijklmnopqrstuvwxyz{|}~!winery-1.2-EhoTdBPFQ3o8hwd1oJPM9yCodec.Winery.InternalCodec.Winery.BaseCodec.Winery.Class Codec.WineryCodec.Winery.QueryCodec.Winery.Query.ParserCodec.Winery.TestB Bytestring TransFusion unTransFusionStrategy unStrategyDecodeExceptionInsufficientInputIntegerOverflow InvalidTagDecoder unDecoder DecoderResultStaterunStateunsignedVarIntvarInt evalState evalDecodergetWord8 decodeVarIntdecodeVarIntFinite getWord16 getWord32 getWord64getBytes unsafeIndexVlookupWithIndexV indexDefault throwStrategy$fMonadFixState $fMonadState$fApplicativeState$fMonadDecoder$fApplicativeDecoder$fExceptionDecodeException$fMonadFixStrategy$fAlternativeStrategy$fMonadStrategy$fApplicativeStrategy$fApplicativeTransFusion$fFunctorTransFusion$fFunctorState$fFunctorDecoderResult$fFunctorDecoder$fEqDecodeException$fShowDecodeException$fReadDecodeException$fFunctorStrategyWineryExceptionUnexpectedSchema FieldNotFound TypeMismatchProductTooSmallUnboundVariable EmptyInput WineryMessageUnsupportedSchemaVersion Strategy' StrategyEnv StrategyBind DynDecoder BoundSchema Extractor runExtractorExtractException InvalidTermTermTBoolTCharTWord8TWord16TWord32TWord64TInt8TInt16TInt32TInt64TIntegerTFloatTDoubleTBytesTTextTUTCTimeTVectorTProductTRecordTVariant SchemaGen unSchemaGenSchemaPSFixSVarSVectorSProductSRecordSVariantSBoolSCharSWord8SWord16SWord32SWord64SInt8SInt16SInt32SInt64SIntegerSFloatSDoubleSBytesSTextSUTCTimeSTagSLetSchemaTagTagIntTagStrTagListcurrentSchemaVersionbootstrapSchemaunwrapExtractorprettyWineryException $fPrettyTag $fIsListTag $fIsStringTag$fPrettySchemaP$fApplicativeSchemaGen$fFunctorSchemaGen $fPrettyTerm $fToJSONTerm$fExceptionExtractException$fIsStringWineryException$fExceptionWineryException$fAlternativeExtractor$fApplicativeExtractor $fShowTag $fReadTag$fEqTag $fGenericTag $fShowSchemaP $fReadSchemaP $fEqSchemaP$fGenericSchemaP$fFunctorSchemaP$fFoldableSchemaP$fTraversableSchemaP $fShowTerm$fShowExtractException$fShowWineryException$fFunctorExtractorGSerialiseVariant variantSchemavariantExtractorGEncodeVariantvariantEncoderGDecodeVariantvariantDecoderGConstructorCount variantCountGSerialiseProduct productSchemaproductExtractorGSerialiseRecord recordSchemarecordExtractorGDecodeProductproductDecoderGEncodeProductproductEncoderVarInt getVarIntBundleSerialisebundleSchemaGenbundleToBuilderbundleExtractorbundleDecodeCurrent Serialise schemaGen toBuilder extractor decodeCurrentbundleSerialise bundleRecordbundleRecordDefault bundleVariant getSchemaschemaunexpectedSchema mkExtractor extractListBygschemaGenRecordgtoBuilderRecordgextractorRecordextractorRecord'gdecodeCurrentRecordgschemaGenProductgtoBuilderProductgextractorProductgdecodeCurrentProductextractorProduct'gschemaGenVariantgtoBuilderVariantgextractorVariantgdecodeCurrentVariant$fSerialiseVoid$fSerialiseComplex$fSerialiseArg$fSerialise:~:$fSerialiseOrdering$fSerialiseEither$fSerialise(,,,,,)$fSerialise(,,,,)$fSerialise(,,,)$fSerialise(,,)$fSerialise(,)$fSerialiseScientific$fSerialiseRatio$fSerialiseSeq$fSerialiseIntSet$fSerialiseSet$fSerialiseIntMap$fSerialiseHashMap$fSerialiseMap$fSerialiseVector$fSerialiseVector0$fSerialiseVector1 $fSerialise[]$fSerialiseNominalDiffTime$fSerialiseUTCTime$fSerialiseByteString$fSerialiseByteString0$fSerialiseMaybe$fSerialiseChar$fSerialiseNatural$fSerialiseText$fSerialiseDouble$fSerialiseFloat$fSerialiseInt64$fSerialiseInt32$fSerialiseInt16$fSerialiseInt8$fSerialiseWord$fSerialiseWord64$fSerialiseWord32$fSerialiseWord16$fSerialiseWord8$fSerialiseBool $fSerialise()$fSerialiseSchemaP$fSerialiseTag$fSerialiseInteger$fSerialiseVarInt$fSerialiseInt$fGEncodeProductkM1$fGEncodeProductkM10$fGEncodeProductkM11$fGEncodeProductk:*:$fGEncodeProductkU1$fGDecodeProductk:*:$fGDecodeProductkM1$fGDecodeProductkK1$fGDecodeProductkU1$fGSerialiseRecordkM1$fGSerialiseRecordkM10$fGSerialiseRecordkM11$fGSerialiseRecordk:*:$fGSerialiseProductk:*:$fGSerialiseProductkM1$fGSerialiseProductkK1$fGSerialiseProductkU1$fGConstructorCount->M1$fGConstructorCount->M10$fGConstructorCount->:+:$fGDecodeVariantkM1$fGDecodeVariantkM10$fGDecodeVariantk:+:$fGEncodeVariantkM1$fGEncodeVariantkM10$fGEncodeVariantk:+:$fGSerialiseVariantkM1$fGSerialiseVariantkM10$fGSerialiseVariantkM11$fGSerialiseVariantk:+: $fShowVarInt $fReadVarInt $fEqVarInt $fOrdVarInt $fEnumVarInt$fBoundedVarInt $fNumVarInt $fRealVarInt$fIntegralVarInt $fBitsVarInt $fSerialiseAp$fSerialiseCompose$fSerialiseAlt$fSerialiseMin$fSerialiseMax$fSerialiseOption$fSerialiseZipList$fSerialiseFirst$fSerialiseLast$fSerialiseFirst0$fSerialiseLast0$fSerialiseDual$fSerialiseSum$fSerialiseProduct$fSerialiseDown$fSerialiseAll$fSerialiseAny$fSerialiseConst$fSerialiseIdentity WineryVariantunWineryVariant WineryProductunWineryProduct WineryRecordunWineryRecord SubextractorunSubextractor encodeTermdeserialiseTerm testSerialisedecodeCurrentDefault getDecoder getDecoderBy serialisewriteFileSerialisetoBuilderWithSchema splitSchemaserialiseSchemaschemaToBuilder deserialise deserialiseByreadFileDeserialisedeserialiseSchema serialiseOnlybuildExtractor extractFieldextractFieldByextractProductItemByextractConstructorByextractConstructor extractVoid$fSerialiseWineryRecord$fSerialiseWineryProduct$fSerialiseWineryVariant$fFunctorSubextractor$fApplicativeSubextractor$fAlternativeSubextractorQueryrunQueryinvalidlistrange productItemfieldconselect$fAlternativeQuery$fApplicativeQuery$fCategoryTYPEQuery$fFunctorQuery parseQueryTestGen genTestCasesinheritedTestsTested testCases testGroupstestCase mergeTestsallTests printTestsbuildTestGroups $fGTestGen:*: $fGTestGen:+: $fGTestGenM1$fGTestGenRec1 $fGTestGenU1 $fGTestGenV1$fTestGenByteString $fTestGenText $fTestGenChar$fTestGenDouble$fTestGenFloat$fTestGenWord64$fTestGenWord32$fTestGenWord16$fTestGenWord8 $fTestGenInt $fTestGenVoid $fTestGenBool $fTestGen() $fTestGenMap$fTestGenHashMap$fTestGenVector$fTestGenVector0 $fTestGenSeq $fTestGenSet $fTestGen[]$fTestGenEither$fTestGen(,,,) $fTestGen(,,) $fTestGen(,) $fGTestGenK1 $fTestedMaybe$fTestGenMaybe $fTestedMap$fTestedHashMap$fTestedVector$fTestedVector0 $fTested(,,,) $fTested(,,) $fTested(,)$fTestedEither $fTested[] $fTestedSet $fTestedSeq$fTestedIdentity$fTestedByteString $fTestedText $fTestedChar $fTested()$fTestedDouble $fTestedFloat$fTestedWord64$fTestedWord32$fTestedWord16 $fTestedWord8 $fTestedInt $fTestedBool $fTestedVoid$fTestGenIdentityghc-prim GHC.TypesIntbaseGHC.Base Applicative AlternativerecursiveStrategynanosecondsToNominalDiffTime decodeTermbytestring-0.10.8.2Data.ByteString.Internal ByteString parseTerms