PC      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  experimentalconal@conal.net Safe-Inferred experimentalconal@conal.netNone Strict sum functor Strict product functor Add a bottom to a type Sum on unary type constructors "#Product on unary type constructors $'Unit type constructor (one inhabitant) %Empty/'zero type constructor (no inhabitants) 'The unit value *Like  +Like  1$Case analysis on strict sum functor ' !"#$%&'()*+,-./01.  !"#$%&'()*+,-./01. %&$' ! ,"#)(*+ 1-./0! "#$%&'()*+,-./01 experimentalconal@tabula.comNone2Parallel scans. 3) accumulates moving left-to-right, while  4# accumulates moving right-to-left. 23456789:;< 23456789:;< 234659:78;<23456789:;< experimentalconal@tabula.comNoneUnary transformation =Uniform pairs =>?@ABCDEFGHIJKLM=>?@ABCDEFGHIJKLM=>?@ACBDEFGHIJKLM=>?@ABCDEFGHIJKLM experimentalconal@conal.netNoneNNNN experimentalconal@conal.netNoneOOA derivative, i.e., a one-hole context for a container f (probably a functor). OOOO experimentalconal@conal.netNoneP'Filling and creating one-hole contexts S;Location, i.e., one-hole context and a value for the hole. TAlternative interface for Q. PQ Fill a hole RAll extractions STPQRSTSPQRTPQRST experimentalconal@conal.netNoneV#Derivative, i.e., one-hole context W Fill a hole XAll extractions ;Location, i.e., one-hole context and a value for the hole. YAlternative interface for W. UVWXYUVWXYUVWXY UVWXY  experimentalconal@conal.netNoneZ(Zipper for a functor tree. Also called "location" [Context for functor fixpoints Context for a regular type \&Move upward. Error if empty context. ] Variant of \.  if empty context. Z[\]^Z[\]^[Z\]^Z[\]^  experimentalconal@conal.netNone_(Zipper for a regular type. Also called "location" `Context for a regular type a&Move upward. Error if empty context. b Variant of a.  if empty context. _`abc_`abc`_abc_`abc  experimentalconal@conal.netNone d(Domain types with associated memo tries e(Representation of trie with domain type a f4Create the trie for the entire domain of a function g?Convert k trie to k function, i.e., access k field of the trie hMemo trie from k to v (List the trie elements. Order of keys (:: k) is always the same. jTrie-based function memoizer 0Lift a memoizer to work with one more argument. kAMemoize a binary function, on its first argument and then on its 7 second. Take care to exploit any partial evaluation. lBMemoize a ternary function on successive arguments. Take care to ! exploit any partial evaluation. 8defghijklmn defghijklmn defghjklimn3defghijklmn  experimentalconal@conal.net Safe-Inferredo Strict sum r Strict pair tCurry on strict pairs uUncurry on strict pairs v%Case analysis for strict sums. Like . opqrstuvopqrstuvrstuoqpvoqprstuv  experimentalconal@conal.netNone w(Domain types with associated memo tries x(Representation of trie with domain type a y4Create the trie for the entire domain of a function z?Convert k trie to k function, i.e., access k field of the trie Strict memo trie from k to v 4Create the trie for the entire domain of a function ?Convert k trie to k function, i.e., access k field of the trie |Trie-based function memoizer 0Lift a memoizer to work with one more argument. }AMemoize a binary function, on its first argument and then on its 7 second. Take care to exploit any partial evaluation. ~BMemoize a ternary function on successive arguments. Take care to ! exploit any partial evaluation. +wxyz{|}~wxyz{|}~wxyz{|}~&wxyz{|}~ !"#$%&'()**++,-./00123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a]\^_a b c d e f b c d e f g h i j k l m n o p q r s t u u v w x g y z { k m n o|}|~`          i j   h h  functor-combo-0.3FunctorCombo.FunctorFunctorCombo.RegularFunctorCombo.ParScanFunctorCombo.PairFunctorCombo.LubFFunctorCombo.DerivativeFunctorCombo.HoleyFunctorCombo.DHoleyFunctorCombo.ZipperFixFunctorCombo.ZipperRegFunctorCombo.StrictMemoFunctorCombo.StrictFunctorCombo.NonstrictMemoTypeCompose-0.9.7Control.ComposeinId2inIdunIdinO2inOunO<~~>O:.IdbaseControl.ApplicativegetConstConstRegularPFwrapunwrapEncodeFEncencodedecode:+:!InR'InL':*:!LiftunLift:+:InRInL:*:UnitVoidvoidFunitasPairasProdfstFsndFeitherFpairFunPairFinProdinProd2eitherF'Scan prefixScan suffixScanSufScanOPreScanO preScanTweak sufScanTweak prefixScanEnc suffixScanEnc prefixSums suffixSumsPair:#fstPsndPswapPtoPfromPinPfirstPsecondPzipAunzipAinZipAcurryPuncurryPpreScanPsufScanPHasLubFDerHoleyfillCextractLocfillZipperContextupup'downHasTrieTrietrieuntrie:->:idTriememomemo2memo3onUntrie onUntrie2:+!Right'Left':*!curry'uncurry'either'STriesTriesUntrie Data.TuplefstsndjoinP$fTraversable:*: $fFoldable:*: $fMonad:*:$fApplicative:*:$fTraversable:+: $fFoldable:+: $fFunctorVoidzipunzipassocLassocRadjustLadjustR$fScan:. $fScan:*: $fScan:+:$fScanId $fScanConstUnop $fScanPair $fEncodeFPair$fTraversablePair $fMonadPair$fApplicativePair$fFoldablePairlubF $fHasLubF:*: $fHasLubFIdlassocsquishPtweak1 chainRuletweak2 extractGF $fHoley:. $fHoley:*: $fHoley:+: $fHoleyId $fHoleyConst Data.MaybeNothingFixunFix enumeratemupTreeTrieListTrieweaveboolfibft1f1trie1atrie1btrie1ctrie1dtrie1etrie1ftrie1gtrie1htrie1ift2altsf2 $fRegularTree $fRegular[] $fHasTriePair $fHasTrie(->)$fHasTrieInteger $fHasTrieInt$fHasTrieTreeTrie $fHasTrieTree$fHasTrieListTrie $fHasTrie[] $fHasTrie:. $fHasTrie:+: $fHasTrie:*: $fHasTrieId$fHasTrieConst$fHasTrie(,,,) $fHasTrie(,,) $fHasTrieBool $fHasTrie(,)$fHasTrieEither $fHasTrie() Data.Eithereither:-> ListSTriebottomsumToFfToSum $fHasTrie:+:! $fHasTrie:*:! $fHasTrieLift $fHasTrie:*! $fHasTrie:+!