[Haskell-cafe] testing for same characters in lists of strings
Justin Bailey
jgbailey at gmail.com
Tue Apr 8 14:17:00 EDT 2008
On Tue, Apr 8, 2008 at 10:24 AM, Jackm139 <jackmarathon at gmail.com> wrote:
> import List
>
> same :: [[Char]] -> [[Char]] -> Bool
> same [xs] [ys] = map (normalize) [[xs]] == map (normalize) [[ys]]
>
> normalize :: [String] -> [String]
> normalize [xs] = [(sort (nub xs))]
>
Your pattern binding [xs] and [ys] says to only match when the list
contains one element. Otherwise, you get a pattern-matching failure at
run-time. Use "normalize xs" to match a list of strings, and "same xs
ys" to match lists of lists. xs and ys will have different types with
those patterns, but you'll get it.
Justin
More information about the Haskell-Cafe
mailing list