タグ

圏論に関するatm_09_tdのブックマーク (8)

  • Haskellと層 - Qiita

    層とプログラミング はじめに Haskellは、モナドという圏論用語を言語仕様に採用した初めての実用プログラミング言語です。歴史的には、Godementが1958年に、層コホモロジーの計算のため使ったのが(コ)モナドの最初の例だと言われています。 層は何らかの空間の「形」を代数的に計算するための仕組みで、局所的な性質と大域的な性質の関係を圏論的に表現するフレームワークと言えます。 一言で言えば、層とは関数とその定義域の組の集りのようなものです。いろいろな大きさの鉱物の結晶が積み重なって、地球全体を地層が覆っている様子をイメージするとわかりやすいかもしれません。層を使うと、定義域が重なりあう部分関数の関係と、それらが全体に波及していく様子を、圏論的に、すっきり表すことができます。 層はいわゆる"幾何的論理(geometric logic)"のモデルでもあり、実はモナドも幾何的論理で表現できる

    Haskellと層 - Qiita
  • HeskellのMonadを圏論のMonad/Kleisli Tripleと対比する - めもめも

    圏論の歩き方 作者: 圏論の歩き方委員会出版社/メーカー: 日評論社発売日: 2015/09/09メディア: 単行この商品を含むブログを見る オフィスの机の上に新たな挑戦状(上記の)が置いてあったので読んでみると、Kleisli tripleとMonadの関係が説明されていて、「そういえば、Kleisli tripleとMonadの同値性って、ちゃんと証明したことなかったなー」と思って書き始めたのがこのエントリーです。 いったい何の寝言を言ってるのかと思われそうですが・・・ HaskellのMonadを圏論の言葉に置き換えて理解する際に、圏論における「Kleisli triple」に対応させる方法と、圏論における「Monad」に対応させる方法があります。圏論の世界で「Kleisli triple」と「Monad」は互いに変換可能なので、どちらを用いても理論的には同じなのですが、Has

    HeskellのMonadを圏論のMonad/Kleisli Tripleと対比する - めもめも
  • Functorを例として、圏論とHaskellの関係を分かりやすく説明してみるテスト - めもめも

    [参考文献] Haskell/圏論 カテゴリーとは? 「カテゴリー」は、「集合と写像」の概念をより抽象化(簡単化)したものです。おもむろに、図1のように、いくつかの●と、●の間の矢印が集まった図式を考えてみます。 図1 カテゴリーのイメージ それぞれの●は、「a,b,c・・・」で表して、矢印は、「f,g,h,i,j,k・・・」で表します。1組みの●のペアに対して、複数の矢印があっても構いません。また、矢印fがaとbをつなぐ事を次のように表現します。 f :: a -> b 「集合と写像」の勉強をした方なら、それぞれの●は何らかの集合で、矢印は集合間の写像と思うと分かりやすいでしょう。 この時、 f :: a -> b g :: b -> c のように、ある●(ここでは「b」)を介して2つの矢印がつながる場合、これを1つにつなげた矢印、 h = g.f :: a -> c が必ず存在するもの

    Functorを例として、圏論とHaskellの関係を分かりやすく説明してみるテスト - めもめも
  • IIJ Research Laboratory

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

  • IIJ Research Laboratory

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

  • Scalaで関数型プログラミングをする#3 圏論を学ぶ(前) | DevelopersIO

    ※この記事はこれの再構成版です Ⅰ.はじめに 圏論を知りましょう さて、だいぶ前になってしまいましたが、前回の記事で、「関数型プログラミングを知るにはまず圏論から!」といいました。 ※あくまでも私の考えです 私自身圏論についての知識がほぼないのですが、幸いにも圏論に関する初心者向け記事がWEB上にいっぱいあります。 その中でも、「Scalaで圏論入門」という記事は、初心者向けにわかりやすく記述されているので、 これを元に圏論について基的な理解を深めていければと思います。 記事は、この「Scalaで圏論入門」を読んだことがある人を対象にします。(理解できてもできなくても)一度読んでおいてください。 なんで圏論を知るべき? なんで関数型プログラミングを知るのに圏論なんてわけわからんものを知らなければいけないのでしょうか。 この連載の目標(というか自分の目標)の1つとして、「scalazを使

    Scalaで関数型プログラミングをする#3 圏論を学ぶ(前) | DevelopersIO
  • はてなブログ | 無料ブログを作成しよう

    山形縦断旅行記 2024 夏 この夏、山形に初上陸した。公共交通機関を使う旅行では行くところ、バスや電車に乗る時間を細かく決めてnotionにまとめておくのだけど、今回はレンタカーで移動したので細かい準備がいらず、また多少予定が遅れてもなんとでもなるのでとても楽だった。 関東から山形に…

    はてなブログ | 無料ブログを作成しよう
  • 圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ

    はじめに 関数型といえばモナド、モナドといえば難しいという事が巷で言われていますが、いきなりモナドを理解しようとするから難しく思えるだけで、圏論から順序を追って理解していけば全然難しく無いんだよって事を分かって貰えればいいなぁと思い書いて見ることにしました。 ただ、圏論といっても適用範囲がとっても広く、応用編になると分けわかんなくなってくるので、ここではプログラミング分野に特化したFP(functional programing)圏論*1について書きます。 また、説明を簡単にする為に細かい部分をいろいろ省略しています。学術的な定義としては正確ではないので、このエントリの説明は大体合ってる位の気持ちで読んでくださいね。 尚、ぼくは圏論の詳しい事はさっぱり分からないので、学問的な話を振られても回答できませんキリッ 圏ってなんなの? 圏論と言えば、圏です。 圏って何なのかというと、対象(obje

    圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ
  • 1