/Haskell 8


Copyright (c) 2009 2010 Bryan O'Sullivan
License BSD-style
Maintainer [email protected]
Stability experimental
Portability GHC
Safe Haskell None
Language Haskell2010


Warning: this is an internal module, and does not have a stable API or name. Functions in this module may not check or enforce preconditions expected by public modules. Use at your own risk!

Fast substring search for lazy Text, based on work by Boyer, Moore, Horspool, Sunday, and Lundh. Adapted from the strict implementation.

indices Source


:: Text

Substring to search for (needle)

-> Text

Text to search in (haystack)

-> [Int64]

O(n+m) Find the offsets of all non-overlapping indices of needle within haystack.

This function is strict in needle, and lazy (as far as possible) in the chunks of haystack.

In (unlikely) bad cases, this algorithm's complexity degrades towards O(n*m).

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).