この 1 週間か 2 週間、私のコンピューター サイエンスのクラスで、「原則変換」によって関数を単純化および短縮する方法を示すように求められました。私たちはこれらの課題についてフィードバックを受け取っていないので、私がそれを正しく行っているかどうかわかりません.
これが私の最新の演習であり、解決策への私の試みです:
Show by a series of principled transformations that we can define:
char :: Char -> Parser Char
char c = satisfy (c==)
as
char :: Char -> Parser Char
char = satisfy . (==)
私の試み:
char c = satisfy (c==)
=> char c = satisfy . c==
=> char c = satisfy . flip ==c
=> char = satisfy . flip ==
=> char = satisfy . (==)
フィードバックをいただけますか?割り当て用に提供されたコードは不完全であるため、コンパイルして各変換が機能するかどうかをテストすることはできません。変換を自分でテストするために同様の関数セットを作成しようとしましたが、残念ながら私は Haskell が非常に苦手で、初めてなので、それもわかりませんでした。