úÎ!N¥EQ—      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–Safe16¢recursion-schemesBase Functor for (C) 2008-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett <ekmett@gmail.com> experimental non-portableSafe&'016;<=>FQTV)òrecursion-schemesBase functor of [].%recursion-schemesFokkinga's postpromorphism&recursion-schemesA generalized postpromorphism,recursion-schemesFokkinga's prepromorphism5recursion-schemesA generalized catamorphism6recursion-schemesA generalized catamorphism8recursion-schemesA generalized anamorphism9recursion-schemesA generalized anamorphism;recursion-schemesA generalized hylomorphism<recursion-schemesA generalized hylomorphism—recursion-schemes1Lambek's lemma provides a default definition for ( in terms of ) and "˜recursion-schemes>The dual of Lambek's lemma, provides a default definition for " in terms of # and (Jrecursion-schemesCourse-of-value iterationPrecursion-schemesMendler-style iterationQrecursion-schemes'Mendler-style course-of-value iterationRrecursion-schemesElgot algebrasSrecursion-schemesElgot coalgebras: 0http://comonad.com/reader/2008/elgot-coalgebras/Trecursion-schemes!Zygohistomorphic prepromorphisms:&A corrected and modernized version of Chttp://www.haskell.org/haskellwiki/Zygohistomorphic_prepromorphisms™recursion-schemesWRead a list (using square brackets and commas), given a function for reading elements.]recursion-schemes/It may be better to work with the instance for š directly.#recursion-schemesa (Base t)-coalgebrarecursion-schemesseedrecursion-schemesresulting fixed point)recursion-schemesa (Base t)-algebrarecursion-schemes fixed pointrecursion-schemesresult5recursion-schemesa distributive lawrecursion-schemesa (Base t)-w-algebrarecursion-schemes fixed point6recursion-schemesa distributive lawrecursion-schemesa (Base t)-w-algebrarecursion-schemes fixed point8recursion-schemesa distributive lawrecursion-schemesa (Base t)-m-coalgebrarecursion-schemesseed9recursion-schemesa distributive lawrecursion-schemesa (Base t)-m-coalgebrarecursion-schemesseedCrecursion-schemes(A distributive for semi-mutual recursion= !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST=. @'()*+,-F5BDJK=NO7/0CELM>?!"#$%&8:GHI1;A26394<PQRSTSafeQVD¶ recursion-schemesRules of renaming data names‘recursion-schemes9Build base functor with a sensible default configuration.e.g. `data Expr a = Lit a | Add (Expr a) (Expr a) | Expr a :* [Expr a] deriving (Show) ‘ ''Expr  will create Gdata ExprF a x = LitF a | AddF x x | x :*$ [x] deriving (›, œ, ) type instance Base (Expr a) = ExprF a instance  Recursive (Expr a) where project (Lit x) = LitF x project (Add x y) = AddF x y project (x :* y) = x :*$ y instance  Corecursive (Expr a) where embed (LitF x) = Lit x embed (AddF x y) = Add x y embed (x :*$ y) = x :* y  ‘ = ’ “ Notes:‘n works properly only with ADTs. Existentials and GADTs aren't supported, as we don't try to do better than  lhttps://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#deriving-functor-instancesGHC's DeriveFunctor.’recursion-schemes/Build base functor with a custom configuration.“recursion-schemesDefault  : append F or $, to data type, constructors and field names.”recursion-schemes"How to name the base functor type.Default is to append F or $.•recursion-schemes1How to rename the base functor type constructors.Default is to append F or $.–recursion-schemes=How to rename the base functor type field names (in records).Default is to append F or $.žrecursion-schemes$makes clauses to rename constructorsŸrecursion-schemesExtract type variables recursion-schemes&Apply arguments to a type constructor.¡recursion-schemesProvides substitution for types‘’“”•–‘’“”•–SafeE,¢£¤¥¦§¨©ª       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢ £¤ ¥¦§¨©ª«¬­®¯°±²³.recursion-schemes-5.0.3-ACIBsg3cmrpDlJL1QQHQQxData.Functor.BaseData.Functor.FoldableData.Functor.Foldable.TH Data.ListNonEmptyPaths_recursion_schemes NonEmptyFheadtail$fBitraversableNonEmptyF$fBifoldableNonEmptyF$fBifunctorNonEmptyF$fTraversableNonEmptyF$fFoldableNonEmptyF$fFunctorNonEmptyF$fRead1NonEmptyF$fRead2NonEmptyF$fShow2NonEmptyF$fShow1NonEmptyF$fOrd1NonEmptyF$fOrd2NonEmptyF$fEq1NonEmptyF$fEq2NonEmptyF $fEqNonEmptyF$fOrdNonEmptyF$fShowNonEmptyF$fReadNonEmptyF$fGenericNonEmptyF$fGeneric1NonEmptyFNuMuFixListFNilCons Corecursiveembedanaapopostprogpostpro RecursiveprojectcataparagparapreprogpreproBasedistPara distParaThylofoldunfoldrefoldgcatagfolddistCataganagunfolddistAnaghylogrefoldfutudistFutu distGFutuunfixrefixzygodistZygogzygo distZygoTgapodistApodistGApo distGApoThistoghisto distHisto distGHistochronogchronomcatamhistoelgotcoelgotzygoHistoPrepro$fCorecursiveF $fRecursiveF$fCorecursiveEither$fRecursiveEither$fCorecursiveMaybe$fRecursiveMaybe$fCorecursiveFreeT$fRecursiveFreeT$fCorecursiveFree$fRecursiveFree$fCorecursiveCofreeT$fRecursiveCofreeT$fCorecursiveCofree$fRecursiveCofree$fCorecursiveNatural$fRecursiveNatural$fCorecursiveNonEmpty$fRecursiveNonEmpty$fCorecursive[] $fRecursive[]$fBitraversableListF$fBifoldableListF$fBifunctorListF$fTraversableListF$fFoldableListF$fFunctorListF $fRead1ListF $fRead2ListF $fShow2ListF $fShow1ListF $fOrd1ListF $fOrd2ListF $fEq1ListF $fEq2ListF$fCorecursiveFix$fRecursiveFix $fReadFix $fShowFix$fOrdFix$fEqFix$fReadMu$fShowMu$fOrdMu$fEqMu$fCorecursiveMu $fRecursiveMu$fReadNu$fShowNu$fOrdNu$fEqNu $fRecursiveNu$fCorecursiveNu $fEqListF $fOrdListF $fShowListF $fReadListF$fGenericListF$fGeneric1ListF $fDataFix BaseRulesmakeBaseFunctormakeBaseFunctorWith baseRules baseRulesType baseRulesConbaseRulesFieldlambekcolambek _readListWith!free-5.0.2-L75JkuGD6V4Lb8R11cPiVHControl.Monad.Free.ChurchFbaseGHC.BaseFunctor Data.FoldableFoldableData.Traversable Traversable mkMorphismtypeVarsconAppsT substTypeversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName