LISP

LISPの勉強として「初めての人のためのLISP/竹内郁雄著」を読み始めた。

あまり参考書らしくないが、とても丁寧に書かれているのでわかりやすい。

読み終えたらまとめて書く。

とりあえず

car : リストの頭を抜いたもの

cdr : リストの頭を抜いた残り。()の残っている方。

nil  : 空リスト、述語関数の偽の場合の返り値

t    : 述語関数の正の場合の返り値

述語関数 :  真偽値を返す関数

atom : 引数がatomの場合にtを返し、そうでない場合nilを返す。

null   : 引数がnullの場合にtを返し、そうでない場合nilを返す。

set   : 第1引数の変数に第2引数の代入(束縛?)する。

setq:setと同様だが、setの場合は第1引数を評価したくない場合"`"で囲む必要があったが、こちらはその必要がない。

eq     : 第1引数と第2引数が同一の場合tを返し、そうでない場合nilを返す。

list    : 指定した引数からリストを作る。

cons  : 第1引数をcar、第2引数をcdrとして新しいリストを作る。

 

LISPの変数にグローバルとかプライベートとかあるんだろか。