When it’s ready.

出来るまで出来ない

「括弧なんてどこにあるんだ?」 gree OST 勉強会 LISP編

Greeの勉強会に参加しました。
http://labs.gree.jp/Top/Study/20080422/Report.html

「セルの海 マクロの空」
株式会社インターネットイニシアティブ 山本和彦さん

今までは、人の作った.elファイルを適当にDLした事しかなかったのですが
4部構成のシナリオが本当に良く出来ていて、2部までの説明で、なんとなく
コードが読める様な気がしてきたのが不思議でした。山本氏の話がかなり
上手でした。

伝えたい事に話をフォーカスし、そうでない所は駆け抜ける的な聞いていてストレスなくとても、充実感あふれるプレゼンテーションでした。

その中でも気になったというか、気に入ったのはLISPERは、やった事ないことは言っちゃだめというのを「おじいちゃんの教え」というらしい。事と、

あまりの括弧の多さに、それを悩んだ生徒がLISPERの教授にどう対処すれば良いかを訪ねた際に「どこに括弧が有るんだ?」という、名言を言ったというらしい。

特に2つ目の話は、心にしみました。

          
(define member* 
  (lambda (a l) 
    (cond 
     ((null? l) #f) 
     ((atom? (car l)) 
      (or (eq? (car l) a) 
          (member* a (cdr l)))) 
     (else 
      (or (member* a (car l)) 
          (member* a (cdr l))))))) 

最後の括弧とか、嫌がらせとしか思えないけどこれを、空気のように感じてしまうレベルってどんなんだろうなぁって思います。

カーとクダーでなんでもアクセスなんでも表現という、シンプルなやり方は、再帰を身につければ何となくできる気がしたので、再帰を空気のように感じたい自分としては、やるしかない!という気になりました。とりあえづ、ゴマモンガラの本を買いたいと思います。