map も flatMap も yield も使わずに、ScalaのforをMonadのための構文として利用する方法

注意: 遊んでみただけなので実用的ではない*1だろうし、この仕組みをあえて使ってる例全く見たこと無いし、初心者は混乱するかもしれないのであまり真面目に見ないほうがいいかもしれません

*1:ここから色々工夫しないと、pointの型書かないといけないとか、そもそもこうやってforeachを定義してもなにもメリットない?とか

続きを読む