2010-07-13 EnumerableでLISPできそうなきがする C# ここ数回直積の件でIEnumeralbeをリスト的に扱ってみたけど、これでLISPできるんじゃね?とふと思った。ってことで純LISPの5関数。いつか書いてみよう。 car exp.ElementAt(0); cdr exp.Skip(1); cons コンスセルを表現するのは難しそうだなぁ。IEnumerableまんまじゃやっぱダメか。普通のリストだったら Enumerable.Repeat(kar, 1).Concat(kdr); でいけそうだけど、(1 . 2)とかの末尾がnilじゃないリストはどうすんべ...。 atom アトムかどうか判断する処理を自分で書かんとな。 IsAtom(exp); eq exp1 == exp2;