diff --git a/content/mimiumでMIDIインプットを実装.md b/content/mimiumでMIDIインプットを実装.md new file mode 100644 index 00000000..b60fba39 --- /dev/null +++ b/content/mimiumでMIDIインプットを実装.md @@ -0,0 +1,27 @@ +--- +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 +} +``` + + + diff --git a/content/private b/content/private index 1f600c94..290bc582 160000 --- a/content/private +++ b/content/private @@ -1 +1 @@ -Subproject commit 1f600c949a58c854b32f1b5d61ffc6fe4f8bad66 +Subproject commit 290bc582d6210c7181eca8ed60ae467293b9de19