Oops, yes - and also faithful to the original.

Thanks,

-- 
Raul


On Sun, Oct 15, 2017 at 10:52 PM, Roger Hui <[email protected]> wrote:
> Isn't it simpler as:
>
>    jdot=: 0j1&* : (+ 0j1&*) " 0
>
> Although, the point isn't that it can be defined simply.  The point is to
> have such a function as a primitive.
>
>
>
>
> On Sun, Oct 15, 2017 at 5:38 PM, Raul Miller <[email protected]> wrote:
>
>> Well... I do have to admit that j. is both easier to type and (without
>> considerable complex work) significantly more efficient than
>>
>>    jdot=: ((], 0j_1*-) -:@(++)) : (+ 0j1*])"0
>>
>> It can also be nice to use.
>>
>> Thanks,
>>
>> --
>> Raul
>>
>>
>> On Sun, Oct 15, 2017 at 6:55 PM, Roger Hui <[email protected]>
>> wrote:
>> > This is a very interesting topic: What should be a primitive?
>> >
>> > For example, why do you think j. is a primitive?  This is exercise 8 in
>> *Some
>> > Exercises in APL Language Design
>> > <http://www.jsoftware.com/papers/APLDesignExercises.htm>*.  A possible
>> > answer is also included there.  I don't know that that is _the_ answer in
>> > the context of J.  Iverson designed it and I implemented it without
>> > discussion.  (I should have asked him about it.)  I think the j. function
>> > is one of those masterstrokes which separates a master from the rest of
>> us.)
>> >
>> > I don't think there is a simple answer to the first question above.  I
>> > believe you have to consider the five "important characteristics of
>> > notation", found in *Notation as a Tool of Thought
>> > <http://www.jsoftware.com/papers/tot.htm>*.  Note that non-redundancy is
>> > not included.
>> >
>> >
>> >
>> >
>> >
>> > On Sun, Oct 15, 2017 at 9:04 AM, Raul Miller <[email protected]>
>> wrote:
>> >
>> >> It's interesting to note how J includes a fair bit of redundancy
>> >>
>> >> For example, we have - but we also have <: (which is -&1) and we have
>> >> -. (which is 1&-). Why do we have these?
>> >>
>> >> Primarily, for educational contexts. It can be useful when teaching
>> >> people to have specific words for commonly used operations.
>> >>
>> >> The underlying principle here, I think, is one of giving people
>> >> multiple perspectives when relaying a concept. I think the hope is
>> >> that at least some of it will "stick".
>> >>
>> >> But, also, for example, using -. for logical negation segues easily
>> >> into bayesian probability. There, we do not simply have 1 and 0 for
>> >> true and false, but we have a whole range of probabilities in between.
>> >> We can keep using -. for logical negation (it becomes the probability
>> >> of the event NOT happening), but we have to switch from *. to * for
>> >> combing events.
>> >>
>> >> If A and B are independent probability variables then A*B is the
>> >> probability that both are true. Similarly, if A and B are logical
>> >> variables, then A*B is true if and only if both A and B are true. We
>> >> can use * for logical AND. But the corresponding OR statement would be
>> >> *&.-.
>> >>
>> >> And J does not define that "bayesian OR" as a primitive, perhaps in
>> >> part to emphasize the need for understanding its derivation, perhaps
>> >> in part because it's only 5 characters already to get the
>> >> implementation and perhaps in part to emphasize the divide between
>> >> probability and logic.
>> >>
>> >> Anyways, without -. we would instead need *&.(1&-) which is just a bit
>> >> more unwieldy (but which, ok, would still work).
>> >>
>> >> Food for thought, perhaps...
>> >>
>> >> Thanks,
>> >>
>> >> --
>> >> 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
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
> ----------------------------------------------------------------------
> 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