並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 51件

新着順 人気順

圏論の検索結果1 - 40 件 / 51件

圏論に関するエントリは51件あります。 プログラミング、 Haskell、 数学 などが関連タグです。 人気エントリには 『なぜ型ファーストで考えるのか - 貳佰伍拾陸夜日記』などがあります。
  • なぜ型ファーストで考えるのか - 貳佰伍拾陸夜日記

    How do you imagine a building? You consciously create each aspect, puzzling over it in stages. Inception 型なし言語に馴染みはあるものの型付言語をいざ使ってみたらどういう気持ちで書いたらいいのかわからなかったと同僚から相談があり, それをきっかけにして社内の勉強会で以下の話をしました. よく型なし vs. 型付の文脈では「型を書くのは面倒だ」「安全の方が大事だ」「でも面倒だ」「それは型推論を前提にしていないからだ」などの議論になりがちな気がしますが、これはあくまで「計算ありきの型」を考えているからで, 「型ありきの計算」だと全く見え方が違います. 「型はある種の仕様」とおもえば, 型ファーストであることと, 型なし言語でテスト駆動開発(TDD)するときに最初にテストを書くこととは, 同じ

      なぜ型ファーストで考えるのか - 貳佰伍拾陸夜日記
    • 現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング

      オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだの Hatena の件。基本的には同意。ただちょっと切り口が違うので自分の意見を言っておく。ただ、このテーマで何度か書こうとして失敗していて、今回も成功しているとはいえない。 宣言的プログラミングの時代 現代の主流は「宣言的プログラミング」であると思っている。これはリソースの宣言と、その状態遷移の手続きや振る舞いの付与が中心にある。 宣言型プログラミング - Wikipedia その代表的な例がフロントエンドの React と、バックエンドの k8s で、どちらも時系列に基づいた状態の宣言と、フレームワーク側による状態遷移処理、 Reconcillation(調停) が基礎にある。 フロントエンドとバックエンドという両極端な世界で、この変化が起きたのがこの時代を反映したものであると思う。 例えば、jQuer

        現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング
      • すごい頭よさそうな単語を使いたい

        月曜から使える頭よさそうな単語おしえてください

          すごい頭よさそうな単語を使いたい
        • テーブル・DB設計するときの極意 - Qiita

          はじめに 「テーブル・DBを設計するときのさいきょうの極意」を完全に理解したので 初心者(私)向けに共有する記事です。 どうぞ揉んでいただければ幸いです。対戦よろしくお願いします。 さいきょうの極意 初心者が「テーブル・DB設計して」と言われると、 「アソシエーションってあったよね・・・バリデーションも?中間テーブルを使うときと使わないときと・・・」と大変に混乱し、何から手をつけていいかわからなくなります。 そんなあなたにこれ! ・テーブル・DB設計は「属性」と「関係」の2つだけ ・「属性」は必要なものを書くだけ ・「関係」は 1:1 / 1:N / N:N しかない(しかも、ほとんど 1:N) これが極意だ!!! 一般的な、「ユーザーがいて、投稿ができて、コメントといいねができるサービス」で考えてみましょう。 users / posts / comments / likes のテーブルが

            テーブル・DB設計するときの極意 - Qiita
          • 圏論とプログラミング / 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
            • オブジェクト指向プログラミングは終わった - Qiita

              追記: 振り返りを書いてみました~ -- ここから元記事 別題: 抽象化って言葉もう。。 社内の記事にて、オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES) | アラン・シャロウェイ, ジェームズ・R・トロット, 村上 雅章 |本 | 通販 | Amazonを紹介してもらいました。 取り上げられた、共通性/可変性分析の解説を見て、はっと思うことがありポエムを仕立てました。 共通性/可変性分析 共通性/可変性分析については、書籍を読むかググって頂けると良いですが、社内記事が良かったので引用させて頂きます。 問題領域にある概念を見つける(共通性の分析) その流動的要素を洗い出す(可変性の分析) 流動的要素を見ながら、その概念が持つ責務を果たすための抽象的側面(≒インタフェース)を導く 各流動的要素の実装上の観点から、インタフェースが適切かどうかを見極め、補正する オ

                オブジェクト指向プログラミングは終わった - Qiita
              • あらゆる物理方程式が何らかの「裏ルール」に従っている可能性が示唆される - ナゾロジー

                ノーベル賞のメダルでオセロができる発見です。 イギリスのオックスフォード大学(University of Oxford)で行われた研究により、全く異なる物理法則について記された数式であっても、共通する神秘的なパターンに従っていることが示されました。 この結果は、一見して異なる物理現象について述べている数式でも、隠れた「裏ルール」に従っている可能性を示しています。 研究者たちは「私たちの発見は自然のメタ法則、つまり全ての物理法則が従う法則への扉を開くものである」と述べています。 つまり歴史上の物理学者は、自然法則という1つの巨大なゾウを異なる角度から見てさまざまな数式を描いていたものの、それら1つ1つをよく見ると、同じ「ゾウ」を描いたことを示す何らかの共通する特徴が残ってたというわけです。 もし人類がこの「自然なメタ法則」を完全に理解することができたのならば、あらゆる物理法則を統合する究極理

                  あらゆる物理方程式が何らかの「裏ルール」に従っている可能性が示唆される - ナゾロジー
                • 「Haskellで人を集めてPHPを書かせる」という都市伝説について | 雑記帳

                  Haskell界隈の一部で囁かれる都市伝説として、「Haskellで求人を出して集めた優秀な人材にPHPを書かせる」というものがありました。この都市伝説に実体はあるのでしょうか? 伝説 まず、議論の前提として、この伝説に言及している投稿をいくつか挙げておきます。これは「伝説が少なくとも伝説としては存在する」ことを立証するために挙げるのであり、これらの投稿について何らかの価値判断を行う目的ではありません。 GCPで人を集めてAWS書かせるやつ、Haskell と PHP で見た — mizchi (@mizchi) March 16, 2022 Haskellで募集してPHP書かせる事件だ — デジタル競争の敗者 (@Lugendre) June 18, 2021 Haskell プログラマを募集して PHP 書かせるって,ネタ元どこなんだろう? — ささき しげお (@SigSasaki)

                  • IO モナドと副作用 - Haskell-jp

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

                      IO モナドと副作用 - Haskell-jp
                    • Scala3と圏論とプログラミング

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

                        Scala3と圏論とプログラミング
                      • 【社内勉強会】圏論的集合論 ~第一回 集合論について~

                        Photo by geralt on Pixabayこんにちは. スマートプラスで証券ビジネスプラットフォーム「BaaS(Brokerage as a Service)」を開発している, エンジニアの谷岡です. Finatextグループのエンジニアは, システム開発だけでなく何らかの付加価値を+αで持てるような取り組みを行うことが奨励されています. 取り組みの一つとして, その分野に詳しいエンジニア自身が講師を務める勉強会を週1くらいで開催しているのですが, 私が担当している圏論の回が好評だったので, その内容を数回に分けてご紹介していきたいと思います. なぜ圏論なのか圏論は元々は数学のイチ分野ですが, 物理学・AIといった研究分野のほか, ご存知のとおりプログラミングの世界においても関数型プログラミングのバックグラウンドとして利用されています. また, 過去の研究について圏論で書き直すこ

                          【社内勉強会】圏論的集合論 ~第一回 集合論について~
                        • 無理関数の不定積分と双曲線、微分形式 - tsujimotterのノートブック

                          今日考えたいのは、 や というタイプの積分です。 いわゆる無理関数の積分と呼ばれるもので、大学受験でも難関大学の問題として登場するみたいですね。 今回の記事のきっかけとなったのは、清さんによる以下のツイートです: 【清史弘からの提案 7 】 教育系YouTuber の人に向けて、このような動画はどうですか? という内容です。もちろん、YouTuber でない方もご参加ください。 私の考え方は24時間以内にあげようと思っています。 これは、唯一の正解というよりは、いろいろとあってよいと思います。#清史弘からの提案 pic.twitter.com/UokREtslQt— 清 史弘 (@f_sei) 2020年9月13日 上のツイートによると、今回の積分は という変数変換がキーになるようですが、いったいどこからこの式が現れたのか説明せよ、というのが問題です。 清さんのツイートの引用リツイートに、

                            無理関数の不定積分と双曲線、微分形式 - tsujimotterのノートブック
                          • 【追記あり】ChatGPTじゃなくて人力でモナドが発明された経緯を適当に調べた(ソース付き)。 - Qiita

                            プログラミング言語が2-圏として考えられるということについてソースから訳出した。(2023.2.22) 動機 最近、chatGPTにいろいろ尋ねるのが流行っているらしい。Haskellで有名なモナドの概念がなぜ導入されたか尋ねている人を見かけて、そういやそういう記事見たことないなと思ったので適当に調べた。 一次ソース 元ネタは以下のマイナーだと思われる文献 An abstract view of programming languages Eugenio Moggi教授のあんま読まれてない方の論文 Denotational Semantics Peter D. Mosses教授のこの論文(2部あって後半の方) 邦訳があり邦訳で読んだ。 プログラミングのモナド発見の経緯 プログラミングのモナドはなんか包んだり抜き出したり見たいな感じの概念で知られてますが、プログラミングの概念をモジュール化す

                              【追記あり】ChatGPTじゃなくて人力でモナドが発明された経緯を適当に調べた(ソース付き)。 - Qiita
                            • 「圏論とプログラミング」発表スライドメモ - Qiita

                              この記事は、先日の 2020年01月25日に慶応大学で開催されたシンポジウム「圏論的世界像からはじまる複合知の展望」の登壇資料を文字起こししたものです。 Slide: 圏論とプログラミング / Category Theory and Programming - Speaker Deck Video: 圏論とプログラミング / 稲見泰宏 - YouTube 皆さん、こんにちは。稲見 泰宏と申します。 本日は、この圏論シンポジウムという貴重な場でお話しさせていただくことをとても光栄に思います。 私の方からは、圏論とプログラミングに絡めた話について発表します。 それでは、どうぞよろしくお願いします。 まず簡単に自己紹介します。稲見泰宏といいます。 現在は、フリーランスのiOSアプリ開発者として活動しております。 ここに書いてあるのは、私の過去10年間のプログラミング経歴ですが、 PHPとJava

                                「圏論とプログラミング」発表スライドメモ - Qiita
                              • 結び目理論における圏論とコンピュータ計算

                                Direct computation of Khovanov homology and knot Floer homology

                                  結び目理論における圏論とコンピュータ計算
                                • 「圏論とプログラミング」発表スライドメモ - Qiita

                                  この記事は、先日の 2020年01月25日に慶応大学で開催されたシンポジウム「圏論的世界像からはじまる複合知の展望」の登壇資料を文字起こししたものです。 Slide: 圏論とプログラミング / Category Theory and Programming - Speaker Deck Video: 圏論とプログラミング / 稲見泰宏 - YouTube 皆さん、こんにちは。稲見 泰宏と申します。 本日は、この圏論シンポジウムという貴重な場でお話しさせていただくことをとても光栄に思います。 私の方からは、圏論とプログラミングに絡めた話について発表します。 それでは、どうぞよろしくお願いします。 まず簡単に自己紹介します。稲見泰宏といいます。 現在は、フリーランスのiOSアプリ開発者として活動しております。 ここに書いてあるのは、私の過去10年間のプログラミング経歴ですが、 PHPとJava

                                    「圏論とプログラミング」発表スライドメモ - Qiita
                                  • Lensだけで作るニューラルネットワーク

                                    これは、FOLIO Advent calendar 2021 の15日目の記事です。 圏論を機械学習に応用する話題の一つとしてLensで微分可能プログラミングを実装する話を紹介したいと思います。とはいえ圏論など気にせずLensを使ったニューラルネットワークを実装していきます。学習モデル、誤差関数、学習係数などの基本的な構成要素が全てLens(ParaLens)として実装できる様子を楽しんでいただければと思っています。 Lensって何? Lensはいわゆる getter と setter を組み合わせたデータ構造です。すなわち型sのデータ型から型aの値を取り出すgetter s -> a と、型sのデータ型を型aの値で更新して新しい型sのデータ型を作成するsetter (s, a) -> s から成っています。

                                      Lensだけで作るニューラルネットワーク
                                    • GitHub - varkor/quiver: A modern commutative diagram editor for the web.

                                      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

                                        GitHub - varkor/quiver: A modern commutative diagram editor for the web.
                                      • みんなの圏論 - 共立出版

                                        科学分野で横断的に使うことのできる精密かつ柔軟かつ一貫性のあるモデル化言語としての圏論への入門書 圏論は1940年代に数学の異なる領域をまとめて統一的に扱うために考案された。そして、数学の中の異質な分野間での強力な情報交換を可能にすることにおいて目覚ましい成功を収めている。本書は、科学全般にわたる精密かつ柔軟かつ一貫性のある言語として圏論が数学以外でも役立つことを示す。情報は本質的に変化を伴い、一つのアイディアも数え切れないやり方で体系化され再構成されうる。そしてそのように構成された構造どうしを翻訳する能力は、さまざまな科学においてますます重要になってきている。圏論は情報をモデル化するための統一した枠組みを提供し、それは専門分野間での知識の移転を円滑に進める。 本書は、読みやすく素直なスタイルで書かれていて、数学の前提知識をあまり必要としないので、厳密であるものの数学者でなくても取り組みや

                                          みんなの圏論 - 共立出版
                                        • 新卒2年目のエンジニアがモノイドの数学的な定義について調べてScalaで実装してみた - MicroAd Developers Blog

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

                                            新卒2年目のエンジニアがモノイドの数学的な定義について調べてScalaで実装してみた - MicroAd Developers Blog
                                          • Scala 初心者が米田の補題を Scala で考えてみた

                                            2. 自己紹介 - 名前: 高瀬 和之 (たかせ かずゆき) - 所属: Chatwork 株式会社 @大阪 - たぶん得意なこと: - フロントエンド開発 (React / Redux / TypeScript) - ティーチング (アルゴリズム / 機械学習 / 数学 / 組み込みシステム) - ひとこと: - Scala のイベントは 2 回目です 💪 2 3. 1. 本日の茶番パート 2. 圏論の公理 3. 函手,自然変換,函手圏 4. 米田の補題 アジェンダ 3 - この発表を聞いて得られるもの 👨‍🏫 - 圏論の中でも登竜門的なトピックである "米田の補題" を知ることができる - "米田の補題" のプログラミング的位置づけを知ることができる - ※ 後ろのセッションもないので、40 分をややオーバーするやも 😗

                                              Scala 初心者が米田の補題を Scala で考えてみた
                                            • プログラマのための圏論 (執筆中)

                                              Bartosz Milewski "Category Theory for Programmers" 原文: https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/ pdf: https://github.com/hmemcpy/milewski-ctfp-pdf 原文は pdf, TeX ソース, 画像など全て CC BY-SA 4.0 ライセンスで無料公開されています.当和訳文も同ライセンスで無料公開します. https://creativecommons.org/licenses/by-sa/4.0/ この和訳プロジェクトは現在進行中です.和訳に協力してくださる方は是非ご連絡下さい.ガイドライン: https://zenn.dev/taketo1024/articles/4

                                                プログラマのための圏論 (執筆中)
                                              • 数学原論 æ–Žè—¤ 毅(è‘—/æ–‡) - 東京大学出版会

                                                初版年月日 2020年4月 書店発売日 2020年4月14日 登録日 2020年2月28日 最終更新日 2020年4月23日 紹介 数学は1つである――線形代数と微積分を柱に,集合と位相のことばで書かれた現代数学の基礎の先にはどのような世界が広がるのだろう.代数・幾何・解析が有機的に結合,交差し,数学をつくりあげるようすを圏論的視点から解説する,「21世紀の『数学原論』」. 目次 はじめに この本の使い方 第1章 圏と関手 第2章 環と加群 第3章 ガロワ理論 第4章 ホモロジー 第5章 微分形式 第6章 複素解析 第7章 層 第8章 曲面と多様体 第9章 リーマン面 第10章 楕円曲線 おわりに――ブルバキ『数学原論』について 【詳細目次】 はじめに この本の使い方 第1章 圏と関手 1.1 ファイバー積 1.2 圏 1.3 関手 1.4 圏の同値 1.5 表現可能関手 1.6 随伴関手

                                                  数学原論 斎藤 毅(著/文) - 東京大学出版会
                                                • 随伴を使って理解するStateモナドの実装

                                                  前回の記事は魔法のように見えるStateモナドの実装も、順を追って見ていけば理解することは難しくないという話でした。 しかし状態の変更を順番に処理するというような手続き的な考え方にかなり近い構造が、うまくモナドになってくれるというのは少し不思議ですよね。 この記事では タプル (a, b) 関数 a -> b カリー化 curry :: ((a, b) -> c) -> a -> b -> c uncurry :: (a -> b -> c) -> (a, b) -> c といったHaskellの基本的な要素が随伴と呼ばれる関係を構成することを見て、 その随伴からStateモナドが導かれることを説明していきたいと思います。 随伴 二つの圏 C, D と二つの関手 F : C \rightarrow D, G : D \rightarrow C が与えられたとしましょう。 もし GF = {

                                                    随伴を使って理解するStateモナドの実装
                                                  • おじいさん、今日のご飯はCatamorphismですよ - Qiita

                                                    100年ぶりにポエムを書きます。 F代数から出発して、最終的にはCatamorphismを理解することを目指します。 F代数 ある関手Fに対して、対象と射の組 $(A, a : F(A) \rightarrow A)$ のこと。

                                                      おじいさん、今日のご飯はCatamorphismですよ - Qiita
                                                    • Scala3と圏論とプログラミング - Qiita

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

                                                        Scala3と圏論とプログラミング - Qiita
                                                      • ベクトルからリストを作る方法 〜次数付きモナドのカン拡張〜

                                                        ベクトルとリスト 要素を並べたデータ構造を考える時、 ベクトルは長さが予め(型レベルで)決められたもの リストは任意の長さを取れるもの と区別することがあります。 Haskellの型で表すと、

                                                          ベクトルからリストを作る方法 〜次数付きモナドのカン拡張〜
                                                        • Monoids in the Category of... | Blog | jackkelly.name

                                                          The unfortunate meme phrase “a monad is just a monoid in the category of endofunctors, what’s the problem?” comes from two sources: The fact and most of the phrasing comes from Mac Lane’s Categories for the Working Mathematician, but “What’s the problem?” is a cheeky addition from a funny 2009 blog post: A Brief, Incomplete, and Mostly Wrong History of Programming Languages The meme words have bec

                                                          • 圏論入門|日本評論社

                                                            第1章 圏・関手・自然変換 1.1 集合と写像から 1.2 圏・対象・射 1.3 圏のデータ構造 1.4 関手・反変関手 1.5 忠実関手と充満関手 1.6 自然変換 1.7 Haskの部分圏 第2章 自然変換と圏同値 2.1 関手圏 2.2 圏同値 第3章 普遍性と極限 3.1 始対象と終対象 3.2 積 3.3 余積 3.4 極限 3.5 余極限 3.6 極限の存在 3.7 余極限の存在 第4章 関手と極限の交換 4.1 関手は錐や余錐を写す 4.2 Hom関手と極限 4.3 Hom関手と余極限 4.4 実行可能な例 4.5 極限を関手とみる 第5章 随伴 5.1 随伴とは 5.2 単位と余単位 5.3 三角等式 5.4 普遍射と随伴 5.5 随伴の同値な言い替え 5.6 随伴と圏同値 5.7 随伴の大局的な自然性 5.8 随伴と極限 第6章 モナドとHaskellのMonad 6.1

                                                              圏論入門|日本評論社
                                                            • Amazon.co.jp: 圏論入門 Haskellで計算する具体例から: 雪田修一: 本

                                                                Amazon.co.jp: 圏論入門 Haskellで計算する具体例から: 雪田修一: 本
                                                              • はじめに · Scala で始める圏論入門

                                                                はじめに 本サイトは、圏論初心者が圏論について学びながら作成した、Scala プログラマのための入門書です。教科書は Bartosz Milewski 氏著の Category Theory for Programmers の Scala Edition で、構成も原則これに沿っています。 Scala をやっていて、圏論について知りたい・学ぶ土台を作りたいという方の参考になれば幸いです。 目次 はじめに(ここ) 第1部 1章 圏とは 2章 型と関数の圏 3章 いろいろな圏 4章 Kleisli圏 5, 6章 積と余積 7章 関手 8章 関手性 (工事中)9章 関数型 10章 自然変換 第2部 (工事中)11章 宣言型プログラミング 12章 極限と余極限 付録 表記法 Writer 圏における射の合成と、恒等射と、関手について 免責事項 ドキュメントの章構成は基本的に原文に則っていますが、省

                                                                • HaskellのCo/Yoneda型と米田の補題をきちんと繋げる - Qiita

                                                                  概要 Haskell には Co/Yonda 型があり、圏論には米田の補題がある。両者の関連についての分かりやすい解説を見つけられなかったため、ここで米田の補題と Co/Yoneda 型をシームレスに繋ぐことを試みる。 圏論の基礎知識は仮定している。また Co/Yoneda 型は kan-extensions で定義されたものを参照している。 記法 圏論の記法は一般的なものを用いるが、Haskell コードとの比較のし易さのために、圏 $\mathcal C$ における対象 $A$ から対象 $B$ への射の集合 $\mathcal C (A,B)$ を $$ A\underset{\mathcal C}{\rightarrow}B $$ とも書くことにする。 米田の補題によると、圏 $\mathcal C$ とその対象 $A$ ならびに関手 $F:\mathcal C\rightarro

                                                                    HaskellのCo/Yoneda型と米田の補題をきちんと繋げる - Qiita
                                                                  • Terminal Coalgebra as Directed Limit

                                                                    Terminal Coalgebra as Directed Limit Posted by Bartosz Milewski under Programming 1 Comment Previously, we talked about the construction of initial algebras. The dual construction is that of terminal coalgebras. Just like an algebra can be used to fold a recursive data structure into a single value, a coalgebra can do the reverse: it lets us build a recursive data structure from a single seed. Her

                                                                      Terminal Coalgebra as Directed Limit
                                                                    • MIT 18.S097: Programming with Categories

                                                                      Summary: In this course we explain how category theory—a branch of mathematics known for its ability to organize the key abstractions that structure much of the mathematical universe—has become useful for writing elegant and maintainable code. In particular, we'll use examples from the Haskell programming language to motivate category-theoretic constructs, and then explain these constructs from a

                                                                      • Adjunctions in the wild: foldl

                                                                          Adjunctions in the wild: foldl
                                                                        • Topology

                                                                          By Tai-Danae Bradley, Tyler Bryson, and John TerillaMIT Press 2020 CC BY-NC-ND A graduate-level textbook that presents basic topology from the perspective of category theory. Click on the chapter titles to download pdfs of each chapter. Preface 0 Preliminaries 0.1 Basic Topology 0.2 Basic Category Theory 0.2.1 Categories 0.2.2 Functors 0.2.3 Natural Transformations and the Yoneda Lemma 0.3 Basic S

                                                                            Topology
                                                                          • 圏論における普遍性と普遍射 - 再帰の反復blog

                                                                            数学における普遍性の概念は、どういうものなのか一言で説明しにくいものだけど、圏論では普遍射を使って定義するのが普通。 と思ったら、『ベーシック圏論』は副題(訳書での追加?)が「普遍性からの速習コース」だけど、本文中に普遍射という言葉がそもそも出てこない。普遍元は出てくるけど、これも脇役的な扱いという感じがする。 目次: 普遍性と普遍射の説明 n次元ベクトル空間に関する普遍性 普遍射 内側からの特徴付け、外側からの特徴付け 普遍性の定式化 例: 集合の直和とベクトル空間の直和 集合の直和 ベクトル空間の直和 直和の持つ普遍性 圏論的な定式化 直積 例: 商集合 商集合の作り方 商集合の持つ普遍性 普遍要素による定式化 例: 核(カーネル)と余核(コカーネル) 例: ベキ集合 例: 像(イメージ) 普遍射を使わない定式化と表現可能関手 1. 普遍性と普遍射の説明 1.1. n次元ベクトル空間に

                                                                            • 圏論の地平線

                                                                              2022年11月19日紙版発売 2022年11月16日電子版発売 西郷甲矢人 著 A5判/488ページ 定価3,960円(本体3,600円+税10%) ISBN 978-4-297-13150-0 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto この本の概要 いまや圏論は数学にとどまらず,物理,情報物理,複雑系科学,量子論,工学,AI,生物学,哲学などあらゆる分野で必要とされるアプローチになっています。 本書では,『圏論の道案内』など圏論に関する多くの本をお書きの西郷甲矢人先生が,第一線でご活躍の専門家に実際のところどうなのか現状や未来への期待,さらに各分野どうしの繋がりなどをうかがいます。なぜ圏論が役に立つのか,圏論的に考えるとはどういうこ

                                                                                圏論の地平線
                                                                              • Applied Category Theory Course

                                                                                John Baez This is a course based on Fong and Spivak's book Seven Sketches in Compositionality: An Invitation to Applied Category Theory, taught by John Baez and turned into nice webpages by Simon Burton. For more details, dive right in and check out Lecture 1. Chapter 1: Ordered Sets Lecture 1 - Introduction Lecture 2 - What is Applied Category Theory? Lecture 3 - Preorders Lecture 4 - Galois Conn

                                                                                • 関数型プログラミングのデザインパターンひとめぐり

                                                                                  2. © Chatwork ■ 概要 🗒 Haskell ライクな関数型プログラミングを JavaScript にて行えるようにするライブラリ "Ramda.js" を (一部) 例にして、 関数型プログラミングにおいて頻出のデザインパターンをご紹介します。 ■ 関数型プログラミングに対する私の立ち位置 󰞹 - 良い設計を発見する ための、ベース知識として用いる - 安全な開発を実現する ための、勘所として用いる - これらは決してプログラミング言語に依存すること無く、 普遍的に応用可能 だと考える - つまり、ライトユーザーです  (コワクナイヨ! 2 まえおき 3. © Chatwork 3 純粋関数 - 関数型プログラミングの大原則 → 主役は "純粋関数" - 純粋関数とは? - 引数に同じ値を与えたら、常に同じ戻り値を返す関数のこと - なおかつ、副作用が存在しないもの -

                                                                                    関数型プログラミングのデザインパターンひとめぐり

                                                                                  新着記事