タグ

maybeに関するpoad1010のブックマーク (2)

  • map も flatMap も yield も使わずに、ScalaのforをMonadのための構文として利用する方法 - xuwei-k's blog

    注意: 遊んでみただけなので実用的ではない*1だろうし、この仕組みをあえて使ってる例全く見たこと無いし、初心者は混乱するかもしれないのであまり真面目に見ないほうがいいかもしれません forでyield使わなくても、foreachが値を返す場合、for全体も値を返すのですね・・・ https://gist.github.com/xuwei-k/5611368 「pointとbindさえ実装すればMonadだよ!」*2というのがわかりやすいように、わざとtrait作りましたが、べつにforeachを直接MaybeやConsListに実装しても同じです *1:ここから色々工夫しないと、pointの型書かないといけないとか、そもそもこうやってforeachを定義してもなにもメリットない?とか *2:そして、foreachは通常ではUnit返すのに、そうではなく foreach == bind ==

    map も flatMap も yield も使わずに、ScalaのforをMonadのための構文として利用する方法 - xuwei-k's blog
  • Java の語彙で Maybe を説明してみる - ぐるぐる~

    java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー を読んで。 Maybe は値があるかないかを型で表すことができます!そう、直和型なんです!とか言われてもイミフだと思うのです(リンク先のエントリがそう説明してるわけではないですが)。 Java の語彙で Maybe の説明をできたら嬉しい人もいるんじゃないかなぁ、とかなんとか。 ただし、書いてたら結構長くなりました。時間がある人はどうぞ。 Maybe? null より安全に「値がないこと」が扱えるものだよ スタート地点としてはこれでいいでしょう。 以降で、「なんで安全なの?」という全うな疑問に答えてみたいと思います。 問題点 int で説明すると煙に巻いてしまうような気がしたので、User クラスを見てみます。 import java.util.*; class User { final String name;

    Java の語彙で Maybe を説明してみる - ぐるぐる~
  • 1