If you want to use libs to make your life easier, maybe something along these lines?
Prelude Data.List.Split Safe> fmap length . headMay . split (onSublist "asdf") $ "blee blah asdf bloo" Just 10 If they are big strings, it's probably faster to use bytestrings, or arrays of some kinds, rather than default List implementation of string. 2010/6/6 R J <rj248...@hotmail.com>: > What's an elegant definition of a Haskell function that takes two strings > and returns "Nothing" in case the first string isn't a substring of the > first, or "Just i", where i is the index number of the position within the > first string where the second string begins? > > ________________________________ > Hotmail has tools for the New Busy. Search, chat and e-mail from your inbox. > Learn more. > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe