IMAP を Haskell で実装すると
>同じような構成子名がたくさん必要になる。 BODY とか、 RECENT とか、そういうのがたくさん。どうしたものだろうか。
>
>これに加えて、たとえば UID 命令は SEARCH や FETCH や STORE などのみを取りたいわけで、同じコマンド型と置くべきなのかどうかということでちょっと悩んでいる。こういうときは OCaml の polymorphic variant で合体直和すると綺麗に書ける気がするんだよなー。
>
>結論としては、無理に型にしない方がいいのかも、ってことなのかなあ。
>