[Haskell-beginners] Non-exhaustive patterns
Brody Berg
brodyberg at gmail.com
Sat Nov 18 17:48:11 UTC 2017
Made some changes to replaceThe to handle the possibility of empty list:
replaceThe :: String -> String
replaceThe word = go $ words word
where
go [] = “”
go (x:xs) =
case (notThe x) of
Just x -> x ++ “ “ ++ go xs
Nothing -> “ a “ ++ go xs
Typed this on a phone, sorry
On Sat, Nov 18, 2017 at 09:16 Jim <jimbo4350 at gmail.com> wrote:
> Hey guys,
>
> Thiis is my function below:
>
> notThe :: String -> Maybe String
> notThe word
> | word /= "the" = Just word
> | word == [] = Just []
> | otherwise = Nothing
>
> replaceThe :: String -> String
> replaceThe word = go (words word)
> where go (x:xs)
> | notThe x == Just [] = []
> | notThe x == Just word = word ++ go xs
> | notThe word == Nothing = " a " ++ go xs
>
>
> > replaceThe "what"
> "what*** Exception: chap12.hs:(13,13)-(16,55): Non-exhaustive patterns
> in function go
>
> I thought I covered all the potential patterns in my replaceThe
> function. I'm not sure what pattern I've missed, any thoughts?
>
> Best regards,
>
> Jim
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20171118/526bfdbb/attachment.html>
More information about the Beginners
mailing list