toge's diary

コンピュータ関連の趣味をつらつらと。

InteLib 0.5.66

http://www.intelib.org/

外部コマンドなどを使わずに、C++で極力Lispっぽいコーディングが出来るようにしたライブラリ。
以下のサンプルコード参照。
Lispをかつて使っていた身としてはなつかしいけれど、わざわざC++でこんな書き方する意味あるのかな・・・。

(L|DEFUN, ISOMORPHIC, (L|TREE1, TREE2),
  (L|COND, 
    (L|(L|ATOM, TREE1), (L|ATOM, TREE2)),
    (L|(L|ATOM, TREE2), NIL),
    (L|T, (L|AND,
      (L|ISOMORPHIC, (L|CAR, TREE1), 
                     (L|CAR, TREE2)),
      (L|ISOMORPHIC, (L|CDR, TREE1), 
                     (L|CDR, TREE2))
)))).Evaluate();