以下、コード

import IO
import Char
import Random

data Te = G|V|P|Other
deriving (Eq, Show, Read)

data Hantei = Win|Lose|Aiko
deriving (Eq, Show, Read)

strToTe str | (toLower (head str)) == 'g' = G
strToTe str | (toLower (head str)) == 'v' = V
strToTe str | (toLower (head str)) == 'p' = P
strToTe _ = Other

intToTe i | i == 1 = G
intToTe i | i == 2 = V
intToTe i | i == 3 = P


isWin m com | m == com = Aiko
isWin m com | (m == G) && (com == V) = Win
isWin m com | (m == V) && (com == P) = Win
isWin m com | (m == P) && (com == G) = Win
isWin _ _ = Lose


janken s i = isWin (strToTe s) (intToTe i)