!Ft      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs(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. winery$A state monad. The reason being not StateN from transformers is to allow coercion for newtype deriving and DerivingVia.    (c) Fumiaki Kinoshita 2019BSD3 ProvisionalNone  4567HV_+R 3winery1Plan is a monad for computations which interpret m.:wineryA fixpoint of a decoder;wineryschema bound by l. t is a basis of the variables<winery< is a 36 that creates a function to extract a value from Term.The uG instance can be used to build a user-defined extractor. This is also v+, 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."?winery\Common representation for any winery data. Handy for prettyprinting winery-serialised data.Uwinerybinds a fixpointVwinerySVar n& refers to the n-th innermost fixpointjwinerynanoseconds from POSIX epochmwineryyA 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."nwinery7Tag is an extra value that can be attached to a schema.K+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST\iUVWXYZ[]^_`abcdefghjklmnopqrstuKnopqmT\iUVWXYZ[]^_`abcdefghjklrs?@ABCDEFGHIJKLMNOPQRS<=>69:;78345t+,-./012u(c) Fumiaki Kinoshita 2019BSD3 ProvisionalNone -.014=>?HMUVX_kce)wineryThe . instance is generically defined for variants.G"The one so like the other as could not be distinguish'd but by names."winery3Serialise a value as a product (omits field names).>"I get ideas about what's essential when packing my suitcase."wineryThe - instance is generically defined for records.]/"Remember thee! Yea, from the table of my memory I'll wipe away all trivial fond records."/winery$Encoded in variable-length quantity.winerySchema generatorwinerySerialisable datatypewinery"Obtain the schema of the datatype.winerySerialise a value.wineryIA value of 'Extractor a' interprets a schema and builds a function from ? 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 ? w 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 xwineryThis may be thrown if illegal ? is passed to an extractor.wwineryDeserialiser for a ?.("I will read anything rather than work."wineryDeserialise a d .winery,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."wineryObtain 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."wineryObtain a decoder from a schema.["A reader lives a thousand lives before he dies... The man who never reads lives only one."wineryGet a decoder from a < and a schema.winery(Serialise a value along with its schema.S"Write the vision, and make it plain upon tables, that he may run that readeth it."winery(Serialise a value along with its schema.winerySerialise a schema.wineryDeserialise a d .Q"Old wood to burn! Old wine to drink! Old friends to trust! Old authors to read!"wineryDeserialise a d  using an <.winerySerialise a schema.winery%Serialise a value without its schema.$"Any unsaved progress will be lost."xwinery time-1.9.1winery%Extract a list or an array of values.wineryExtract a field of a record.winery#Extract a field using the supplied <.winery7Construct a plan, expanding fixpoints and let bindings.winerynTries to extract a specific constructor of a variant. Useful for implementing backward-compatible extractors.winerywTries 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)  (Nothing, () -> Nothing)  extractVoidwineryGeneric implementation of  for a record.wineryGeneric implementation of  for a record.wineryGeneric implementation of  for a record.ywineryGeneric implementation of  for a record.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)ywinerydefault value (optional) +,-./012345<=>?@ABCDEFGHIJKLMNOPQRST\iUVWXYZ[]^_`abcdefghjklmnopqstuψmT\iUVWXYZ[]^_`abcdefghjklnopq <=>t ?@ABCDEFGHIJKLMNOPQRS+,-./012u345s11(c) Fumiaki Kinoshita 2019BSD3 ExperimentalNone4pl:winery"Query is a transformation between <+s. Like jq, this returns a list of values.=wineryThrow an error.>winery!Takes a list and traverses on it.?wineryTakes a list and enumerates elements in the specified range. Like Python's array slicing, negative numbers counts from the last element.@winery0Takes a record and extracts the specified field.AwineryATakes a variant and returns a value when the constructor matches.Bwinery!Propagate values if the supplied : doesn't return False. :;<=>?@AB :;<=>?@AB(c) Fumiaki Kinoshita 2019BSD3 ExperimentalNone &'SUVXswzwinery^Space-separated list of terms translate to a tabular output, applying the queries in parallelGG(c) Fumiaki Kinoshita 2019BSD3 ExperimentalNone 18=>?MSUVXki HwineryzA class to provide test values and gather tests for its components. It is recommended to use the generic default methods.IwineryA 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.Jwinery6Inherited set of test cases for each type it involves.KwineryTypes 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."/Lwinery List of test cases for the type.MwineryConstruct a test case.NwineryMerge multiple tests into one.Owinery5Gather all test cases involved in the specified type.Pwinery:Generate test cases and print them to the standard output.Mwinery the schemawinery serialisedwineryexpected HJIKLMNOP HJIPKLMON Safe{|}~       !"#$%&'()*+,-./0123456789::;<==>?@AABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01234567899:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwuvxyz{| } ~      winery-1-Icmh3EEwZZX4DdnHtaSx4rData.Winery.InternalData.Winery.Base Data.WineryData.Winery.QueryData.Winery.Query.ParserData.Winery.TestB Bytestring Paths_winery TransFusion unTransFusionStrategy unStrategyDecodeExceptionInsufficientInputIntegerOverflow InvalidTagDecoderStaterunStateunsignedVarIntvarInt evalState evalDecodergetWord8 decodeVarIntdecodeVarIntFinite getWord16 getWord32 getWord64 unsafeIndexVlookupWithIndexV indexDefault throwStrategy$fMonadFixState $fMonadState$fApplicativeState$fExceptionDecodeException$fMonadFixStrategy$fAlternativeStrategy$fMonadStrategy$fApplicativeStrategy$fApplicativeTransFusion$fFunctorTransFusion$fFunctorState$fEqDecodeException$fShowDecodeException$fReadDecodeException$fFunctorStrategyWineryExceptionUnexpectedSchema FieldNotFound TypeMismatchProductTooSmallUnboundVariable EmptyInput WineryMessagePlanunPlan Strategy' StrategyEnv StrategyBind DynDecoder BoundSchema Extractor getExtractorTermTBoolTCharTWord8TWord16TWord32TWord64TInt8TInt16TInt32TInt64TIntegerTFloatTDoubleTBytesTTextTUTCTimeTVectorTProductTRecordTVariantSchemaPSFixSVarSVectorSProductSRecordSVariantSBoolSCharSWord8SWord16SWord32SWord64SInt8SInt16SInt32SInt64SIntegerSFloatSDoubleSBytesSTextSUTCTimeSTagSLetSchemaTagTagIntTagStrTagListcurrentSchemaVersionbootstrapSchemaunwrapExtractorprettyWineryException $fPrettyTag $fIsListTag $fIsStringTag$fPrettySchemaP $fPrettyTerm $fToJSONTerm$fIsStringWineryException$fExceptionWineryException$fAlternativePlan $fMonadPlan$fApplicativePlan$fAlternativeExtractor$fApplicativeExtractor $fShowTag $fReadTag$fEqTag $fGenericTag $fShowSchemaP $fReadSchemaP $fEqSchemaP$fGenericSchemaP$fFunctorSchemaP$fFoldableSchemaP$fTraversableSchemaP $fShowTerm$fShowWineryException $fFunctorPlan$fFunctorExtractorGSerialiseVariant WineryVariantunWineryVariant WineryProductunWineryProductGSerialiseRecordGEncodeProduct WineryRecordunWineryRecord SubextractorunSubextractorVarInt getVarInt SchemaGen Serialise schemaGen toBuilder extractor decodeCurrentExtractException InvalidTermdeserialiseTerm testSerialise getSchemaschema getDecoder getDecoderBy serialisewriteFileSerialisetoBuilderWithSchema splitSchemaserialiseSchema deserialise deserialiseBydeserialiseSchema serialiseOnlyunexpectedSchema extractListBybuildExtractor extractFieldextractFieldBymkPlanextractConstructorByextractConstructor extractVoidgschemaGenRecordgtoBuilderRecordgextractorRecordgdecodeCurrentRecordgschemaGenProductgtoBuilderProductgextractorProductgdecodeCurrentProductgschemaGenVariantgtoBuilderVariantgextractorVariantgdecodeCurrentVariant$fExceptionExtractException$fApplicativeSchemaGen$fFunctorSchemaGen$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$fGSerialiseRecordkM1$fGSerialiseRecordkM10$fGSerialiseRecordkM11$fGSerialiseRecordk:*:$fSerialiseWineryRecord$fGSerialiseProductk:*:$fGSerialiseProductkM1$fGSerialiseProductkK1$fGSerialiseProductkU1$fSerialiseWineryProduct$fGSerialiseVariantkM1$fGSerialiseVariantkM10$fGSerialiseVariantkM11$fGSerialiseVariantkM12$fGSerialiseVariantk:+:$fSerialiseWineryVariant$fShowExtractException $fShowVarInt $fReadVarInt $fEqVarInt $fOrdVarInt $fEnumVarInt$fBoundedVarInt $fNumVarInt $fRealVarInt$fIntegralVarInt $fBitsVarInt$fFunctorSubextractor$fApplicativeSubextractor$fAlternativeSubextractor $fSerialiseAp$fSerialiseCompose$fSerialiseAlt$fSerialiseMin$fSerialiseMax$fSerialiseOption$fSerialiseZipList$fSerialiseFirst$fSerialiseLast$fSerialiseFirst0$fSerialiseLast0$fSerialiseDual$fSerialiseSum$fSerialiseProduct$fSerialiseDown$fSerialiseAll$fSerialiseAny$fSerialiseConst$fSerialiseIdentityQueryrunQueryinvalidlistrangefieldconselect$fAlternativeQuery$fApplicativeQuery$fCategoryTYPEQuery$fFunctorQuery parseQueryTestGen genTestCasesinheritedTestsTested testCasestestCase mergeTestsallTests printTests $fGTestGen:*: $fGTestGen:+: $fGTestGenM1$fGTestGenRec1 $fGTestGenU1 $fGTestGenV1 $fTestGenChar$fTestGenDouble $fTestGenInt $fTestGenBool $fTestGen()$fTestGenHashMap$fTestGenVector$fTestGenVector0 $fTestGenSeq $fTestGen[]$fTestGenEither$fTestGen(,,,) $fTestGen(,,) $fTestGen(,) $fGTestGenK1$fTestedHashMap$fTestedVector$fTestedVector0 $fTested(,)$fTestedEither $fTested[] $fTestedSeq$fTestedIdentity $fTestedChar $fTested()$fTestedDouble $fTestedInt $fTestedBool$fTestGenIdentityghc-prim GHC.TypesIntbaseGHC.Base Applicative Alternative decodeTermnanosecondsToNominalDiffTimeextractorRecord' parseTermsversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName