# Non-exhaustive patterns

4 messages
Open this post in threaded view
|

## Non-exhaustive patterns

 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 [hidden email] http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
Open this post in threaded view
|

## Re: Non-exhaustive patterns

 Made some changes to replaceThe to handle the possibility of empty list:replaceThe :: String -> StringreplaceThe word = go \$ words word   where       go [] = “”      go (x:xs) =         case (notThe x) of            Just x -> x ++ “ “ ++ go xs            Nothing -> “ a “ ++ go xsTyped this on a phone, sorry On Sat, Nov 18, 2017 at 09:16 Jim <[hidden email]> 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 [hidden email] http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners _______________________________________________ Beginners mailing list [hidden email] http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners