2010/04/10

LOL mkstr, symb, group

mkstr, symb, groupはLet Over Lambdaで必要になるユーティリティ関数です。On Lispよりのものだそうです。On Lispは見事に積読中。
LOLはあの調子ですから読むのはサクサクなのですが、書くのが全然追いつきません。

internってなんぞ。symbの最後がvaluesなのもなぜだろう。わからないけど取り合えず放っておきます。以下コードはOn Lispより。

Gaucheで。(util.listに、groupと同等のslicesがあるそうです)

call-with-string-output-port・・・ってどこにあるんだろう。


(cut cons (+ a 1) <>) ≡ (lambda (x2) (cons (+ a 1) x2))
(cut list 1 <> 3 <> 5) ≡ (lambda (x2 x4) (list 1 x2 3 x4 5))
(cut list) ≡ (lambda () (list))
(cut list 1 <> 3 <...>)
≡ (lambda (x2 . xs) (apply list 1 x2 3 xs))
(cut <> a b) ≡ (lambda (f) (f a b))
部分適用便利だなー!

参考


追記

internの解説を教えていただきました。

プログラミングGaucheLET OVER LAMBDA Edition 1.0On Lisp

0 件のコメント:

コメントを投稿