These are not bugs. 3r1 and 3x are not "demoted" to facilitate incorporating extended precision numbers into the language.
On Fri, Aug 19, 2016 at 8:42 PM, bill lam <[email protected]> wrote: > Actually rational 3r1 does not demoted to integer after parsing, > 3r1 > 3 > 3!:0[3r1 > 64 > > Similarly for extended integer > 3x > 3 > 3!:0[ 3x > 64 > > > Perhaps this is a bug but I cannot be sure. > > Пт, 19 авг 2016, dhkelly написал(а): > > 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 > > -- > regards, > ==================================================== > GPG key 1024D/4434BAB3 2008-08-24 > gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
