Haskell再び

  • Haskellというものが少し気になっていた(こちら)
  • 圏論も気になっていた(こちら)
  • Haskellと圏論(Wikibooks)
  • 実は、数学セミナーで2011年7月号より『圏論の歩き方』という連載が続いていた
    • 2012年3号にて、「前半終了」ということで、8回分を振り返っている
    • ついていけなかったが、再度、ぱらぱらめくってみると(第4回の記事に関するコメントで関数型プログラミングについて、第5回の記事でHaskellについてコメントしています)
      • 第1回(7月号)
        • 「なんとなくわかっている(暗黙の知識)」を「インフォーマル」に扱って「圏論ってそもそもなんなの」ということがわかるための連載です、という導入
      • 第2回(8/9月号)
        • 要素を気にする集合が作る数学の世界と一線を画して、塊のまま、→で結んで取り扱う
      • 第3回(10月号)
        • 圏の→を射影のように考えると、「いわゆる関数」とか「集合」の対応とかに目が行くので
        • あえて、それとかけ離れた、結び目とそれが持つ不変量の取扱いルールとしての圏の導入
        • そして、圏から圏への「関手」を使うことで、不変量の扱いができることを示して
        • 圏を応用する、例が出る
        • はじめての圏論も参考
      • 第4回(11月号)
        • 圏の応用の第2例として、プログラム言語の抽象的取扱いが出る
        • 入力して出力するのがプログラム
        • それを突き詰めて、「関数型プログラミング
        • それが「型付きラムダ計算」(Wiki)
      • 第5回(12月号)
        • 関数型プログラミング2その2
        • 関数の出力を「返り値」とすると、関数が、「値を返す前」に実行して「表現する作業」は「返ってくるもの」とは違う
        • 関数が途中で表現するものを「モナド」として対象化する
        • この考え方の代表がHaskell
        • というわけで、圏論を理解するためにHaskellを使ってみるというのは良いかもしれない、と思い、ひとまずインストール(こちら)
      • 第6回(2012年1月号)
        • 圏論的軌跡意味論
        • 非決定的分岐を持つ関数と確率的分岐を持つ関数がどちらもクライスリ圏として整理できる
      • 第7回(2月号)
        • 言ってみれば、それは同じ(自然同値)
        • 準同型のような「表現」
      • 第8回(3月号)
        • どの回はわかりやすく、どの回はわかりにくかったのか、座談会
        • 文献・文章の取扱い方
        • 数学のわかり方