OFFSET
0,3
LINKS
A. Karttunen, Gatomorphisms (with the complete Scheme source)
PROG
(Scheme functions implementing this automorphism on list-structures:)
(define (gma082353! s) (cond ((not (pair? s)) s) ((not (pair? (cdr s))) s) ((not (pair? (car s))) (robr! (swap! s))) (else (robr! s))))
(define (robr! s) (let ((ex-cdr (cdr s))) (set-cdr! s (caar s)) (set-car! (car s) ex-cdr) (swap! (car s)) (swap! s) s))
(define (swap! s) (let ((ex-car (car s))) (set-car! s (cdr s)) (set-cdr! s ex-car) s))
CROSSREFS
KEYWORD
nonn
AUTHOR
Antti Karttunen, Apr 17 2003
STATUS
approved