codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
; split (define (split xs) (let loop ((ts xs) (hs xs) (zs (list))) (if (or (null? hs) (null? (cdr hs))) (values (reverse zs) ts) (loop (cdr ts) (cddr hs) (cons (car ts) zs))))) (define (display-split xs) (call-with-values (lambda () (split xs)) (lambda (front back) (display front) (newline) (display back) (newline)))) (display-split '()) (newline) (display-split '(1)) (newline) (display-split '(1 2)) (newline) (display-split '(1 2 3)) (newline) (display-split '(1 2 3 4)) (newline) (display-split '(1 2 3 4 5)) (newline)
Private
[
?
]
Run code