タグ

圏論に関するchess-newsのブックマーク (17)

  • もう諦めない圏論入門―対象と射― - Qiita

    想定読者と到達目標 圏論に入門しようと定義などを眺めてみたものの それより先に進む方法が分からない人へ向けて。 具体例を通して、抽象的な定義を受け入れつつ、 自分が何を分かっていないか分かるようにする。 大学数学の知識は特に仮定していないつもりなので、 「圏論を理解できないのは○○が分からないからだ」 みたいな自分自身に対する言い訳を排除したい所存。 ひとまず細かいことは気にせず雰囲気を掴んでおいて、 必要の際1に詳細文献を読めるような下地作りが目標。 目次 圏論入門前の準備運動―集合と写像― もう諦めない圏論入門―対象と射― 具体例を通して圏の定義を受け入れる 直積と余直積に触れて圏を理解した気になる もう諦めない圏論入門―圏と関手― 具体例を通して関手の定義を受け入れる Hom 関手に触れて関手を理解した気になる もう諦めない圏論入門―関手と自然変換― 具体例を通して自然変換の定義を受

    もう諦めない圏論入門―対象と射― - Qiita
  • Scala3と圏論とプログラミング

    最近、圏論とプログラミングという素晴らしい資料を拝読しました。圏論とプログラミング愛に溢れる資料で読んでいて目頭が熱くなりました。そうだよな・・・プログラマにも圏論いるよな・・・ ただ、自分にとって残念だったのは、資料で説明用に選択されたプログラミング言語が「Haskell」だったことです。もちろんHaskellは素晴らしい言語です。ただ、自分にとってHaskellは外国語なのでちょっと理解が難しいのです。そしてこの資料が「Scala」で書かれていたらと夢想せずにはいられなかったのです。 Scalaと言えば昨年末にScala3のリサーチコンパイラのDottyがFeature Completeを宣言しました^1。この宣言で新機能の追加は終了して、あとは2020年末のリリースに向けてひたすら品質を上げていく段階に突入しました。つまり、ようやく次世代のScalaが全貌を現したということです。 こ

    Scala3と圏論とプログラミング
  • 新卒2年目のエンジニアがモノイドの数学的な定義について調べてScalaで実装してみた - MicroAd Developers Blog

    はじめに モノイド 代数学 圏論 Scalaでモノイドを実装する 代数学的な定義に従った整数を加算するモノイドの実装 圏論的な定義に従った整数を加算するモノイドの実装 モノイドの合成 Catsによるモノイドの利用例 おわりに はじめに こんにちは。マイクロアドでソフトウェアエンジニアをしている飛田と申します。私は主に UNIVERSE Ads というプロダクトの開発に携わっています。 UNIVERSE Ads では、より関数型ライクな設計や実装を取り入れることにより、高い保守性を目指しています。 この記事では、関数型プログラミングの入門的な話として、モノイドについて調べてみたので、この記事で共有させていただきたいと思います。 モノイドについてより深い理解をするために、まず、圏論と絡めたモノイドの説明をしたいと思います。 そしてその次に、より理解を深めるために、Scala のサンプルコードを

    新卒2年目のエンジニアがモノイドの数学的な定義について調べてScalaで実装してみた - MicroAd Developers Blog
  • IO モナドと副作用 - Haskell-jp

    純粋関数型プログラミングで副作用を扱う方法Posted by Mizunashi Mana on April 05, 2020 Haskell は他のプログラミング言語には見られない特徴を多く持っている。その中の1つが純粋性だ。Haskell は純粋関数型プログラミング言語であることを、売りの1つにしている。しかし、純粋性は多くの場合表現力の縮小を招く。ところが Haskell は、IOモナドの導入により、通常のプログラミング言語と変わらぬ表現力を持てるようになっている。これは、とても驚くべきことだ。しかし、同時にこれは Haskell 入門者にとって、大きな混乱を招いているようだ。 今回は、そもそも純粋性とはなんなのか、なぜ他の言語は純粋性を担保できないのか、そして Haskell はどうやって IO モナドにより純粋性を担保しつつ他の言語と変わらない表現力を持てるようにしているのかにつ

    IO モナドと副作用 - Haskell-jp
  • ソフトウェアエンジニアとしてモナドを完全に理解する / make-perfect-sense-of-monad

    モナドを完全に理解する

    ソフトウェアエンジニアとしてモナドを完全に理解する / make-perfect-sense-of-monad
  • Haskellの代数的構造入門 半群・モノイド・環とは何か? - ログミーTech

    2018年11月10日、Haskell-jpが主催するイベント「Haskell Day 2018」が開催されました。純粋関数型プログラミング言語Haskellをテーマに、Haskellに興味のある人から入門者、ちょっとできる人まで、様々な層に向けたプレゼンテーションを行ったイベント。実務から研究まで、幅広いHaskellの事例を共有します。プレゼンテーション「Semigroupとは? Monoid? 環?」に登壇したのは、aiya000氏。講演資料はこちら Semigroupとは? Monoid? 環? aiya000氏(以下、aiya000):あいやと申します。今日は「Semigroupとは? Monoid? 環?」というテーマで代数についての発表をします。よろしくお願いします。 (会場拍手) 推しVimNeovimです。活動はTwitterGitHubなどをやっています。このスラ

    Haskellの代数的構造入門 半群・モノイド・環とは何か? - ログミーTech
  • 圏論とは何か

    数学に圏論という分野が出来てから半世紀ほど経つ事になる.大学の数学科過程で登場する集合位相,複素解析,環論体論などと比べれば,これはかなりの「若手」である.それゆえか,いまだに日数学課程で圏論の授業が行われることは(集中講義などを除けば)ほとんどない.(これは海外でも大差ないという話を聞く.)しかし,ひとたび大学院に入ると,幾何学や代数学を扱う人は,勝手に「圏論」の言葉が出てくる事に驚くかもしれない.圏論は現代数学の言葉として当然のように用いられ,その基礎学習は自習に任されるというのが現状である. しかし,このことは大きな問題を生み出している.というのも,少し齧った程度の自称「専門家」が様々な「圏論万能論」といった怪情報をインターネットに発信してしまっている事が多く見受けられる.また,当然のことながら「どの程度勉強するか」というのは,何をどのように専攻しているかに依存する.にも関わらず

  • 「関数型言語をもっと使いこなしたい!」マイクロアドの新卒エンジニアがデータサイエンティストの先輩に圏論の初歩を指導してもらった話 - MicroAd Developers Blog

    はじめに こんにちは、19新卒バックエンドエンジニアの飛田です。 弊社では、プロダクトの一部にCatsという関数型プログラミングを行うためのライブラリを導入しており、今後、Catsをより多くのプロダクトに使用していく予定です。 Catsにはモナドやファンクタという概念が登場しますが、これらの概念は圏論に由来しています。圏論を勉強することで、Catsで登場する諸概念をより深く理解することができると考え、今回、圏論の初歩の内容を自分でまとめてみることにしました。 なお、マイクロアドの優秀なデータサイエンティストであり、数学や物理に大変に詳しいT先輩(アイコンがおふとん)にレビューを依頼することにしました。 slackのアイコンがおふとんのT先輩 レビューをしてもらった結果 まとめた内容の初稿をT先輩にレビューをしていただいたところ、以下の通りものすごい量のツッコミをらってしまいました。 レビ

    「関数型言語をもっと使いこなしたい!」マイクロアドの新卒エンジニアがデータサイエンティストの先輩に圏論の初歩を指導してもらった話 - MicroAd Developers Blog
    chess-news
    chess-news 2020/01/26
    これは、圏の中での話で、圏と圏の関係性の話が次に出てくるんだっけ?
  • 圏論の入門書(2018年版) | 雑記帳

    以前(2014年ごろ)このブログに「圏論の」という記事を書いたが、あれ以降いろいろなが出てきたようだ。特に、和書が増えた。 というわけで、この記事では2018年時点で手に入る圏論のを独断と偏見で紹介する。ここで紹介するのは入門書、和書が中心となり、より専門的な話題に特化したは省く。 圏論の入門書と一口に言っても、書き方や内容は著者によって様々である。読者にも代数学をやりたい人、プログラミングやロジックをやりたい人、色々いるだろうが、読者のバックグラウンドや興味の方向によって読むべきは変わる。 読者が適切なを選択する為に、この記事が(十分なガイドとまではならなくとも)なんらかのヒントを提供できれば幸いである。 適宜、Web上で他の方が書いた書評にリンクを貼る。 入門書、教科書 圏論の歩き方 圏論の歩き方委員会 編 「圏論の歩き方」日評論社、2015年 [出版社ページ] 「圏論っ

  • 圏論とプログラミング / Category Theory and Programming

    シンポジウム「圏論的世界像からはじまる複合知の展望」@慶応大学 (Jan 25, 2020) http://www.inter.ipc.i.u-tokyo.ac.jp/symposium.html 「圏論とプログラミング」発表スライドメモ - Qiita https://qiita.com/i…

    圏論とプログラミング / Category Theory and Programming
  • プログラマーのための圏論(上) - bitterharvest’s diary

    『プログラマのための圏論』はこれまでの分をまとめてPDFファイルにしました。参考にしてください。

    プログラマーのための圏論(上) - bitterharvest’s diary
  • 圏論に最短で入門する - 俺の Colimit を越えてゆけ

    はじめに 対象読者 数学以前 数学の基礎 ホモロジー代数 圏論 もっと手取り早く圏論の勉強を始めたい人へ おわりに 紹介した書籍 はじめに 私が圏論という分野を知るきっかけは、おそらくこの文章を読んでいるほとんどの人と同様に Haskell の勉強をしたことがきっかけでした。 Haskell のモナドなどを利用する上では圏論を理解する必要は全くないのですが、型システムや処理系に関して詳しく知りたくて論文を読むと圏論の言葉が普通に使われていて、理解できずに断念していました。 そこで、当時数人が集まってやっていた圏論勉強会に参加して圏論の勉強を始めました。当時読んでいた書籍は Conceptual Mathematics: A First Introduction to Categories でした。このは圏論の初学者向けに書かれたで、数学的な知識をほとんど仮定せずに理解できるように書かれ

    圏論に最短で入門する - 俺の Colimit を越えてゆけ
  • 圏論勉強会 @ ワークスアプリケーションズ

    Seminar of category theory

  • モナド教(Monadianity)のサイトについて

    chess-news
    chess-news 2014/08/14
     やっぱり、圏論関係なのか。
  • モナド教

    前提知識:モナド モナドを理解せずともモナド教を信ずることは出来ますが,理解していればより深く納得できるでしょう. 操作 :: 型 -> 型 は,"型"から"型"へ写す"操作"の存在を表します. モナドの文脈 m が必要とする2つの操作: return :: a -> m a で,値を保ちつつ文脈 m の中に入れ込むことが出来ます. (=<<) :: (a -> m b) -> (m a -> m b) で,「値を文脈に入った別の値へ写す操作」を「文脈に入った値を同じ文脈に入った別の値へ写す操作」に変換します. id :: a -> a は値をそのまま返す操作です. id を =<< で変換して得られる操作 join :: m (m a) -> m a で,二重に文脈に入った値を一重の文脈に入った値に戻すことが出来ます. 文脈の値から生の値を取り出す型 m a -> a を持つ操作は,一般

    chess-news
    chess-news 2014/08/14
     数論、集合論ぽい。あの世は、熱力学第二法則(エントロピーの奴)が成り立たないのかな。熱力学の教授が、熱力学は哲学だって言ってた。仏教だと c として現世によみがえるかも。誰か世界線理論と統合はよ。
  • 2013年文化祭 - 灘校パソコン研究部

    2013年文化祭 第67回灘校文化祭は、 2013年5月2日(木) 、 5月3日(金・祝) の両日開催です。 今年も灘校パソコン研究部の展示にぜひお越しください。 部誌 2013年部誌ページ数:315 サイズ:29.0MB 目次 木のはなし(PDF) マクロのおはなし(PDF) 競技プログラミングと初等整数論入門(PDF) DNSポイゾニング(PDF) Java Zero-Day(PDF) 難読フォント(PDF) 符号理論について(PDF) Unity3Dを実用する(PDF) ぱそこんのなかをのぞいてみよう(PDF) 圏論によるプログラミングと論理(PDF) ダウンロード

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

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

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