2007-12-29
■ [prog][idea] ambってCでも書けるのかな
継続の効果的な例として取り上げられたりするambだけど、C + setjmp + longjmp でも書けたりするんかな。 どんな感じになるんだろ。
■ [lisp] lispとschemeとか
SANO no Diaryのlisp話がとても面白かった。いくつか引用。
それでも実際に実装依存でなく用意されているプリミティブだけを見ても
schemeと他のlispとのスタイルとは違う。
再帰の多用はlispがschemeになってやっとこ得たスタイルでlispのスタイルではない。
[宗教戦争より引用]
それだけ特別なスタイルで書きかたが違うのだから
Common Lispの中でschemeの書きかたをしては駄目。
[宗教戦争より引用]
コードジェネレーションの効果的な作用を考えると
面倒からの開放という割と守りの部分ではなく、
shiroさんが過去に言っていたような最適化オプションの切り替え方法といった
攻めの方向にも伸ばせるのだと思う。
んでもそこに辿りつくまでのレベル上げはやっぱり守りを主体にしたものになるんだろうとも思う。
[帰りにプロゴルファーとした話より引用]
マクロの話。% loop for i from 0 to 10 collect i | filter (lambda (x) (evenp x))
10
8
6
4
2
0
%
こんなかんじのシェルができたよ。
[やったより引用]
Lispシェル。授業資料らしい。
http://prog.vub.ac.be/~pcostanza/cl-06-07.html
恐らく極めて高いレベルではないけれども、授業としてCommon Lispをやるとしたらこれくらいの
トピックには触れて欲しい(と私が思う)部分には触れている。
[Pascal costanzaのより引用]
おもろそうなのであとで目を通す。■ [lisp] ANSI Common Lisp
最近ANSI Common Lispを読んでいる。 Lispを学ぶというより、CLの仕様のまとめとして。
雑感:
- Schemeに「こんなんあったらいいなぁ」というのを全部突っ込むとCLになりそう
- 関数名がカオス (prin1とprincとか)
- CLOSのメソッドはクラスに属さないが、これはオブジェクト指向のより一般的な実装になっているらしい
- クラスに属さないことで、例えば複数のクラスに特定化したメソッドを書ける
- lisperって「より一般的」な方を好みそうだよね
- あとAOPっぽいやつとかメソッドコンビネーション(わりと謎機能)がある
- loopマクロはCLerにとってもカオスらしい。
読み終わったらもう一エントリ書くかも。
「Common LispとSchemeの違いは、TGMで言うところのワールドとクラシック」というフレーズを思いついたが、 (いろんな意味で)マニアックすぎて聞かせる相手がいない(笑)。