私はこのコードスニペットを持っています:
palindrome :: String -> Bool
palindrome x = x == reverse x
これをポイントフリースタイルで書き直す方法はありますか?
はい。
palindrome :: String -> Bool
palindrome = ap (==) reverse
palindrome :: String -> Bool
palindrome = uncurry (==) . (id &&& reverse)
(&&&)
はControl.Arrowで定義されているため、(f &&& g) x = (f x, g x)
.