2007-11-23から1日間の記事一覧

Gaucheでリスト内包表現にチャレンジ(まずは..)

まだマクロが全然わかってないんだがとりあえずやってみたい気持ちが先行中(笑) ということで実装してみたのがこれ。 >>(define .. (lambda (x y) (let ((e (- y x -1))) (if (< e 0) () (iota e x))))) =>.. >>(.. 0 10) =>(0 1 2 3 4 5 6 7 8 9 10) >>(..…

Haskellの表記をGaucheと併せて比べてみる。

まずは、shiroさんに教えてもらったGaucheのコード*1 (use util.match) (define qsort (match-lambda (()()) ((x . xs) (receive (l r) (partition (cut < <> x) xs) `(,@(qsort l) ,x ,@(qsort r))))))次になるべく似せたHaskellのコード import List qsort…