タグ

2007年7月15日のブックマーク (6件)

  • 翻訳:プログラミング言語Lazy_K

    このページは、Lazy K公式サイトの翻訳です。 http://homepages.cwi.nl/~tromp/cl/lazy-k.html的に超訳です。 訳の正しさは全く保証されません。 訳のおかしい部分は多数あります。 翻訳元サイトの許可を取ったりはしていません。 無認可です。 訳者による前書き / 訳語についてLazy K要約サンプルコード何故Lazy Kが必要とされるのかLazy KのI/OLazy Kの構文と動作Lazy Kの失脚Lazy KインタープリタLazy Kコンパイラサンプルコードバグと欠点訳者による感想 / 要約 / その他コメントその他 訳者による前書き / 訳語について この文書はとりあえず、Lisp(できればScheme)を理解してる人向け。 動作の説明例がlambdaで書いてあったり、Lazy KコンパイラでScheme処理系が必要になったりする為。 C

  • Yコンビネータって何に使うの? - sumiiのブログ

    という反応が複数。λ計算という「lambdaしかない」計算体系があって、それでも再帰が表現できる(のでチューリング完全である)ことを示すために使います。Schemeっぽく書くと e ::= x | (lambda (x) e) | (e1 e2)という構文と ((lambda (x) e1) e2) --> [e2/x]e1という簡約で定義される言語です(右辺はe1の中のxにe2を代入した式)。 そんなことよりも、λ計算を習ってないのにYコンビネータについて聞いたことがある、というgeneration gapに年をとったショックを受けたり。そういう私の20代も昨日(今日の深夜?)で終了。 追記:Haskellなどlazyな言語だったら、 (define (my-fib m) ((my-make-fib my-make-fib) m))の部分は (define my-fib (my-make

    Yコンビネータって何に使うの? - sumiiのブログ
  • 不動点演算子ふたたび - 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の日記
  • 不動点オペレータについて

    不動点オペレータY 階乗関数は、 (define fact (lambda (n) (if (= n 0) 1 (* n (fact (- n 1)))))) のように、再帰的に定義できる。 再帰的定義を行なう場合はdefineやletrecを使うけど、 代わりにletを使うと再帰的定義はできない。 defineやletrecをどうしても使いたくないなら、多少工夫がいる。 例えば、factの引数を増やすという方法がある。 (let ((fact (lambda (self n) (if (= n 0) 1 (* n (self self (- n 1))))))) (fact fact 10)) ⇒ 3628800 (中略) 不動点オペレータYを使うと次のように書ける。 (let* ((Y (lambda (g) ((lambda (s) (g (lambda (x) ((s s) x))

  • プログラム言語とその他のメモ。

    プログラミングそのものは、あまり好きではない。 当然、実用的な内容はない。 2005年4月以降どうなるか不明。 Lispの(S式以外の)特徴(未完成) Scheme、Common Lisp、Emacs Lispの比較(未完成) 内容のわりに長い。 自己出力プログラムと自己参照プログラム 計算できない問題・関数について 停止問題とかbusy beaver関数の事など。 Schemeでラムダ計算 不動点オペレータについて 再帰的定義に使うYオペレータとかの事。 継続の説明(前置き) 継続の使用法 Schemeでの継続の使用。 SchemeとActor理論 CPS(Continuation Passing Style)について 「SchemeとActor理論」と同じ内容なので、 どうするか考え中。 CPSで多値(とか) values、call-with-valuesがあるから、 無理してS

    r-west
    r-west 2007/07/15
    関数系、論理系
  • 80年代の懐かし画像集 ■80年代後半〜90年代前半を回顧するブログ

    80's キーワード検索でヒットしてたまたまお邪魔しましたが・・・ すごい!このラインナップ!! 懐かしいやら、なんだか笑えるやら。 もはや感動的ですね。 「巨大迷路」って流行りましたよね~。 思わぬタイムスリップができ楽しかったです。

公式Twitter

  • @HatenaBookmark

    リリース、障害情報などのサービスのお知らせ

  • @hatebu

    最新の人気エントリーの配信