CARとCDR(カーとクダー)は、LISP言語の基本的なデータ型であるリストを操作するためのもっとも基本的な2つの関数である。LISP言語のリストはコンスセルと呼ばれる(ペアまたはドット対とも呼ばれる)二分木構造セルにより表現され、CARは二分木の片側を返しこれはリストの先頭の要素である。またCDRは二分木のもう片側を返しこれは後続する二分木セルである。 コンスセル 名前と語源[編集] CAR は/kɑɹ/(カー)と発音され、CDR は/ˈkʊdəɹ/(クダー)と発音される[1]。 この不可解な名称は、最初にLISPが開発されたIBM 704の命令形式に由来する。IBM 704は36ビット・ワードの機械で、タイプAの命令形式ではこれを3ビットのプレフィックス(オペコード)、15ビットのデクリメント、3ビットのタグ、15ビットのアドレスの4つの部分に分けて用いた[2]。CAR は「レジスター
Structure and Interpretation of Computer Programs Interactive Version Wizard Book n. Structure and Interpretation of Computer Programs, an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Interactive SICP n. Interactive Structure and Interpretation of Computer Programs. Online version of
「プログラムの意味論(semantics)」という(ちょっと難しい)分野の話です.というのは,万能性を証明するとは「あるプログラムがチューリングマシンのシミュレータになっていること」あるいは「任意の帰納的関数を表現できるプログラムが存在すること」を証明することに他ならない.だから,プログラムの意味を記述する必要があるわけです. プログラミング言語との関連で言えば,計算機のハードウエアなんてものは忘れて,計算を,ある抽象的な数学的システムの上でのプロセスと考える.(なのでハードウエアのアーキテクチャをムキダシで扱うアセンブラやCのような低級言語はちょっと脇に置いときます.)その「抽象的な数学的システム」の捉え方がいろいろある,という話かと思います. ご質問で例に挙げられたのは,計算(プログラムの実行)を,変換の手順(手続き)の遂行と見るか,写像の不動点へ近づく過程と見るか,論理式が恒偽式であ
(この記事はLisp Advent Calendar 1日目のためのエントリです。) 禅が好んで用いる比喩がある。月を指すには指が必要である。だが、その指を月と思う者はわざわいなるかな。 — 鈴木大拙「禅」 これをLispに例えるなら、こう言うことができるかもしれない。 Lispを書くには括弧が必要である。だが、その括弧をLispと思う者はわざわいなるかな。 Lispを普段書いている身としてはLispについて括弧がどう、というのは些細なものに思えるが、Lispを知らない人からすると自然な考えだろう。人間は知らないものを理解しようとするとき、自分が今まで見たもの、知っているものと比較して手がかりを得ようとする。Lispが他のプログラム言語と比較してユニークなものは、やはりその括弧で表現されたS式だ。 しかし、Lispが括弧を使った奇妙な構文を用いるのは理由がある。そしてそれがLispの強力さ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く