07/07/29 23:33:00 0
早速リストモナド作ってみた。
#light
type ListBuilder () =
member m.Bind (v,f) = List.concat (List.map f v)
member m.Return x = [x]
member m.Let(v,f) = f v (*Functor?*)
let listM = new ListBuilder()
let _ = listM { let x = 100
return x }
|> print_any; print_newline();;
=> [100]