タグ

ブックマーク / www.ice.nuie.nagoya-u.ac.jp/~h003149b (4)

  • Haskellの入出力

    参照透過性と遅延評価 純粋遅延関数型言語に入出力を導入する場合には、 参照透過性や遅延評価とどう折り合いをつけるか、 が問題になる。 参照透過性(Referential Transparency) 「参照透過性」の正確な定義は知らない。 けれど、だいたい 「等しいものを別の等しいものに置き換えられて、 置き換えての全体の結果が変わらない」 という性質を「参照透過性」と呼ぶ。 (「代入可能性の原理」とどう違うのかは、よく判らない) なんでこの性質を参照透過性と呼ぶのかも正確な所は判らないけど、 たぶん次のような事が元になっているのでは、と予想している (以下しばらく、題(入出力の話)とは関係ない)。 クワインは「指示と様相」(「論理的観点から」に収録)で、 だいたい次のような事を書いている。 名前(とか項とか)が単に対象を指示するものとして現れている場合を 「純粋に指示的(purely r

  • 継続の説明(前置き)

    継続の説明の断片 「John Reynolds "The Discoveries of Continuations" によると、 継続の概念が初めて現れるのは1964年らしい。 そして、1970、1971年頃(さらにその後も)何人もの人によって再発見されている。 Knuth は、何人もの人が独立に演算子順位文法を考えだしたのに 自分は思いつかなかったから、 「自分は、自力で演算子順位文法を思いつけなかった唯一の計算機科学者だ」 とか考えたらしい。 「自分は、自力で継続を思いつけなかった唯一の計算機科学者だ」 と考えた人もいるのだろうか。」 C言語のexit() 関数は、関数呼び出しと言うよりジャンプだ、 という事を聞くことがある。 なぜかというとexit() は関数呼び出しから戻ってこないから。 例えば、 exit(1); printf("Not reached\n"); となっている時、

  • SchemeとActor理論

    この言語は、MITの二人の聰明な人間がしていた大きな論争にはじまります。 それは、私がMITに学生として来るちょっと前のことでした。 この論争というのは、Carl Hewittと、 新しく学生として入ったGerry Sussmanの間に起こったものです。 Guy L. Steele Jr.「Scheme 過去・現在・未来 前編」 (bit vol.28,No.4 1996 4月号) あれは玉突きだね。.....いや、というよりはキャッチボールだ 北村薫「六の宮の姫君」 Actorに基づく言語 メッセージ送信 アクターにメッセージを送る。 メッセージを受け取ったアクターは、別のアクターにメッセージを送る。 以下同様。 例えば「1と2と3からなるメッセージをアクターaに送る」という事を [a 1 2 3] と書く事にする。 アクターaはメッセージを受け取ると、別のアクターにメッセージを送る。

  • Scheme、Common Lisp、Emacs Lispの比較

    「王女アテー姫を含めてハザールの男女は、 この能力によって朝ごと変身を済ませ、 そのたびに、見たこともない斬新な顔で立ち現れる。 だから近親者同士でさえ見分けがつかないほどだ。 旅行者の見聞はこれとはまったく異なり、ハザールの顔つきはどれもそっくりで、 しかも歳を重ねても容貌が変わらない。それゆえ人違いの混乱や厄介が絶えない。 どちらにせよ、結果は同じことで、ハザール族の顔はまず覚えられないし、 覚えても無益となる。」 ミロラド・パヴィチ「ハザール事典」 Lispには数限りないほどの方言がある (例えば、 http://dreamsongs.com/NewFiles/Hopl2Slides.pdf とか参照)。 そのなかで普及している Lispというと、 Scheme、Common Lisp、Emacs Lispの3つだろう。 ユーザの多さでいうと、多い順に Emacs Lisp、Comm

    hchbaw
    hchbaw 2007/04/03
  • 1