28 lines
635 B
Markdown
28 lines
635 B
Markdown
---
|
||
date: 2024-10-30 15:42
|
||
---
|
||
#mimium
|
||
|
||
IOの順序保証とか考える
|
||
|
||
正格評価だとIOモナドとかはそもそも考える必要がない
|
||
|
||
[Algebraic Effects入門](https://v2.aintek.xyz/posts/introduction-to-algebraic-effects)
|
||
|
||
> `type 'a io = unit -> 'a`
|
||
> 純粋な値は以下のようなIOモナドにリフトできる。
|
||
> `let return x = fun () -> x`
|
||
> 計算はバインド演算子によってつなげることができる。
|
||
> `let (>>=) c1 c2 = fun () -> c2 (c1 ())`
|
||
|
||
mimiumだとバインド演算子ってこうか(ジェネリクスが必要だけども)
|
||
|
||
```rust
|
||
fn bind(f1,f2){
|
||
| | f1() |> f2
|
||
}
|
||
```
|
||
|
||
|
||
|