úÎ!óźç‚Ê      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Чš©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉNone %&',-./=>?@AGHPQSUVX_efgkN54 row-types)A lower fixity operator for type equalityÊ row-typesThere doesn't seem to be a ( =.?) :: Symbol -H Symbol -> Bool, so here it is in terms of other ghc-7.8 type functionsË row-typesKReturns the left list with all of the elements from the right list removed.Ì row-types"Type level Row modification helper row-typesfZips two rows together to create a Row of the pairs. The two rows must have the same set of labels. row-typesnTake two rows with the same labels, and apply the type operator from the first row to the type of the second. row-types%Map a type level function over a Row. row-types A type synonym for disjointness. row-types(Is the first row a subset of the second? row-types)Are all of the labels in this Row unique? row-types4A convenient way to provide common, easy constraints  row-typesThe labels in a Row.  row-typesA pair of constraints  row-types"A null constraint of two arguments  row-types!A null constraint of one argumentÍ row-typesA null constraint  row-typesŸAny structure over two rows in which the elements of each row satisfy some constraints can be metamorphized into another structure over both of the rows. row-typesYA metamorphism is a fold followed by an unfold. This one is for product-like row-types. row-typesUA metamorphism is a fold followed by an unfold. This one is for sum-like row-types.Î row-typesAn internal type used by the  in /. row-typesA class to capture the idea of 3 so that it can be partially applied in a context. row-types{This data type is used to for its ability to existentially bind a type variable. Particularly, it says that for the type a, there exists a t& such that 'a ~ f t' and 'c t' holds. row-typesŠAny structure over a row in which every element is similarly constrained can be metamorphized into another structure over the same row. row-typesdA metamorphism is an unfold followed by a fold. This one is for product-like row-types (e.g. Rec). row-types`A metamorphism is an unfold followed by a fold. This one is for sum-like row-types (e.g. Var). row-types+A type level way to create a singleton Row. row-types Alias for  (r .! l) "H aK. It is a class rather than an alias, so that it can be partially applied. row-types Alias for #K. It is a class rather than an alias, so that it can be partially applied. row-typesjThe overwriting union, where the left row overwrites the types of the right row where the labels overlap. row-types!The minimum join of the two rows. row-typesType level Row append row-types%Type level Row difference. That is, l  r? is the row remaining after removing any matching elements of r from l. row-typesType level Row element removal row-typesType level label fetching  row-typesType level row renaming! row-typesType level Row modification" row-typesType level Row extension# row-types>Does the row lack (i.e. it does not have) the specified label?$ row-types1Elements stored in a Row type are usually hidden.& row-typesType level version of empty' row-typesA label) row-typesOThe kind of elements of rows. Each element is a label and its associated type.+ row-typesThe kind of rows. This type is only used as a datakind. A row is a typelevel entity telling us which symbols are associated with which types., row-typesÌA row is a list of symbol-to-type pairs that should always be sorted lexically by the symbol. The constructor is exported here (because this is an internal module) but should not be exported elsewhere.- row-types$A helper function for showing labels. row-types0A helper function to turn a Label directly into Ï./ row-typesFThis allows us to derive a `Forall (Map f r) ..` from a `Forall r ..`.0 row-types#Map preserves uniqueness of labels.1 row-types Allow any  over a row-type, be usable for  .2 row-types?This allows us to derive `Map f r .! l "H f t` from `r .! l "H t`3 row-types*Return a list of the labels in a row type.4 row-typesDReturn a list of the labels in a row type and is specialized to the   constraint. row-types&The way to transform the empty element row-types The unfold row-typesThe fold row-typesThe input structure row-types&The way to transform the empty element row-types The unfold row-typesThe fold row-typesThe input structure5  !"#$%&'()*+,-./012345+,'()*&$%"! #   34-./102 47666665#4None%&',-./=>?@AGHPQSUVX_efgkŸä3Đ row-types‰Conversion helper to turn a Haskell record into a row-types extensible record. Note that the native Haskell type must be an instance of Generic.Ń row-typesxConversion helper to bring a record back into a Haskell type. Note that the native Haskell type must be an instance of Generic.Ò row-typesxConversion helper to bring a record back into a Haskell type. Note that the native Haskell type must be an instance of Generic.Ó row-typesGRZipPair is used internally as a type level lambda for zipping records.Ô row-typesHRMap is used internally as a type level lambda for defining record maps.F row-typesA record with row r.G row-types?A pattern version of record union, for use in pattern matching.H row-types‘A pattern for the singleton record; can be used to both destruct a record when in a pattern position or construct one in an expression position.I row-typesThe empty recordJ row-typesThe singleton recordK row-types<Turns a singleton record into a pair of the label and value.L row-types~Record extension. The row may already contain the label, in which case the origin value can be obtained after restriction () with the label.M row-types+Update the value associated with the label.N row-types-Focus on the value associated with the label.O row-typesFocus on a sub-recordP row-typesRename a label.Q row-typesRecord selectionR row-types7Record restriction. Remove the label l from the record.S row-types#Record disjoint union (commutative)T row-typesRecord overwrite.The operation r .// r' creates a new record such that:Any label that is in both r and r'N is in the resulting record with the type and value given by the fields in r, Any label that is only found in r is in the resulting record. Any label that is only found in r' is in the resulting record.This can be thought of as r "overwriting" r'.U row-types$Split a record into two sub-records.V row-typesEArbitrary record restriction. Turn a record into a subset of itself.W row-typesIRemoves a label from the record but does not remove the underlying value.,This is faster than regular record removal (°) but should only be used when either: the record will never be merged with another record again, or a new value will soon be placed into the record at this label (as in, an M# that is split over two commands).-If the resulting record is then merged (with ]) with another record that contains a value at that label, an "impossible" error will occur.X row-typesA standard foldY row-typesA fold with labelsZ row-types+A fold over two row type structures at once[ row-typesTurns a record into a ŐD from values representing the labels to the values of the record.\ row-types3A function to map over a record given a constraint.] row-types5A function to map over a Ap record given constraints.^ row-types4A function to map over a record given no constraint._ row-typeswLifts a natural transformation over a record. In other words, it acts as a record transformer to convert a record of f a values to a record of g aQ values. If no constraint is needed, instantiate the first type argument with   or use `.` row-types A version of _! for when there is no constraint.a row-types A version of b in which the constraint for  can be chosen.b row-types%Applicative sequencing over a record.c row-types A version of d in which the constraint for  can be chosen.d row-types”Convert from a record where two functors have been mapped over the types to one where the composition of the two functors is mapped over the types.e row-types A version of f in which the constraint for  can be chosen.f row-types±Convert from a record where the composition of two functors have been mapped over the types to one where the two functors are mapped individually one at a time over the types.g row-types;Zips together two records that have the same set of labels.h row-typesÿ1A helper function for unsafely adding an element to the front of a record. This can cause the resulting record to be malformed, for instance, if the record already contains labels that are lexicographically before the given label. Realistically, this function should only be used when writing calls to .i row-types7Initialize a record with a default value at each label.j row-typesFInitialize a record with a default value at each label; works over an Ö.k row-typeshInitialize a record, where each value is determined by the given function over the label at that value.l row-types†Initialize a record, where each value is determined by the given function over the label at that value. This function works over an Ö.m row-types*Initialize a record that is produced by a .n row-types Converts a F into a Ő of Śs.o row-types Produces a F from a Ő of Śs.p row-types*Convert a record to a native Haskell type.q row-types<Convert a record to an exactly matching native Haskell type.r row-types,Convert a Haskell record to a row-types Rec.t row-types.Every field in a row-types based record has a Ű instance.I !"#&'(+34CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrI'(F+&IJHKijklmL"#RVUMNO!P QSGTpqrEDCno\^]_`XYZ[gbadfce34WhG6H7J7R6S6None%&',-./=>?@AGHPQSUVX_efgkĘ/$Ù row-types‹Conversion helper to turn a Haskell variant into a row-types extensible variant. Note that the native Haskell type must be an instance of Generic.Ú row-types‹Conversion helper to turn a Haskell variant into a row-types extensible variant. Note that the native Haskell type must be an instance of Generic.Û row-typesyConversion helper to bring a variant back into a Haskell type. Note that the native Haskell type must be an instance of Generic.Ü row-typesIVMap is used internally as a type level lambda for defining variant maps. row-typesThe variant type.‘ row-types†A pattern for variants; can be used to both destruct a variant when in a pattern position or construct one in an expression position.’ row-typescAn unsafe way to make a Variant. This function does not guarantee that the labels are all unique.“ row-types)A Variant with no options is uninhabited.” row-types2A quick constructor to create a singleton variant.• row-types*A quick destructor for singleton variants.– row-types*Make the variant arbitrarily more diverse.— row-types_If the variant exists at the given label, update it to the given value. Otherwise, do nothing.˜ row-typeshIf the variant exists at the given label, focus on the value associated with it. Otherwise, do nothing.™ row-typesRename the given label.š row-typesƒConvert a variant into either the value at the given label or a variant without that label. This is the basic variant destructor.› row-types A version of š# that ignores the leftover variant.œ row-typesA trial over multiple types row-typesXA convenient function for using view patterns when dispatching variants. For example:   myShow :: Var ("y" '::= String :| "x" '::= Int :| Empty) -> String myShow (view x -> Just n) = "Int of "++show n myShow (view y -> Just s) = "String of "++sž row-types&Split a variant into two sub-variants.Ÿ row-typesGArbitrary variant restriction. Turn a variant into a subset of itself.  row-typesA standard foldĄ row-typesA fold with labelsą row-types+A fold over two row type structures at onceŁ row-types4A function to map over a variant given a constraint.€ row-types5A function to map over a variant given no constraint.„ row-typeszLifts a natrual transformation over a variant. In other words, it acts as a variant transformer to convert a variant of f a values to a variant of g aQ values. If no constraint is needed, instantiate the first type argument with  .Š row-types A form of  transformC# that doesn't have a constraint on a§ row-types%Applicative sequencing over a variantš row-types•Convert from a variant where two functors have been mapped over the types to one where the composition of the two functors is mapped over the types.© row-typesČConvert from a variant where the composition of two functors have been mapped over the types to one where the two functors are mapped individually one at a time over the types.Ș row-typesÿBA helper function for unsafely adding an element to the front of a variant. This can cause the type of the resulting variant to be malformed, for instance, if the variant already contains labels that are lexicographically before the given label. Realistically, this function should only be used when writing calls to .« row-typesžInitialize a variant from a producer function that accepts labels. If this function returns more than one possibility, then one is chosen arbitrarily to be the value in the variant.Ź row-types+Convert a variant to a native Haskell type.­ row-types,Convert a Haskell record to a row-types Var.ź row-types,Convert a Haskell record to a row-types Var.° row-types6Every possibility of a row-types based variant has an Ę instance.8 !#&'(+3Ž‘’“”•–—˜™š›œžŸ ĄąŁ€„Чš©Ș«Ź­ź8'(+&‘”•«#–—˜!™ “š›œŸžŹ­źŽŁ€„Š Ąą§š©3’ȘNone%&',-./=>?@ACGHPQSUVX_efgkćĆ row-typesA  and a F, can combine if their rows line up properly.Æ row-types€Given a Variant and a Record of functions from each possible value of the variant to a single output type, apply the correct function to the value in the variant.Ç row-types The same as switch% but with the argument order reversedĆÆÇĆÆÇNone%&',-./=>?@AGHPQSUVX_efgkæ>(#&'(+3FGHIJQRST‘“–š›œĆÆÇ('(F+&#ĆÆÇIJHRQSGT‘–“š›œ3Ț      !"#$%&'()*++,--./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST&%#!UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒHJŽ‘’O“QRT”•–—UVXYZ\^_`bdfhkpr˜™š›œžŸ ĄąŁ€„‰Š‹§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇžșÈÄÉÊË(row-types-0.3.1.0-CWkTnSeUNQjFbEW1sQ4wkwData.Row.InternalData.Row.RecordsData.Row.VariantsData.Row.SwitchData.Rowbase GHC.TypeLits KnownSymbol≈ZipApMapDisjointSubsetAllUniqueLabels WellBehavedLabels BiConstraintUnconstrained2Unconstrained1BiForall biMetamorph biMetamorph'IsAasAsForall metamorph metamorph'.==HasTypeLacks.//.\/.+.\\.-.!RenameModifyExtend.\HideTypeEmptyLabelLT:->RowRshow'toKey mapForall uniqueMap freeForallmapHaslabelslabels' $fShowLabel $fForallkRc $fForallkRc0 $fIsAkkcff$fBiForallk1k2RRc$fBiForallk1k2RRc1$fUnconstrained$fUnconstrained1ka$fUnconstrained2kkab$fBiConstraintkkc1c2xy $fLackslr$fIsLabelxLabel $fHasTypeklar $fEqLabel FromNative ToNativeExactToNativeRec:+:==empty unSingletonextendupdatefocus multifocusrenamesplitrestrict unsafeRemoveeraseeraseWithLabelseraseZiperaseToHashMapmapmapFmap' transform transform' sequence'sequencecompose'compose uncompose' uncomposezipunsafeInjectFrontdefault'defaultA fromLabels fromLabelsAfromLabelsMapA toDynamicMapfromDynamicMaptoNative toNativeExact fromNative$fHasField'nameReca$fHasFieldnameRecRecab $fNFDataRec $fBoundedRec$fOrdRec$fEqRec $fShowRec $fGenericRecR$fGenericRecR0$fGenericRecR1 $fGenericRec$fToNativeGk:*:ρ$fToNativeGkM1ρ$fToNativeGkU1ρ$fToNativeGkM1ρ0$fToNativeGkM1ρ1$fToNativeExactGk:*:ρ$fToNativeExactGkM1ρ$fToNativeExactGkU1R$fToNativeExactGkM1ρ0$fToNativeExactGkM1ρ1$fFromNativeGk:*:ρ$fFromNativeGkM1ρ$fFromNativeGkU1R$fFromNativeGkM1ρ0$fFromNativeGkM1ρ1FromNativeExactVarIsJust unsafeMakeVar impossible singleton diversifytrialtrial' multiTrialviewfromNativeExact$fAsConstructor'nameVara$fAsConstructornameVarVarab $fNFDataVar$fOrdVar$fEqVar $fShowVar $fGenericVarR$fGenericVarR0$fGenericVarR1 $fGenericVar$fToNativeGk:+:ρ$fToNativeGkV1R$fFromNativeGk:+:ρ$fFromNativeGkV1ρ$fFromNativeExactGk:+:ρ$fFromNativeExactGkM1ρ$fFromNativeExactGkV1R$fFromNativeExactGkM1ρ0Switchswitchcaseon $fSwitchRRb $fSwitchRRx<=.?DiffModifyR Unconstrained MapForall text-1.2.3.1Data.Text.InternalText FromNativeGToNativeExactG ToNativeGRecPairRMap3unordered-containers-0.2.10.0-b9YJCQLkMeLUf311RZkQDData.HashMap.BaseHashMapGHC.Base Applicative Data.DynamicDynamic+generic-lens-1.2.0.1-KjAHvp3mW8W5L6xFkTrUyHData.Generics.Product.FieldsHasFieldFromNativeExactGVMapData.Generics.Sum.Constructors AsConstructor