scheme

すげぇ!

:h new-omni-completion したら下の下に *new-MzScheme* なる文字が! The MzScheme interpreter is supported. |MzScheme| vimでSchemeがtukaeる!早速再コンパイルして :mzscheme (version) 299.400万歳!! めも Make_ming.makを編集。 # uncomment 'MZSC…

y

(define (y f) (lambda ... (apply (f (y f)) ...))) (define (make-fib f) (lambda (n) (if (<= n 0) 1 (+ (f (- n 1)) (f (- n 2)))))) (define fib (y make-fib))ほんとかよ gosh> (map fib '(-1 0 1 2 3 4 5 6 7 8 9 10)) (1 1 2 3 5 8 13 21 34 55 89 1…

順列に対する手続き

組み合わせパズルなんかを解くときに楽。かもpermutations-any,permutations*-any。util.combinationsに追加って感じで*1 (define (but-kth lis k) (receive (head tail) (split-at lis k) (append! head (cdr tail)))) (define (any-with-index pred lis1 .…

冪集合を求める

(リストを集合とみなして) (use srfi-1) ;; append-map (define (my-power-set set) (if (null? set) '(()) (append-map (lambda (subset) `((,@subset ,(car set)) ,subset)) (my-power-set (cdr set)))))gosh> (my-power-set '(a b c d e)) ((e d c b a) (…

俺アルゴリズムとか勉強するよ

ってかしなきゃいけないんだけど。マスターした暁には貧乳美少女になれると信じて!Program Promenade 2003年1月号(PDF)より、Hammingの問題: 2,3,5以外の数を素因数に持たない数で、小さいほうからn番目を求める。 ; vim: set filetype=gauche: (use srfi-1…

はすけるでクイックソート

たまにはコードとか書く!! qsort [] = [] qsort (x:xs) = qsort [y | y <- xs, y < x] ++ [x] ++ qsort [y | y <- xs, y >= x]マジかっこいいです。*1Scheme(Gauche)でクイックソートはこんな感じなんですかね。 (use srfi-1) ; filter (use util.match) (de…

clispとgauche

Common LispでCGI動かしてみる→んー→Schemeかっこいい!→gauche→遅い気が…→(最初に戻る)