/
最近
.rdf
追記
編集
設定
本棚
翌日へ
前日へ
脳log
[20140604]
2014年06月04日 (水)
「
Swiftことはじめ:String?のクエスチョンマークって何? - shoma2da's diary
」■プリミティブ型に nullを代入できない、できなかった Javaと C#があり、変数に型がないのでなんでもかんでも nullを代入できる/返してくる Rubyがあり、Nullable/Optionalというプリミティブ型に対しても選択的・明示的に null/無効な値を代入可能にする汎用型があり、nullを安全・便利・透過的に扱うための何とかいう方法(Option/Maybe?モナド?)がある。それが Apple Swiftの ? と ! であると?■モナドわかりません。「
Java8でのプログラムの構造を変えるOptional、ただしモナドではない - きしだのはてな
」よくわからないモナドというものに抱いているイメージ「世界を反転させる」「世界線(※シュタゲ)」「平行宇宙」なるほどわからんわけだ。引数が決まれば出力が決まる、それが連鎖したガチガチの一本道の運命になぞらえることができるプログラムに対して、外部から与えられる初期条件・変動要因・パラメータ、だよね?この分野は Wikipediaが全然理解を助けてくれなくて困る。■■■.NETと JVMと LLVMがある以上は mrubyという選択が必然なのかしらん。■■■Rubyの名前を出した所で JavaScriptの名前を出さなかったのは、JSは nullも undefinedもあるのに indexOfが返す無効な値は -1 なんだよなーと思って。それはたぶん 0(有効なインデックス) が nullや undefinedと同じく falsyであったり、nullが 0以上0以下だったりする(だがイコールではない。undefinedはまた違うルールに従う) JSにおける妥当な選択なんだろう。それが望ましいかはともかく。■C++での事例?「
エラー値と正常値を表す汎用的な型:expected - Faith and Brave - C++で遊ぼう
」■■■@2014-07-10「
[PDFは予期していない] N4015: A proposal to add a utility class to represent expected monad / optional<T>をより汎用化して、Haskellのモナド風味にしたライブラリ、Expected<E, T>の提案。
」
翌日へ
前日へ