A while back I wrote a parser for R6RS Scheme numbers, or the
string->number procedure. Numbers in Scheme are somewhat
sophisticated and can be written in some surprising variations and I
wanted some test inputs for verifying that the parser doesn’t crash on
valid inputs. Luckily, the number syntax is specified in such a way
that a Prolog program easily can be written that generates test inputs.