You have a point.

But not much of one: the language freely converts between the numeric 
datatypes, and any verb that called 4 not-equal-to 8%2 would be useless.
I don't think that's what June Kim is looking for.  [ -:&(3!:1) would do 
  that, and probably nothing less rigid]

Or, as you have put it on other occasions, since the only way to 
distinguish 4 from 8%2 is by using a foreign, we should consider that 
distinction as outside the language.

But I have many times gotten burned by having empties of different types 
match.  Dyad ~. would, I think, solve the problem June Kim actually has.

Henry Rich



Roger Hui wrote:
> An interesting idea.
> 
> However, it still does not do what June Kim wants, 
> which is that things that "match" (or are "equal") 
> should be [inter]replaceable. For that to happen
> you'd have to say that 4 and 8%2 are not "equal".
> (The former is 4 bytes whereas the latter is 8 bytes.)
> 
> 
> 
> ----- Original Message -----
> From: Henry Rich <[email protected]>
> Date: Wednesday, May 27, 2009 17:29
> Subject: Re: [Jprogramming] confused about different emptiness
> To: Programming forum <[email protected]>
> 
>> It's 'match', not 'identically equal to'.  The problem is 
>> that you want 
>> it to mean 'identical', but it doesn't.
>>
>> For years I have made the same argument you are making.  I 
>> have been 
>> ignored.
>>
>> I have come to the conclusion that I was wrong.  (But I 
>> still have an 
>> improvement to suggest below.)
>>
>> There are a number of cases where the interpreter treats all 
>> empty 
>> operands as identical.  It is a good thing to have a 
>> primitive that can 
>> calculate that way.
>>
>> The biggest defect in having only -: is when the operands are 
>> boxed, and 
>> you need to test for exact identity all through the boxing 
>> levels.  That 
>> is a pain.
>>
>>
>> Suggestion:
>>
>> Why not define dyad ~. to mean 'identicalto', in rank, shape, 
>> value, AND 
>> TYPE (numeric/literal/symbol).  That would solve the 
>> problem of 
>> detecting deep equality, and also plug the gap in the language, 
>> where 
>> currently there is no primitive to tell whether two nouns are 
>> identical.
>> Henry Rich
>>
>>
>>
>> June Kim wrote:
>>> I like weak-typing and see its advantages.
>>>
>>> Regardless of that, when two things match each other, it seems 
>> natural> they are replaceable. But in this case, they are not 
>> and they behave
>>> differently(the results do not match) on "take". The 
>> programmer could
>>> make some mistakes from this.
>>>
>>>
>>> On Wed, May 27, 2009 at 10:23 PM, Devon McCormick 
>> <[email protected]> wrote:
>>>> Mr. Kim -
>>>>
>>>> I disagree.  A language like J benefits tremendously 
>> from weak-typing and
>>>> the equivalence of empty arrays is an outcome of this, just 
>> like the
>>>> numerical equivalence of other objects which differ 
>> internally, e.g.
>>>>    datatype -.1
>>>> boolean
>>>>    datatype 1.1-1.1
>>>> floating
>>>>    (-.1)-:1.1-1.1
>>>> 1
>>>>
>>>> Obviously, we have a simple way to get at "internal" 
>> information, like
>>>> type.  However, it's much more useful to hide internal 
>> differences like that
>>>> for comparison purposes.  In my view, the preference of 
>> many computer
>>>> scientists for strong-typing is misguided because, as a 
>> practical matter, it
>>>> complicates things unnecessarily.
>>>>
>>>> Regards,
>>>>
>>>> Devon
>>>>
>>>> On Wed, May 27, 2009 at 4:25 AM, June Kim 
>> <[email protected]> wrote:
>>>>>    '' ;&datatype I.0
>>>>> +-------+-------+
>>>>> |literal|integer|
>>>>> +-------+-------+
>>>>>
>>>>> It seems like there are different emptiness for every 
>> datatype but
>>>>> they all match same. I think it's more natural they don't match.
>>>>>
>>>>> On Wed, May 27, 2009 at 5:08 PM, June Kim 
>> <[email protected]> wrote:
>>>>>>    ''-: I. 0
>>>>>> 1
>>>>>>    {. ''
>>>>>>
>>>>>>    {. I.0
>>>>>> 0
>>>>>>
>>>>>> Shouldn't '' -:&{. I.0 be true, given ''-:I.0?
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to