タグ

ブックマーク / m-hiyama.hatenablog.com (8)

  • 型付きラムダ計算 構文論 再入門 1/2: カリー/ハワード対応のために - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「カリー/ハワード対応への障壁」において、カリー/ハワード対応(Curry-Howard correspondence/isomorphism)をうまく説明するのは難しい、という話をしました。その記事の最後の一言は: いまだベストと思える説明に届かず。 その後も、ベスト(に近い)説明とはどんなものかと考えています。以前から僕は「大きなラムダ計算」という方法を使っているのですが、これをベースにするのがやはり良いように思えます。大きなラムダ計算は型付きラムダ計算の定式化のひとつです。大きなラムダ計算をまともに紹介したことがなかったので、この記事と引き続く記事の2回に分けて説明します(続く第2回もほぼ書き終えていますよ ^_^)。 この2回の記事で、大きなラムダ計算の構文的・証明論的側面を紹介します。ラムダ式への型付けアルゴリズムを形式的証明と捉えて、その証明系の性質を調べます。カリー/ハワード

    型付きラムダ計算 構文論 再入門 1/2: カリー/ハワード対応のために - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tarao
    tarao 2017/06/06
  • 関数型プログラミングとオブジェクト指向について、何か書く、かも - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「「関数型プログラミングはオブジェクト指向の正当な後継」なの?」を書いていて次のようなことを思いました: テクノロジーに関する思索を語るのは推奨されるべき事だと思いますが、ベーシックな知識に裏打ちされてないと、解釈困難で意味不明になりがちです。せっかくの経験や思いがうまく伝わらないことになります。 知識は大切だな、とは思っているので、ちょっと気になりそうなトピックに関して、ベーシックな知識の入り口を解説する記事を書いてきました。 モナド 入門 → 世界で一番か二番くらいにやさしい「モナド入門」 (2006年) 圏論 入門 → はじめての圏論 その第1歩:しりとりの圏 (2006年) 継続 入門 → CPS(継続渡し方式)変換をJavaScriptで説明してみるべ、ナーニ、たいしたことねーべよ (2008年) メタクラス・レイフィケーション 入門 → いまさらながらだけど、オブジェクトとクラ

    関数型プログラミングとオブジェクト指向について、何か書く、かも - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tarao
    tarao 2016/09/22
  • コンピュータ科学や組み合わせ論を“微分幾何”とみなす:CADGの夢 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    『シン・ゴジラ』は僕のツボにはまったんですよね。コワ面白かった! 最近、もうひとつ「これは面白い!」と思っていることがあります。微分幾何の応用の話です。多くの人が「応用」という言葉から連想する内容とはちょっと違います。微分幾何を換骨奪胎して、その枠組を、微分とも幾何ともまったく無関係と思える分野にも適用するのです。 「微分とも幾何ともまったく無関係と思える分野」には、コンピュータ科学や組み合わせ論が含まれます。これには驚きました。好奇心を刺激されて、しばらく猿になって調べまくってました。 調べても理解できないことがたくさんあるので、断片的で中途半端な知識を推測(妄想?)でつなぎ合わせるという手法(いつものやり口)で語ってみます。圏と多様体の定義くらいは仮定しますが、それ以外の知識は要求しないオハナシ調です。 内容: リソース計算が微分計算だってぇぇ?! 微分の計算が出来る圏 組み合せ論とデ

    コンピュータ科学や組み合わせ論を“微分幾何”とみなす:CADGの夢 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tarao
    tarao 2016/08/05
  • 関手データモデル/圏論データベース: その後の発展と現状 (2016) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    2013年の初頭に、デイヴィッド・スピヴァックの関手データモデル(functorial data model)について紹介しました。 デイヴィッド・スピヴァックはデータベース界の革命児か -- 関手的データモデル 衝撃的なデータベース理論・関手的データモデル 入門 あれから3年3ヶ月が経過して、今、関手データモデルや圏論データベース(categorical database)の状況はどうなっているでしょうか。 一言でいえば、 派手に喧伝はされてないが、着実に発展している となるでしょう。その進展の様子を次の3つの側面から概観してみます。 ビジネス ソフトウェア 理論 内容: ビジネス: Categorical Informatics, Inc ソフトウェア: FQL IDE 理論: 等式論理と代数データベース ※ リンクと注釈がたくさんあるのは、この記事が、この話題に関する説明付きブックマ

    関手データモデル/圏論データベース: その後の発展と現状 (2016) - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tarao
    tarao 2016/05/10
  • 衝撃的なデータベース理論・関手的データモデル 入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    デイヴィッド・スピヴァックによる衝撃的なデータベース理論である関手的データモデル。どうしたらうまく説明できるか? と色々と悩んでしまいますが、まー、書けるところから書き始めてしまいましょう。 さー、いらっしゃい、いらっしゃい。関手的データモデルの世界へようこそ。圏論の言葉は出てきますが、圏論の予備知識はほぼゼロでOKですよ。 [追記 date="翌日"]取り急ぎ勢いで書きましたので、不注意と早とちりが混じっていました。追記と取り消し線の形で訂正と注記を足しました。字句レベルの表現の変更は直接編集しています。 あとそれと、圏論の基用語を知りたいときはコチラ、… って、……、ゴメン![/追記] 内容: はじめに の購入のサンプル スキーマのグラフ表現 キーとか計算カラムとか 圏としてのスキーマ 関手としてのデータベース状態 テーブルの変化 自然変換としてのデータ操作 データベースに圏論が使

    衝撃的なデータベース理論・関手的データモデル 入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • デイヴィッド・スピヴァックはデータベース界の革命児か -- 関手的データモデル - 檜山正幸のキマイラ飼育記 (はてなBlog)

    最近、「おおおー、これは凄い、すんばらしい!」と思ったことがあるので、それについて書きます。 最初に言葉についてのお断り; "categorical"の訳語をどうしようか? と。片仮名で「カテゴリカル」が無難ですが、漢字で書きたい。「圏論的」が落ち着きがいいようですが、必ずしも「論」の意味を含まないときもあります。そこで、以下、「圏的」を使います。 [追記 date="2013-02-12"]入門的解説を書きました。→「衝撃的なデータベース理論・関手的データモデル 入門」[/追記] スピヴァックと関手的データモデル デイヴィッド・スピヴァック(David I. Spivak, http://math.mit.edu/~dspivak/)は、MITの研究者です。 彼は圏的情報学(categorical informatics)を提唱しています*1。圏的情報学の中心的な概念が関手的データモデル

    デイヴィッド・スピヴァックはデータベース界の革命児か -- 関手的データモデル - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 檜山正幸のキマイラ飼育記 - プログラマのためのJavaScript (0)

    ジジイの手習いで、JavaScriptを勉強中でございます。その動機は「結局、ブラウザベースRIAかよ」のようなこと。非ブラウザベースのリッチクライアントへの期待を失ってしまったんですね。短期的・現実的な策としては、Ajax的な手法によるRIAなのかなぁ、という気分。ただし、「短期的」が“1年”と“5年”ではえらい違いです。今のところ僕には、「短期的」の実際の期間はわかりません。 僕のJavaScript調査の結果は、「初心者でも使えてプログラマでも困惑するJavaScript 」などに書きました。これらの続きとして、「プログラマのためのJavaScript (*)」というタイトルで書こうかと予定してます。あくまで予定、気まぐれでモノグサな僕のことだから、…… “プログラマのための”というのは、C, C++, Java, C#など“普通の”プログラミング言語にある程度慣れていることを前提に

    檜山正幸のキマイラ飼育記 - プログラマのためのJavaScript (0)
  • 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

    気まぐれと偶然となりゆきで、ここ2,3回はモナドを話題にしました。googleで「モナド」を引いてザッと眺めると、「モナドはむずかしいー」とか「モナドで挫折した」みたいな雰囲気が感じられて、説明芸人の血が少し騒ぎましたね。「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 タイトルはだいぶ煽っちゃった…… けど、ハッタリじゃないつもり…… けど、実際はどうかな? ※印刷のときはサイドバーが消えます。 内容: とりあえず、あたりさわりなくモナドの来歴を紹介する こんな課題を考えてみよう:副作用付き計算 カウントアップする関数達 カウントアップしたい意志を戻り値で伝える それでは、いったい誰がカウントアップをするのだ 関数の引数の型をCountup型にまで拡張する そして、これがモナドだ とりあえず、あたりさわりなくモナドの来歴を紹介する 今からここで説明する「モナド(monad)

    檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
  • 1