RとLisp、RのS4とか

Tsukuba.Rのレポートのところにid:ytakenakaさんという方がはてなスターを付けてくださったんだけど、この方のBlogを少し見たりしました*1。ばーっと見た感じ、lispとかhaskellをやっておられる方のようで、最近(?)Rを始められたようだ。で、lispをやっておられるからだと思うんだけど、Rの習得が早い!!これはid:hayamizid:yaottiも習得が早(ry。僕もGaucheを勉強したことで、Rがぐっと分かるようになりました。

lispとの明確な違いはR言語はベクター中心の世界でベクターの操作をやるってところで、実はlist処理が弱いと言う印象です。これでリスト処理が強ければ、ラムダ関数なども充実しているし関数型言語としての取扱いがものすごくやり易いと思いましたね。実装している元の言語がC言語なんですが、そのC言語でのRのlist構造体ではcar/cdrのポインタを保持していますから作ることは不可能ではないんだろうなと言う印象です。

http://d.hatena.ne.jp/ytakenaka/20080721/p1

一ヶ月くらい、RをいじればlisperのためのRガイドみたいなものはまとめられるかも。ちょっとそこのschemerさんたち!Rを少しさわってみませんか?という気分だな。schemerさんたちならRの上達はかなり速い思うよ。逆に言えばRを本格的に触るならschemeを学ぶことはかなり有益だと思う。

http://d.hatena.ne.jp/ytakenaka/20080721/p1

こんなことも書いてらっしゃったりとか、Rの遅延評価でたらいまわしをやってみたりだとか

foldをやっていたりだとか

という感じでとても他人事とは思えない(笑。

で、僕がRで単語帳を作ったときに、永続代入とか使ってたんで、@dritoshiさんから「S4でやるといいよ」というようなことを教えてもらったんだけど*2、まさにid:ytakenakaさんはまさにその方法を使ってRでqueueを実装されたりしていた

と、眠いので何書いてるのか分からなくなってきたんだけど

  • Rで面白そうなことやってる人がいるよ!!
  • lisperの人、Rやろうぜ!!

みたいなことを言いたかったんだと思います。ひゃー。

*1:スターをもらうと大体確認している人間w

*2:まだ書き変えてないや。。。