山本と申します。

8章の最後に書いてあるように、この章の例題は、そのまま入力しても動きません。
Hutton さんのページから、動くコードを入手するといいでしょう。

最初の type が newtype か data でないと動きません。
また、return や >>= は、関数の本体の前にデータ構成子(入手できるコードでは P) を付ける必要があります。

その内、すべての部品が Parser という型で揃っていることがすばらしいことに気付くでしょう。
IO の場合も、do の中はすべて IO で揃っているように。

返信