I believe the book's qualms about calling that a solution involve the possibility of a combinatorial explosion if the language forces you do define all possible pairings, and the opacity and artificial stupidity of the solution if the computer is attempting to use artificial intelligence to second-guess the programmer's ideas of what should be intuited when types are not arrangeable in a simple "tower".
Of course, this does not stop us from trying to solve the problem anyway... `:)` | [reply] |

Exactly.
If you limit yourself to a few numeric types, the problem won't seem to be that big a deal. If you know the long list of numeric types that mathematicians have (including many number of parametrized families of numeric types), it starts to become harder. Particularly when the answer has to be a different type than either operand (eg a Gaussian integer plus a rational number is generally a Gaussian rational).
| [reply] |

I think that's a problem with mathematics, not with programming languages. When you define a new type of number, and you want to be able to use it in arithmetic operations with other numbers, you have to define what the outcome will be.
Mathematicians are a bit sloppy about this sometimes because they except you to know what the right thing is, but if they aren't sloppy have to go through the same motions as somebody who writes a class for a new numeric type in Perl 6.
So of course you are right in the sense that Perl 6 doesn't solve a problem that's not yet solved in mathematics, but I think it might be a bit too optimistic to really expect that ;-)
| [reply] |

Of all the Perl programs written, how many will use Gaussian numbers?
Or look at it another way. How many Perl programs will make use of all that "long list of numeric types that mathematicians have"?
The vast majority of Perl programs will use nothing more than the basics, and the few that do will each probably only use one or two of those exotics. So long as whatever packages are used to provide the required conversions between the exotic types they implement and one of the built in basic types, where applicable, everyone is happy.
Conclusion: The theoretical problem of a combinatorial explosion of type conversions never arises.
| [reply] |

That response reminds of something Prof. Irwin Corey would say. (Yeah I'm that old :-) )
| [reply] |