タグ

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

  • node.js: モジュールの使い方 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    LinuxWindowsにnode.jsをインストールしてみたので、少し使ってみました。 JavaScriptにおいて、機能が欠けていて困る事って何でしょう。クラスがないとかはさしたる問題じゃないと思うのですが、モジュール機構がないのはホントに辛いです。node.jsには、待望のモジュール機構が導入されています。どうやら、CommonJS(http://www.commonjs.org/)という仕様に従っているようですが、僕は仕様を読んだわけではなくて、実際のnode.jsを触って見当を付けただけです。それを以下に書きます。 環境は、Windows+MinGW/MSYS です。 $ echo $HOME /c/Users/hiyama/Work $ which node /c/Users/hiyama/Work/bin/node.exe $ node --version v0.5.0-p

    node.js: モジュールの使い方 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    kzfm
    kzfm 2011/07/14
    node.jsのexports
  • はじめての圏論 その第1歩:しりとりの圏 - 檜山正幸のキマイラ飼育記

    全体目次: 第1歩:しりとりの圏 (このエントリー) 第2歩:行列の圏 第3歩:極端な圏達 第4歩:部分圏 第5歩:変換キューの圏 第6歩:有限変換キューと半圏 第7歩:アミダの圏 第8歩:順序集合の埋め込み表現 第9歩:基に戻って、圏論感覚を養うハナシとか 付録/番外など: 中間付録A:絵を描いてみた 番外:同期/非同期の結合 中間付録B:アミダとブレイド 番外:米田の補題に向けてのオシャベリ 一部のプログラミング言語の背景として、圏論(カテゴリー論)が使われたりするせいか、以前に比べれば多少は圏論に興味を持つ人が増えたような気がしなくもないような。でも、安直な入門的文書はあまり見かけないですね。もちろん、シッカリした教科書や論説はあるんですが、どうもシッカリし過ぎているような。例えば、圏の例として「コンパクト・ハウスドルフ空間と連続写像の圏」とか言われてもねぇ(この例はいい例なんです

    はじめての圏論 その第1歩:しりとりの圏 - 檜山正幸のキマイラ飼育記
    kzfm
    kzfm 2010/10/25
    はじめての圏論を読んだ。これおもしろいす。
  • 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

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

    檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
    kzfm
    kzfm 2010/08/28
    モナド
  • 余完備性をKleisli圏に持ち上げたい - 檜山正幸のキマイラ飼育記 (はてなBlog)

    諸々の事情から、不調っぽいよー。 …… … それはさておき、圏Cが完備または余完備性を持つとき、その完備/余完備性(特に有限余完備性)を、適当なモナドLによりKleisli圏に持ち上げられないだろうか? 「モナドLがこれこれの条件を満たせば、LのKleisli圏も余完備になる」という結果があるとすごくうれしい!。 具体的には、インスティチューション(Sign, Sen, Mod, |=)の指標圏Signが有限余完備な状況を考える。Maude(http://maude.cs.uiuc.edu/)やCASL(http://www.cofi.info/CASL.html)でも、この状況は仮定している。 この状況で、Signがプアなとき、Sign上のモナドLを使ってSignを拡張したいことがあるのだ。そもそもインスティチューション自体をKleisli圏まで持ち上げなくてはならないのだが、それはいい

    余完備性をKleisli圏に持ち上げたい - 檜山正幸のキマイラ飼育記 (はてなBlog)
    kzfm
    kzfm 2008/01/19
    Kleisli圏
  • CPS(継続渡し方式)変換で裏返る理由 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    昨日、CPS(継続渡し方式)への変換を話題にしました。 最近CPSに凝っているらしいid:higeponさんが: 人間の皮が裏返る。外が内、内が外。みたいなイメージでしょうか。 と書いてます(CPSで思考する - higepon blog)。この裏返る感じを説明してみたいと思います。 プログラムが、3つの部分A, B, Cから構成されているとします。 A; B; C; A, B, Cは単一の文ではなくて大きなブロックでもかまいません。ブロックAの計算結果は変数aに代入され、ブロックBの計算結果は変数bに代入されるとしましょう。それぞれのブロックを関数化すると、次のようになります。 a = A(); b = B(a); c = C(b); 変数cの値がプログラム全体の結果となります。 中間変数a, bは不要なので除去すると: c = C(B(A())); 結局、プログラム全体の機能は、C(B

    CPS(継続渡し方式)変換で裏返る理由 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    kzfm
    kzfm 2008/01/17
    おー、なるほど。
  • Meadow3に乗り換えて、.emacsを整理しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Emacs 22ベースのMeadow3を使うことにした。Meadow3だと設定が少なくて済みそうだ(おそらく)。.emacsにあまり色々書くとゴチャゴチャしてわけわからなくなるので、最小限の設定だけにしたい。何が最小限かまだハッキリしないので、とりあえず次のようにして、.emacs.Meadow3を徐々に書き足すことにした。 ;; loading version specific .emacs (let ((version-specific-dot-emacs)) (cond ((featurep 'meadow) ;; Meadow (let ((ver (Meadow-version))) (setq version-specific-dot-emacs (expand-file-name (cond ((eq (string-match "Meadow-3" ver) 0) "~/.

    Meadow3に乗り換えて、.emacsを整理しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
    kzfm
    kzfm 2007/11/06
  • 1