On Sep 21, 2015, at 11:49 PM, Mark H Weaver <mhw@netris.org> wrote:

2. The comments say integers are converted to exact and floating point
to inexact, but the code will convert 1.0 to exact.

In Scheme terminology, 1.0 is an integer.

But in guile-2.0.11:

scheme@(guile-user)> (exact? (string->number "1.0"))

$1 = #f


I also vote for using string->number: probably faster and more heavily tested.

Matt