; http://stackoverflow.com/q/36683515/1116364
(define (take lst n)
(if (= n 0)
'()
(cons (car lst) (take (cdr lst) (- n 1)))))
(define (partition-all n step coll)
(if (not (null? coll))
(cons (take coll (min n (length coll)))
(partition-all n step (list-tail coll (min (length coll) step))))
'()))
(display (partition-all 3 2 '(a b c d e f g)))
OyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcS8zNjY4MzUxNS8xMTE2MzY0CgooZGVmaW5lICh0YWtlIGxzdCBuKQogIChpZiAoPSBuIDApCiAgICAgICcoKQogICAgICAoY29ucyAoY2FyIGxzdCkgKHRha2UgKGNkciBsc3QpICgtIG4gMSkpKSkpCgooZGVmaW5lIChwYXJ0aXRpb24tYWxsIG4gc3RlcCBjb2xsKQogIChpZiAobm90IChudWxsPyBjb2xsKSkKICAgICAgKGNvbnMgKHRha2UgY29sbCAobWluIG4gKGxlbmd0aCBjb2xsKSkpCiAgICAgICAgICAgIChwYXJ0aXRpb24tYWxsIG4gc3RlcCAobGlzdC10YWlsIGNvbGwgKG1pbiAobGVuZ3RoIGNvbGwpIHN0ZXApKSkpCiAgICAgICcoKSkpCiAgICAgICAgICAgIAoKKGRpc3BsYXkgKHBhcnRpdGlvbi1hbGwgMyAyICcoYSBiIGMgZCBlIGYgZykpKQo=