; stalin sort
(define (stalin lt? xs)
(if (or (null? xs) (null? (cdr xs))) xs
(if (lt? (cadr xs) (car xs))
(stalin lt? (cons (car xs) (cddr xs)))
(cons (car xs) (stalin lt? (cdr xs))))))
(display (stalin < '(1 2 5 3 5 7)))
OyBzdGFsaW4gc29ydAoKKGRlZmluZSAoc3RhbGluIGx0PyB4cykKICAoaWYgKG9yIChudWxsPyB4cykgKG51bGw/IChjZHIgeHMpKSkgeHMKICAgIChpZiAobHQ/IChjYWRyIHhzKSAoY2FyIHhzKSkKICAgICAgICAoc3RhbGluIGx0PyAoY29ucyAoY2FyIHhzKSAoY2RkciB4cykpKQogICAgICAgIChjb25zIChjYXIgeHMpIChzdGFsaW4gbHQ/IChjZHIgeHMpKSkpKSkKCihkaXNwbGF5IChzdGFsaW4gPCAnKDEgMiA1IDMgNSA3KSkpCg==