Гонять символ→строки→символы совершенно неспортивно. Наверное, лучше
изменить стандартный ридер так, чтобы он на лету считывал foo.bar.baz
в более удобную форму (то есть, заменить `dotted->seq` модификацией
ридера). Сделай сам :)
В рамках чистого R5RS это и невозможно сделать. Однако, в любой реализации Схемы, где есть православный define-macro, это делается элементарно - (define-macro (unroll-dots . rest) (your-function-that-unrolls-those-bloody-dots rest))