Handling 3r1 or 3j0 as being different than 3 does add complexity to
the J interpreter
without adding anything worth while in the essentially mathematical
representation. as 3r1 and 3j0 ARE the integer 3 in any sense.
Representing either differently requires wasting of memory space and
associated overhead. Working with complex numbers is simply recognizing
that real numbers are along the real (call it x ) axis and the j0 is not
needed.
Much of the advantage of J and APL are that if a number is
sufficiently close to an integer -treat it as such and let the idiot box
sort it out.
Put it this way, would you like to carry this to the extreme and
represent all numbers in the same format (3j0)r(1j0) and God help us
where floats are concerned.
As Bob has suggested - the use of +. does the job of getting from 1j0
to 1 0 as it also does for getting from 1 to 1 0 (+.1 is 1 0 correctly).
The set of real numbers and real fractions (either as rational or
float) is simply a subset of the set of complex numbers - a "complex"
number of 1jo is the real number 1
In other words, the mathematical use of complex numbers or rational
fractions in J is elegant. Expressing numbers such as 3r1 or 3j0 as
formatted character pairs (3,1) .(3,0)
appears to be of little use but I would like to see applications where
this is needed.
Don Kelly
On 8/19/2016 7:11 AM, robert therriault wrote:
Bill,
If you extended this idea to rationals so that 3r1 displayed as 3r1 instead of
3 then you would have a way to distinguish rational and extended types from
integers.
This could be done with floats as well, so that by including the decimal point
and the right 0, you could immediately see that 1.0 was a float result and was
different from the integer 1.
Unicode and literal would still be a challenge to differentiate using text
alone, but being able to clearly differentiate the numerical types through text
display may be something to think about.
Cheers, bob
On Aug 19, 2016, at 12:58 AM, bill lam <[email protected]> wrote:
If you can take away the if(v->im) check, it then always displays
both real and imaginary parts. Not sure this should be done but
it looks harmless.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm