Add qsort3.
[scheme-dev.git] / test.scm
blob9523ec5b4a84dc70984a614be2f9963ec2c7bd44
1 (define (replicate obj times)
2   (let r ((target '()) (rt times))
3     (if (= 0 rt)
4         target
5         (r (cons obj target) (- rt 1)))))
7 (replicate "a" 100)
9 (define (qsort x)
10   (if (null? x)
11       '()
12       (let* ((piv (car x))
13              (smaller (qsort (filter (lambda (y) (< y piv)) (cdr x))))
14              (larger (qsort (filter (lambda (y) (>= y piv)) (cdr x)))))
15         (append smaller (cons piv larger)))))
17 (qsort '(1 1234 34 12 412 4312 431 234 1234 12))
20 (filter (lambda (x) (> x 5)) '(2 4 6 8 10))