Not the maximum of the types:
3!:0@,&>/~ 0&$&.> 0;'';2;0.5;1j1;a:;2x;2r3;(s:<'abc')
1 2 4 8 16 32 64 128 65536
2 2 4 8 16 32 64 128 65536
4 4 4 8 16 32 64 128 65536
8 8 8 8 16 8 8 8 8
16 16 16 16 16 16 16 16 16
32 32 32 8 16 32 64 128 65536
64 64 64 8 16 64 64 128 65536
128 128 128 8 16 128 128 128 65536
65536 65536 65536 8 16 65536 65536 65536 65536
Henry Rich
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Raul Miller
> Sent: Wednesday, March 14, 2007 10:15 PM
> To: General forum
> Subject: Re: [Jgeneral] A typical challenge (was: definition of a:)
>
> On 3/14/07, Henry Rich <[EMAIL PROTECTED]> wrote:
> > but I can't see why this is guaranteed.
>
> I don't think it is guaranteed.
>
> That said, I think this happens because of the
> interaction between the argument conversion
> table at http://www.jsoftware.com/help/dictionary/dictg.htm
> and the values specified for 3!:0 for those types.
>
> Basically, when types are combined it looks like
> dictionary II.G specifies that the resulting type
> is the maximum of the to argument types.
>
> This holds true for numbers, and is unspecified
> for literals. When combined with a fundamental
> of good software (keep it simple), the result is
> almost [but not quite] inevitable.
>
> --
> Raul
> ----------------------------------------------------------------------
> For information about J forums see
> http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm