[英]How IO operations working on F#
在haskell上有IO monad以保持纯净。 我知道f#/ ocaml支持可变状态,但IO操作实际上是如何工作的。 haskell的IO monad的相应概念是什么?
F#并不纯粹。 它继承了Caml传统,即允许IO和状态更改(例如,分配给可变变量)。 例如:
let f : int -> int =
fun x ->
printf "Hello\n";
x+1
printf "%d\n" (f 1 + f 2) (* prints Hello twice, then 5 *)
但是,如果要使用它们,仍然可以在F#中找到Monads。 计算表达式大致对应于monad。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.