λ門 Updated $Date: 2008/01/19 08:38:39 $ 様々な LISP LISPs in research TUPLE (Toyohashi University Parallel Lisp Environment) は、 Common Lisp に超並列計算機の機能を付加したもの とのことです。 NUE (New Unified Environment) の TAO は、LISP 専用機 ELIS の核言語です。 Thomas Mahler 氏の pLISPは an experimental Implementation of parallel functional Programming. It is based on massive parallel graph-reduction machine だとのことです。 Gregory J. Chaitin 氏は
やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置
Random code snippets, projects and musings about software from Eric Kidd, a developer and occasional entrepreneur. You're welcome to contact me! Dec 03, 2005 • by Eric Kidd Years ago, I looked at Ruby and decided to ignore it. Ruby wasn’t as popular as Python, and it wasn’t as powerful as LISP. So why should I bother? Of course, we could turn those criteria around. What if Ruby were more popular t
The idea of Platonic C# is to enforce referential transparency within the context of C#, by enforcing a set of rules around defaulting to immutability of data structures and requiring uniqueness of instances of mutable types. The Computer History Museum, in conjunction with Adobe, has released the PostScript source code. Here is the release, with some helpful historical context and several photos:
Java7のクロージャの提案者の一人,Neal Gafterのブログが大変参考になるので,ちょっと野良翻訳してみよう. クロージャの定義 Java 言語にクロージャを追加しようという我々の提案に関して混乱があるようだ.そもそも,Javaにはすでに無名インナークラスという形で,クロージャがあるのではないか? すでにあるものをなぜまた追加しようというのか? 一部の人々には,我々の提案には,クロージャとは関係ないものが含まれているように思われているようだ.例えば,control invocation 構文,null型,Unreachable, 型パラメータ付きthrows,関数インターフェイス型,「非ローカル」な returnなどがそうだ.Javapolisでの講演で,なぜこれらの機能が提案に含まれているのかを,これまで不可能だったことを可能にするための実用的な観点から説明したつもりだ.しかし,
id:poco_ryun の似顔絵を想像しながら書いてみた。 節子それ似顔絵やない、ただの妄想や。 ポイント 大きくてクリクリした目 長いまつげ マスカラでおめかし アイラインのなんとか セクシーな唇 どうですか > テスト期間だし、なんか作っとかないとね。 ということで、最近話題のYコンビネータとかそこらへんの話に絡めて、ラムダ計算のインタプリタ作ってYコンビネータ動かそうぜ、っていう。前に書いたラムダ計算インタプリタは、データの形式を入力形式そのままで引き回していたので、割とカオスなことになったので、今回はパーサ、構文木、など適当に部品化してみた。 記法 λxyz. xz(yz) <==> '(λ (x y z) x z (y z)) Gaucheは全角文字がシンボルとして使えるのでスバラシイですね! β簡約 Pでラムダ式をパースして、BBでいけるところまでベータ簡約しつづける(発散す
Haskell のリストはシンタックスシュガーだらけ a = [] b = [1] c = [1,2] d = [1..10] e = [1..] f = [1,3..] g = [ x * x | x <- f ] 逆に分かりにくいので書き直す a = [] b = (:) 1 [] c = (:) 1 ((:) 2 []) d = ff 10 where ff 0 = [] ff i = (:) 1 (map (+1) (ff ((-) i 1))) e = (:) 1 (map (+1) e) f = (:) 1 (map ((+) ((-) 3 1) f) g = map (\x->x*x) f うん、なるほど ついでに map と同じ事をする関数 mymap を作ってみる mymap f [] = [] mymap f ((:) x xs) = (:) (f x) (mymap
Schemeとか関数型言語を使う人は、ラムダ計算が好きだったりする。 実際にラムダ計算をするのは別に好きではないと思うけど。 日本にも、 ラムダ算法騎士団の 総本山 があったりする。 Schemeのlambdaでも実際のlambda計算みたいな事ができる。 ; *** car、cdr、cons *** ; car、cdr、consが、lambdaだけで書ける事は、わりと有名。 ; (car、cdr、consが書けるというのは、 ; (eq? x (car (cons x y))) ; (eq? y (cdr (cons x y))) ; が成立するという事。) ; 次のようになる。 (define _cons (lambda (x y) (lambda (z) (z x y)))) (define _car (lambda (z) (z (lambda (x y) x)))) (defin
「JavaScriptで学ぶ・プログラマのためのラムダ計算」は、1回では述べ切らなくて、一段落付いたところで区切りました。これはかえって良かったですね、ブックマークやトラックバックでフィードバックが得られたので。 そのフィードバックなどをかんがみて、「残り=次回の話題」として予告した内容とは食い違ってしまうのだけど、今回は、文章では伝わりにくい(前回うまく伝わらなかったと思える)ラムダ計算の大事なツボを、なんとか表現してみようと思います。 [このエントリーの内容はだいぶ前にほぼ出来上がっていたのだけど、ココに書いてある事情で、“お絵描き”がなかなか出来なかったのです。] ※印刷のときはサイドバーが消えます。 内容: 知っていて損はない 計算は身体的に理解しよう ラムダ項のツリー表示:準備 ラムダ項のツリー表示:描く! β変換に対応するツリーの描き換え もっとβ変換をやってみよう 計算現象を
「JavaScriptによるテンプレート・モナド、すっげー簡単!」にて: 紙と鉛筆でラムダ計算を実行できることは必要だな、やっぱり。 なんて強調したので、ラムダ計算の入門、いってみよう。 [追記]練習問題集を追加しました。説明を読みながら、あるいは読んだ後で是非やってみてください。→「JavaScriptで学ぶ・プログラマのためのラムダ計算 問題集」[/追記] ※印刷のときはサイドバーが消えます。 内容: JavaScriptの関数リテラル ラムダ式ってなんだ ラムダ計算の体系と適用操作 ラムダ式の例をいくつか β変換 -- ラムダ計算のキモ! β変換を何度か実行してみる 中間まとめ、まだ続きがあるよ JavaScriptの関数リテラル 最初に、JavaScriptに関する知識を確認しておきましょう。なお、JavaScriptの対話的実行環境については「もっともお手軽な対話的JavaScr
沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く