úÎw     (C) 2015 mniipBSD3mniip <mniip@mniip.com> experimentalportableSafe# generalized over the number type. + represents zero and is used to avoid the  constraint,A state of the prefix-function computation. ; points to the tail of the input at the state's position, + is the value of the prefix-function, and   is a reference to the list of 's starting from position described by . O(N).> Compute the list of prefix-function states for a given input. %O(N) and O(N) calls to the predicate.S Compute the list of prefix-function states using a given equality predicate. See < for a detailed explanation of what predicates are allowed. O(N) and O(N) plus-1's.G Compute the list of prefix-function states using a given number type. 5O(N), O(N) calls to the predicate, and O(N) plus-1's.g Compute the list of prefix-function states using a given number type and a given equality predicate.     (C) 2015 mniipBSD3mniip <mniip@mniip.com> experimentalportableSafeO(N).( Compute the prefix-function for a list.O(N+H). isInfixOf needle haystack@ tests whether needle is fully contained somewhere in haystack.O(N+H). indexOf needle haystackQ returns the index at which needle is found in haystack, or Nothing if it's not.%O(N) and O(N) calls to the predicate.@ Compute the prefix-function using a custom equality predicate.)O(N+H) and O(N+H) calls to the predicate. Compute $ using a custom equality predicate.)O(N+H) and O(N+H) calls to the predicate. Compute $ using a custom equality predicate.          !funct_IARnOnFWcBZBhvvUKLGcllData.List.Kmp.Internal Data.List.Kmp prefixFunByGenericKmpStategKmpTail gKmpLengthgKmpPrevKmpStatekmpTail kmpLengthkmpPrev kmpTraverse kmpTraverseBy gKmpTraversegKmpTraverseBy prefixFun isInfixOfindexOf isInfixByindexBygenericPrefixFungenericIndexOfgenericPrefixFunBygenericIndexBybaseGHC.BaseNothingghc-prim GHC.ClassesEq joinListsmaybeEq