起きた
type State s r = s -> (r, s)
bind :: State s a -> (a -> State s b) -> State s b
とすれば
bind sa func = \s -> func (fst (sa s))
加えて
return :: a -> State r a
return a = \s -> (a, s)
を付ければめでたくモナド
概念的にモナドが非常にしっくりくる場面として非同期操作を繋いでいく(JSでいうPromiseやJavaでいうFuture)があります
色々ぐぐって読んでるけど、オレンジがなんか作る場合、ぐちゃぐちゃに試作してる時は状態は外に持っていて清書する時は状態を中に持つようになるみたいな感じになるけど、その逆をするみたいでなんか・・・なんだろう><;
完全に主観で感覚でしかないけど、電子回路で言う所の「ブレッドボードで試作してから本番の機械の回路を作る」みたいなのを逆に、「完成品の機械(オブジェクト指向的?><;)は正しくないのでブレッドボードで作りましょう」みたいに感じる><;
OOとFPの対立みたいに見えるけどポピュラーなOO言語の機能セットとポピュラーなFP言語の機能セットとのギャップだと思いますね
Haskellは一見すると継承と隠蔽がなくてかつイミュータブル強制なのでそのギャップがあるんだけど、よくよく考えるとイミュータブルなオブジェクトはJavaでも普通に書けるんですね。
SMLやOCamlなどは参照が使えるしF#やScalaはその上private指定までできるので実際にはHaskellのような極端な言語は少ないかと。
@osapon いきなりすいません。おさぽんさん作の「フォローリンク」のソースを見てて気づいたんですが、これは自鯖にキャッシュ持ってやってるんでしょうか。自分も同じような事しようとして鯖への負担が気になっていて……
アイヌには「訳に立つ優れた道具にもカムイが宿っている」というカムイ観があったと記憶してるんですが、これって最近のおたくがよく使う「はさみ、ものが切れるので神」みたいな宗教観なんだろうか?
ふと思い立って新規登録の設定を変更して「サーバ内のユーザであれば誰でも招待リンクを作成できる」にしておいたので誰かをMastodonに誘導したいけど適切なサーバが見つからないという場合に使ってください
末代鯖に浸かりすぎて自鯖(なゆかな)に顔出さなくて申し訳ないんですけど精神が安定していて外向きになっているという事だと思ってください……言い訳ですが……
普段の用途では末代で事足りるし便利だし末代の方がちゃんとメンテされていると思ってるからなんですけど、それはそれとしていざという時に自分の不可侵の領域は常に必要なので出来る限りなゆかなは維持されます。
バックアップ取るためのストレージの余裕がないのでなんとかしてConoHaの設定から別のストレージをアタッチしてやる必要があるんですね。
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.