タグ

2008年11月22日のブックマーク (4件)

  • Ruby は Smalltalk-76 に似ている。by アラン・ケイ - Smalltalkのtは小文字です

    Matzにっき - Alan Kayといっしょ によれば、前のエントリーで取り上げさせていただいた“死んだ言語”以外にも、タイトルのような示唆に富む言及があったとのことだったので、さっそく調べてみました。正直、これまで Smalltak-76 はあまり興味がなかったのですが、Ruby は(Smalltalk-80 より)76 に似ていると御大がのたまうのを耳(目?)にしたからには、話は別です(^_^;)。 関連: Smalltalk-72 で遊ぶ 残念ながら Smalltalk-76 のオリジナルの処理系は、当然、ALTO とともに失われてしまっているので、ダン・インガルスの The Smalltalk-76 programming system design and implementation(PDF)が主な情報源ということになります。しかし、幸いなことにインガルス協力のもと、ヘルゲ・

    Ruby は Smalltalk-76 に似ている。by アラン・ケイ - Smalltalkのtは小文字です
  • 不動点演算子ふたたび - sumiiの日記

    (追記:Yコンビネータって何に使うの?) Yコンビネータ(Curryの不動点演算子)を説明するのがプチブーム(死語)らしいので、ふたたび挑戦。 まず、ふつーに再帰関数factをSchemeで定義してみる。 (define fact (lambda (n) (if (= n 0) 1 (* n (fact (- n 1))))))この定義は、右辺にfact自身が出現するので、再帰的定義なのであった。ここから右辺にfactが出現しないようにするのが目標。とりあえず、factを関数の引数として外から受け取るようにしてみる。 (define make-fact (lambda (my-fact) (lambda (n) (if (= n 0) 1 (* n (my-fact (- n 1)))))))これは( (make-fact fact) 10)みたく使えるが、make-factを呼び出す際に

    不動点演算子ふたたび - sumiiの日記
  • 2005-11-12

    今日は寒い.朝は雨が降ってたようだが,昼前にはすっかり秋晴れである. PCをいじってると,つい鉛筆に手を伸ばして紙にあれこれ書くのが面倒になってしまう.しかしPC上では計算も図を描くのも気軽にはできないから,ちょっと頭の整理をしたいときに自由に紙の上にあれこれを書きつけるのはやはり大事なことだ.紙に書く/描くことの重要性は言うまでもないことで,私は普段はどこにでも計算用紙を持ち歩いてたりするんだが,まだPCとのインターオペラビリティ(?)には自分なりの追求の余地があるな,と思った次第. あ,「タブレットPCを買え」というのはナシでお願いします. (Helmholtzはともかく)未だに区別がつかない.Laplacian(だけ)を使う3つ: Laplace方程式 ⊂ Poisson方程式 ⊂ Helmholtz方程式 か... どうせ明日になれば忘れるのだろうな. Δφ=0 (Laplace)

    2005-11-12
  • ArrowによるHaskellプログラミングの基礎。…パイプ感覚で順次/分岐/繰返し - よくわかりません

    Programming with Arrowsを読んで理解したつもりのメモ。誤りなど乞うご指摘。 (復習)Arrowってなに? と思って以前調べたメモが"3分で解るHaskellのArrowの基メモ - よくわかりません"。それにちょっと補足というか観点を変えてまず感覚の整理。 Monadに色んな種類があるように、Arrowも色んな種類がある。 Monad: IO、Maybe、… Arrow: 関数そのまんま(->)、Kleisli m、… ある種類のMonadに色んな型の色んな値を入れられるように、ある種類のArrowに色んな型の色んな関数を入れられる。 Monad: Maybeの例→ 「Maybe Int」 にreturn 0もreturn 777もOK。「Maybe Char」 にreturn 'a'もreturn ' 'もOK。 Arrow: (->)の例→ 「Int -> In

    ArrowによるHaskellプログラミングの基礎。…パイプ感覚で順次/分岐/繰返し - よくわかりません