You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Scaladays2014の写真がtwitter上で流れてきて「あーまたrunaroramaさん、Free Monadの話してるのかー」と思ったら、たしかにFree Monadの話もしてたみたいですが、それの発展形(?)的な感じで、Coproductや、Injectという型クラス(?)の話をしていたようです。 Woah, Coproducts (URL as replacement for transformer stacks look pretty cool! URL /cc @runarorama 2014-06-17 20:43:56 via Twitter Web Client それで、*1コードを読んでみたら、それなりにある程度理解できた気がするので、解説を書いてみます。*2 最初に断っておくと、タイトルに"Extensible Effects"と入れましたが、Extensibl
なんか型クラスとか言うと型の怖いひとたちが怖い話をワイワイしてるイメージがありますよね。わたしはあります。「で、それって何がうれしいのよ」とか、そういう話はあまりされていないような印象がありますね(あくまで印象です)。その上 "Scala の implicit parameter は型クラスの一種" とか言われると「暗黙的な引数がなんで型クラスの一種なんや!!!意味がわからん!!!!」となります。わたしはなりました。 というわけでそのへんについて勉強したので書きます。 そもそも型クラスってなんや Haskellとかにあるやつですね。アドホック多相を実現するもの、らしいです。すごい、いきなり意味がわからない。 というわけで、まずは「アドホック多相ってなんなの」という話からして行きます。 さて、まずは「多相」から行きましょう。この文脈で言う多相とは、簡単に言えば「引数にいろんな型を取れる」とい
(Kan拡張のとこ以外)読み終えた。随伴がモナドを伴う、というのは知ってたけど具体的にHaskellコードに落とせるというのは面白い。 / Haskellと随伴 by @myuon_myon on @Qiita http://t.co/AiN2UsRJVX— xenophobia (@xenophobia__) 2014, 12月 5 そんなことより、多相関数を与えることとHask -> Haskな関手間の自然変換を与えることとがほぼ対応する、という事実に気付かされたので意義深かった。 > アドベントカレンダー4日目記事— xenophobia (@xenophobia__) 2014, 12月 5 これなんですが、以前も聞いた気がするし*1、忘れないように備忘録をば。 たとえば、HaskellでInt -> Double型の関数を1つ与えるというのは、Hask圏において対象Intから対象
圏論に寄り道したら面白くなってきて、cabal-install の解読がお留守になってしまったが、ひとつは解読が cabal-install 内に収まらなくなって、GetOpt なども調べないといけなくなってきそうだったので二の足を踏んでいる状態になったからだ。圏論の方も米田のレンマくらいまでは理解しないと意味がなさそうなのでしばらくこちらの方を進めたい。 数学者でないプログラマが圏論を学習したいと思う理由の第一はIOモナドを理解したいという欲求だろう。操作的には理解できても、やはり、IOモナドとは何かということをしっかりと理解したいという不満は残る。 しかし、圏論の参考書を読み始めてから、それだけではないような気がしてきた。圏論では全てを射で表現する。Haskell のような関数型のプログラム言語もやはり全てを関数で表現するので、なにか考え方の本質の共通点のようなものがあるのではないかと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く