DEV Community

loading...

Discussion on: Daily Challenge #307 - Spanish Conjugator

Collapse
aminnairi profile image
Amin

Haskel

conjugate :: String -> [String]
conjugate verb
    | suffix == "er"    = prepend base ["o", "es", "e", "emos", "eis", "en"]
    | suffix == "ir"    = prepend base ["o", "es", "e", "imos", "is", "en"]
    | otherwise         = prepend base ["o", "as", "a", "amos", "ais", "an"]
    where
        untilSuffix         = length verb - 2
        base                = take untilSuffix verb
        suffix              = drop untilSuffix verb
        prepend word words  = map ((++) word) words
Enter fullscreen mode Exit fullscreen mode