If my recollection is correct, in LISP,
if I multiply two very large integers,
my result is a very large integer result.
Most other languages are likely to represent
the result as a truncated integer in some
form of so-called scientific notation.
To me, the LISP way makes more sense,
unless I specifically request an alternate
representation through some obvious action.
For example, in some languages, if I have
something like:
myIntegerResult =. myRealDoubleValue times myRealSingleValue
then I have specifically asked for an integer result,
which, BTW, I would hope to be a truncated result
rather than a rounded result.
Example: In Excel, a total may appear invalid
because of hidden rounding.
Order of operations in Excel is important.
If I sum two cells containing 5.499,
my total is 10.998; but, if I first
format those two cells as numbers with
two decimal places, then I sum them,
Excel will sum them as 11.00 (which still
hiding the internal value of 10.998).
In J and in other languages and applications,
I think the end-user needs to have more control
over what she/he sees and how she/he sees it.
J 5.04
111 % 333
0.333333
111 % 333 * 100000000
3.33333e_9
Windows calculator:
111 divided by 333 ====> 0.33333333333333333333333333333333
result * 100000000 ====> 33333333.333333333333333333333333
Obviously, one can not expect J or any other tool
to express infinite decimal results, however,
it is not unfair to expect some form of common convention, for example:
111 % 333
0.333333...
I think J has directives, although I am too much of a novice
to know them ... nevertheless, I would like to see some
non cryptic directives, example:
NOSCIENTIFIC
111 % 333 * 100000000
33333333.333333333333333333333333...
regards,
gerry
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm