タグ

圏論に関するkirakkingのブックマーク (9)

  • String diagram のすすめ - PS

    こちらは Haskell Advent Calendar 2015 - Qiita の 20 日目の記事です。 前の日・・・Hakyllでブログを作る(実践編) - Wake up! Good night* 次の日・・・「第2期 H読書会 in 秋葉原」を終えて #readhbon #haskell - セカイノカタチ String diagram String diagram というのは 圏論の bicategory というのを、平面上の点と線を使って描くものなんですが、特にややこしい知識が無くても使える(使っている)、と思ったので記事にしました。 以下、圏論の知識は必要ありません。 垂直方向について 型を縦線で表現し、関数は縦線上のノードで表現します: 諸般の事情で四角になってますが、ノートに書くときは丸でも何でもかまいません。 定義域aが下になっていることに注意。 関数id = \

  • モナドって結局何なのよ? — join to Monad v0.1.3 documentation

    モナドって結局何なのよ?¶ Haskell を勉強しようとすると必ず「モナド」ってのが出てきます。困ったものです。数学とか圏論とか関係があるらしくって、何が書いてあるんだか分からなくって嫌になってしまいます。でもね、Haskell って凄いらしいじゃないですか、格好良いらしいじゃないですか。ここはちょっとがんばって色々考えてみましょう。 そもそも Haskell って何なのよ?¶ 何なんでしょうね、Haskell って。コンピュータ言語らしいんです、あ、それは分かってると。良く挙げられる性質は次な感じ?: 関数型言語 強い型付け 遅延評価 参照透過 ここでちょっと型に関して見てみましょう。試しに Haskell の実装の 1 つである Hugs で 1 について考えてみます。Hugs では :type や :info というコマンドで hugs に型の情報などを質問することができます。例え

    kirakking
    kirakking 2015/08/15
    面白かった。
  • A Categorical Programming Language Tatsuya Hagino Doctor of Philosophy University of Edinburgh 1987 Author’s address: Tatsuya Hagino Data Processing Center Kyoto University Kyoto 606 Japan Abstract A theory of data types and a programming language base

    A Categorical Programming Language Tatsuya Hagino Doctor of Philosophy University of Edinburgh 1987 Author’s address: Tatsuya Hagino Data Processing Center Kyoto University Kyoto 606 Japan Abstract A theory of data types and a programming language based on category theory are presented. Data types play a crucial role in programming. They enable us to write programs easily and elegantly. Various p

  • ファンクタであそぼう - 非現実的非日常的非常識的、非日記。

    Haskell, ITこの記事はHaskell Advent Calendar 2013の3日目の記事です。 目次どうして?ファンクタを拡張しようおさらい引数をふたつ取ろう逆転の発想共変・反変・自由変・固定変データ型の整理正の位置と負の位置自由変と固定変ファンクタ類を自動生成しようまとめおまけThornについてCPLであそぼう どうして?ファンクタはHaskellに欠かせないものですが、ファンクタを一般化して見るという見方は意外に広まっていないように感じます。分かってしまえば単純な話だけにもったいないと思ってこの記事を書くことにしました。 また、僕は最近Thornというライブラリを作りました。これは、さまざまなデータ型から関手や畳み込み・展開をTemplate Haskellを使って自動生成するライブラリです。このライブラリを作るなかで気づいたことも合わせて書いていこうと思います。 ファン

    ファンクタであそぼう - 非現実的非日常的非常識的、非日記。
    kirakking
    kirakking 2014/07/05
    CPL面白そう > 関数型を定義するというのがかなり変わっていますが、プリミティブには関数のかわりに射を扱います。関数はあくまで射を通して扱うデータのひとつなのです。
  • Haskell/圏論 - Wikibooks

    この項目では Haskell に関連する内容に限って圏論の概観を与えることを試みる。そのために、数学的な定義に併せて Haskell コードも示す。絶対的な厳密さは求めない。そのかわり、圏論の概念とはどんなものか、どのように Haskell に関連するかの直感的な理解を読者に与えることを追求する。 圏の導入[編集] 3つの対象A, B, C、3つの恒等射, , と、さらに別の射, からなる単純な圏。3つめの要素(どのように射を合成するかの定義)は示していない。 質的に、圏とは単純な集まりである。これは次の3つの要素からなる。 対象(Object)の集まり。 ふたつの対象(source objectとtarget object)をひとつに結びつける射の集まり。(これらはarrowと呼ばれることもあるが、Haskellではこれは別の意味を持つ用語なので、ここではこの用語を避けることにする。)

  • 「圏論」は関数プログラミングの「モナド」に役立つ。入門PDF等のリンク集 - 勉強メモ (大学の講義動画や,資格試験の対策)

    数学の解説コラムの目次へ 圏論を学ぶ目的は,HaskellやScalaなどの関数型プログラミング言語をよく理解するため,としてよい。 モナドを実装するために必要という応用がある。 オンラインで圏論を学ぶための教科書: 役に立つ読み物 関数プログラミングと関連が深い とくに,モナドを考えるために圏論が必須! 格的に学ぶには? オンラインで圏論を学ぶための教科書: 「圏と関手入門」 http://www.math.nagoya-u.ac.jp/~hasim... 100ページ以上あるオンライン入門書 圏論は面白い(1) メタグラフ : tnomuraのブログ 圏論は面白い(3) メタ圏 : tnomuraのブログ(2は存在しない) 圏論は面白い(4) メタ圏(2) モノイド : tnomuraのブログ 圏論は面白い(5)  関手 : tnomuraのブログ 圏論は面白い(6)  自然変換 :

    「圏論」は関数プログラミングの「モナド」に役立つ。入門PDF等のリンク集 - 勉強メモ (大学の講義動画や,資格試験の対策)
  • IIJ Research Laboratory

    ネットワークの計測と解析 インターネットの使われ方やネットワークの挙動を把握する事は、ネットワークを運用し、その技術開発を行う ために欠かせません。しかし、観測で得られるデータ量は膨大ですがノイズが多く、また、観測できるのは極めて限られた部分でしかありません。そこで、膨大なデータから意味のある情報を抽出したり、部分的な観測からより一般的な傾向を推測する事が必要となります。... インターネット基盤技術 速くて、安全で、信頼性が高く、使いやすく、など、インターネットサービスへの要求はますます高まっています。これらの要求に応えるために、インターネットの 基盤技術も日々進歩しています。いまやインターネットはつながるだけのサービスではなく、高度で複雑な機能を備えた社会基盤となりました。IIJ技術研究所は、インターネットの基盤として実現が期待される機能を提供するために、さまざまな技術課題に取り組んで

    kirakking
    kirakking 2013/09/05
    Control.Arrowを使わなくてはならないけど、(\(x,y) -> (f x,y)) . gが(f *** id) . gになるのはすごくコードがすっきりする。指導教官は躊躇なく"> ⊆ ≧"とか"->・<-"とか使っていた。
  • IIJ Research Laboratory

    ネットワークの計測と解析 インターネットの使われ方やネットワークの挙動を把握する事は、ネットワークを運用し、その技術開発を行う ために欠かせません。しかし、観測で得られるデータ量は膨大ですがノイズが多く、また、観測できるのは極めて限られた部分でしかありません。そこで、膨大なデータから意味のある情報を抽出したり、部分的な観測からより一般的な傾向を推測する事が必要となります。... インターネット基盤技術 速くて、安全で、信頼性が高く、使いやすく、など、インターネットサービスへの要求はますます高まっています。これらの要求に応えるために、インターネットの 基盤技術も日々進歩しています。いまやインターネットはつながるだけのサービスではなく、高度で複雑な機能を備えた社会基盤となりました。IIJ技術研究所は、インターネットの基盤として実現が期待される機能を提供するために、さまざまな技術課題に取り組んで

    kirakking
    kirakking 2013/09/05
    この連載を読んだら、「(プログラミング中)お、このデータ構造とあのデータ構造、実は圏として抽象化できるんじゃね。」とかできるようになるのか。がんばろう。
  • Coqと少しの圏論が分かる人向けのhomotopy type theory(その1) -

    The HoTT Book http://homotopytypetheory.org/book/ が完成したらしいけど、どっちかというと、数学者向けに書かれてて500ページもある。homotopy type theoryで今できてることって、CoqやAgdaで書いたら、せいぜい数千行とか、そんなもんじゃないかと思うので、長すぎる気がする 一応、HoTTに関わる知識は、型理論の他に、ホモトピー論や圏論(モナドとかHaskell関連で出てくる類の知識はあまり知らなくてもいいけど、higher categoryとか教科書に書いてなさそうな話題や、モデル圏とかを知ってるといい)があって、全部真面目に勉強しようと思うと、それぞれのテーマで一冊以上のが書ける。ただ、実際には、ホモトピー論や圏論はアイデアや視点を提供しているだけで、あくまでCoqやAgdaで書かれてる部分が重要なので、ホモトピー論や

    Coqと少しの圏論が分かる人向けのhomotopy type theory(その1) -
  • 1