I had not noticed it getting cut. I guess I should be thankful for the
wisdom of google engineers (and their microsoft predecessors) in
mandating proportional spaced fonts and the corresponding fixed-width
automated line-wrapping (which happens well after the message gets
sent)...

So, first: thank you for catching this.

That said, if there was no space at that point in the line, I do not
think the line would have wrapped there (since there were other spaces
nearby).

(That said, given the general insanity of these design mandates, I
guess I should not assume that there should be anything sane about
where they decide to wrap the line. But just think about the many
millions of dollars in high priced management talent that went into
this!! Clearly, I missed my calling...)

Thanks again,

-- 
Raul


On Sat, Mar 26, 2016 at 4:28 PM, Jose Mario Quintana
<[email protected]> wrote:
> Space punctuation can be critical given J's grammar.  Unfortunately, the
> definition of the code line of the algorithm got cut at a crucial point; is
> it
>
> (<. <./ .+~)^:_  or  (<. <./. +~)^:_  ?
>
> It is the former (since  <./  is finding a minimum value); this is the verb
> in action using the Wikipedia example:
>
>    C=. 0 _ _2 , 4 0 3 _ , _ _ 0 2 ,: _ _1 _ 0
>
>    fw=. (<. <./ .+~)^:_
>
>    C ; fw C
> ┌─────────┬─────────┐
> │0  _ _2 0│0 _1 _2 0│
> │4  0  3 _│4  0  2 4│
> │_  _  0 2│5  1  0 2│
> │_ _1  _ 0│3 _1  1 0│
> └─────────┴─────────┘
>
> Make sure you do not try the latter for this example: lots of fun there!  ;)
>
>
> On Fri, Mar 25, 2016 at 3:22 PM, Raul Miller <[email protected]> wrote:
>
>> I have, more than once, taken a J program and re-implemented it in a
>> different language. Sometimes taking a significant slowdown (like
>> maybe a factor of 3) to do so.
>>
>> One reason has to do with deployment of fresh machine instances. For a
>> variety of reasons, J has not been available on widely available
>> machines.
>>
>> (That is slowly changing, now that we've got the GPL instance of J,
>> but it's not an instant process.)
>>
>> (On the positive side, though, our community has yet to be inflicted
>> with things like left-pad.io - though I could easily imagine the day
>> when someone packages a wrapper for negative number {. on literals,
>> later decides that that was a bad idea, and then lots of people spend
>> their day talking about that and how awful it is.)
>>
>> Hmm... that said, for the subject line of this thread, I'd say this
>> should have gone in the chat forum, and that the answer would be
>> probably yes, but probably not because of anything posted in this
>> thread.
>>
>> And, to salve my own "programming forum" conscience, I'm going to
>> mention the Floyd-Warshall algorithm, which in J looks like: (<.   <./
>> .+~)^:_
>>
>> (This takes a connection cost matrix and returns the minimum
>> transitive cost. It doesn't give you the specific path, but just
>> having the best path cost helps you prune most of the cruft from a
>> search for a best path.)
>>
>> --
>> Raul
>>
>>
>> On Fri, Mar 25, 2016 at 2:59 PM, Dan Bron <[email protected]> wrote:
>> > Every time I learn a new programming language, I spend about 2 days
>> implementing utilities directly inspired (read: stolen) from J.
>> >
>> > Not so much hook / fork or other composition functions, but things like
>> /. (key) and #: (antibase) and so on, which are unreasonably effective in
>> the actual practice of programming.
>> >
>> >
>> >
>> >> On Mar 23, 2016, at 12:51 PM, David Lambert <[email protected]>
>> wrote:
>> >>
>> >> I had an assignment to write a python program, and I've used python
>> daily for 15 years.  I wrote the program in j then translated to python.
>> The python includes
>> >>
>> >> # some definitions from j
>> >> hook_monad = lambda u, v: lambda y, u=u, v=v: u(y, v(y))
>> >> fork_monad = lambda u, v, w: lambda y, u=u, v=v, w=w: v(u(y), w(y))
>> >> hook_dyad = lambda u, v: lambda x, y, u=u, v=v: u(x, v(y))
>> >> fork_dyad = lambda u, v, w: lambda x, y, u=u, v=v, w=w: v(u(x,y),
>> w(x,y))
>> >> At_monad = lambda u, v: lambda y, u=u, v=v: u(v(y))
>> >>
>> >> ----------------------------------------------------------------------
>> >> 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