On Tue, Jul 17, 2012 at 11:34 PM, Richard O'Keefe <[email protected]> wrote: > Here are two other possible reasons. > > It's not just easier, stripPrefix pfx lst is *possible* as long > as pfx is finite, even when lst is infinite. The same would not > be true of a suffix stripper.
Isn't this the case with isSuffixOf, though? And yet it's there along with isPrefixOf... > It's so easy to write > > stripSuffix sfx lst = > case stripPrefix (reverse sfx) (reverse lst) of > Nothing -> Nothing > Just ys -> Just (reverse ys) Sure, it's not difficult to write such a function; the issue is the asymmetry (and thus, broken user expectations) based on the rest of the library. > I can think of two cases where I'd want something like this. > One is manipulating file extensions, where I'd want to use > System.FilePath.splitExtension or something like that anyway. > The other is suffix stripping for text processing, where I'd > want to use a trie to match a whole lot of possible suffixes. For what it's worth, there are a lot of other cases (outside of file path handling) in which I've found it useful. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
