Traced Premonoidal Categoriesを読んだ。ある種のモノイダル圏では、traceと不動点作用素(正確には、parametrized fixpoint operatorでConway作用素と呼ぶらしい)が本質的に同じものだという、なんか不思議な話。 元々は、traced monoidal categoryの定義を探してたのだけど、ここでの定義は、symmetricityを課しているので、ダメだった。symmetricityを仮定しないtraced monoidal categoryの定義があるのかどうかは知らない(Joyal,Streetはbraidingの重要性をかなり早い時期に気付いてた人(というか、圏論的な文脈に限れば最初に言い出した人かもしれん)なので、symmetricityを仮定するようなことはしない気もするけど)。まあ、数学的に見ると、symmetric
モナドの合成をマジメに勉強しようと思って次のページ All About Monads に行って、第III部の頭で面食らった人は僕だけではないはず... Continuationモナドは使わない方が良いって書いてあったのに。 そして、僕はContinuationモナドは知らないんだ。 なので、CPS(継続渡しスタイル)から勉強しなおし。 参考にしたページ Continuation-passing style - Wikipedia, the free encyclopedia Haskell/Continuation passing style - Wikibooks, open books for an open world Haskell で継続渡しスタイル (CPS) | すぐに忘れる脳みそのためのメモ CPSって何? CPS(Continuation-Passing Style)って
The class meets Monday and Wednesday at 3pm in GHC 4101. Reading list September 9 (Karl Crary) C. A. R. Hoare. An Axiomatic Basis for Computer Programming. 1969. (pdf) Edsger W. Dijkstra. Guarded Commands, Nondeterminacy and Formal Derivation of Programs. 1975. (pdf) (Optional) C. A. R. Hoare. Proof of a Program: FIND. 1971. (pdf) September 14 (Rob Simmons) Alonzo Church and J. B. Rosser. Some Pro
昨日モニャドセミナー3を開催しました。僕(檜山)がどうも熱暴走していた(熱で暴走したんじゃなくて、暴走して熱を出したのかも)きらいがありました。とりあえず、説明があやふやだったところを補足します。 次の話をしました; 「破壊的代入と単一代入を自明モノイドで定式化できる。ただし、単一代入のモデル化は実際にやってみると微妙にうまくいかない」と。で、「どこがうまくいかないのか?」とのご質問。「昔やってみたとき、うまくいかなかった記憶がある」と要領を得ない返答をしたのですが、何がうまくいかなかったかサッパリ思い出せません。 という事情なので、最初から全部計算し直してみることにしました。僕は1桁の足し算とかしょっちゅう間違うので、そのテのミスで「うまくいかない」と思い込んでいた可能性もあります。以下に、確認の過程を全部書き下すので、ご興味がある方は(いるのか?)チェックしてみてください。なにか間違い
■ [Haskell] The Typeclassopediaを訳しました The Monad.ReaderのIssue 13に掲載されたThe Typeclassopediaという記事が、Functor, Monad, Monoid, Applicative, Foldable, Traversable, Arrowといったような型クラスについて良くまとまっていて、そのあたりを知りたい時の取っ掛かりになりそうだったので翻訳してみました。 作者のBrent Yorgeyさんからも許可がいただけたので公開します。翻訳に慣れていないので変な日本語(特に専門用語の日本語訳はかなり怪しい)があったり、そもそも間違っていたりするかもしれませんので、何か見つけたらコメントを頂けると助かります。 ■ [Haskell] The Typeclassopedia by Brent Yorgey <first
イントロはマジメに(=ツマラナイ)予習復習だ 記号に慣れてね。 A×B A + B 1と0 idA = A (よく使う、特に僕は) f×K (idA = A の応用) f×g f + K f + g <f, g> と Δ [f, g] と ∇ (ただし、∇は“足し算”の意味でも使う) π1, π2 (ただし、下添字も使うときは π1A, B など) ι1, ι2 参考: 圏論のお勉強なら、Catyスクリプトでやってミソ - 檜山正幸のキマイラ飼育記 メモ編 計算(コンピューティング)の話をするとき、多くの場合: 射は計算行為のなんらかの単位 域は計算開始前の資源状況の型(つまり制約だ!) 余域は計算開始終了後の資源状況の型(ホーアトリプルを思い出せ) 射の方向は時間方向(過去から未来)と一致する。 くれぐれも、特定プログラミング言語や常識的な計算機構に捕らわれないこと。 例:f:int→i
このページを編集 このページを編集(メニュー非表示編集;α) このページをコピーして新規ページを作成 このページのページ名を変更 このページの編集モードを変更 このページの閲覧/編集権限の変更 このページにファイルをアップロード このウィキにファイルをアップロード(FTP機能/管理者のみ利用可) メニューを編集(メニュー部分は非表示で編集) 右メニューを編集(メニュー部分は非表示で編集)
関数型プログラマのためのモナド理論 (1) 浜名誠 CAPS, IPL, 2007, November 6th 1 動機 • 「モナド」で Google すると、沢山の Haskell プログラマの苦労が見える • よく見る格言: Haskell のモナドを理解するのに圏論のモナドを理解する必 要はない • 「分かりやすい説明」というものが、本当に分かりやすい? • モナドの理解を実行から追う、というのは話が逆 • 主張: 数学の方が簡単 • そもそもなぜモナドを使うとよいのか。プログラム意味論の歴史に理由がある • それらを解説 • また、モナドから直ちに出てくる圏論的構成は有用 • それらを通して、計算機科学でなぜ圏論が有用なのかの一例 feedback をお願いします。 2 全体の内容の予定 1. 圏論のモナドのアイデアと関連するいくつかの construction 2. 計算モナ
¡¡ ¢¤£ ¥¤£ ¦ ¡¢!¢¨¡æ¡ç¡â y§"¢ß¢¡¢7¢V¢¨¢B¡â¢C • ¥ g – … g • x • 8 ø • x • ¥ ¢ " £ • x • t t / æ m m • - o • C Ø ¡¡ ¢¤£ ¥¤£ ¦ ¡¢!¢¨¡æ¡ç¡â y§"¢ß¢¡¢7¢V¢¨¢B¡â¢C § ¨ ¡§© ¡ © ¡1 ¡¥ ¨ © ¡1 ¨ ¡§ !" ¡Í# $ ¡±% $ & ¡Û¡¦¡·¤©º% ' & ¡´£Ù¡¢ k )(((( )))) ¡¡ ¢¤£ ¥¤£ ¦ ¡¢!¢¨¡æ¡ç¡â y§"¢ß¢¡¢7¢V¢¨¢B¡â¢C 0 ¨ ¡§12 34 5 ¨ ¡§6 72 1 6 (· 7 ¡¥6 (·7 Ł ¡¤¥§g¡u¨ Ł ©
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く