diff --git a/src/Language/Lambda/Parser.hs b/src/Language/Lambda/Parser.hs index 18b84aeddd208671629e2ab7c0efdb44b4f39792..76141d15aed73f85729793d6fac5819d499f51f7 100644 --- a/src/Language/Lambda/Parser.hs +++ b/src/Language/Lambda/Parser.hs @@ -53,20 +53,20 @@ keyword :: String -> Parser () keyword = void . lexeme . string doOperation "" = "" -doOperation (x:'+':y:xs) = ubahKeChurch x ++ ubahKeChurch '+' ++ ubahKeChurch y ++ doOperation xs +doOperation (x:'*':y:xs) = ubahKeChurch '*' ++ ubahKeChurch x ++ ubahKeChurch y ++ doOperation xs doOperation (x:xs) = ubahKeChurch x ++ doOperation xs ubahKeChurch :: Char -> [Char] ubahKeChurch '+' = "(\\w y x. y (w y x))" ubahKeChurch '*' = "(\\x y z . x (y z))" -ubahKeChurch '0' = "(\\s z. z)" -ubahKeChurch '1' = "(\\s z. s z)" -ubahKeChurch '2' = "(\\s z. s (s z))" -ubahKeChurch '3' = "(\\s z. s (s (s z)))" -ubahKeChurch '4' = "(\\s z. s (s (s (s z))))" -ubahKeChurch '5' = "(\\s z. s (s (s (s (s z)))))" -ubahKeChurch '6' = "(\\s z. s (s (s (s (s (s z))))))" -ubahKeChurch '7' = "(\\s z. s (s (s (s (s (s (s z)))))))" -ubahKeChurch '8' = "(\\s z. s (s (s (s (s (s (s (s z))))))))" -ubahKeChurch '9' = "(\\s z. s (s (s (s (s (s (s (s (s z)))))))))" +ubahKeChurch '0' = "(\\s z . z)" +ubahKeChurch '1' = "(\\s z . s z)" +ubahKeChurch '2' = "(\\s z . s (s z))" +ubahKeChurch '3' = "(\\s z . s (s (s z)))" +ubahKeChurch '4' = "(\\s z . s (s (s (s z))))" +ubahKeChurch '5' = "(\\s z . s (s (s (s (s z)))))" +ubahKeChurch '6' = "(\\s z . s (s (s (s (s (s z))))))" +ubahKeChurch '7' = "(\\s z . s (s (s (s (s (s (s z)))))))" +ubahKeChurch '8' = "(\\s z . s (s (s (s (s (s (s (s z))))))))" +ubahKeChurch '9' = "(\\s z . s (s (s (s (s (s (s (s (s z)))))))))" ubahKeChurch x = [x]