Huh. That's a strange thought to me.

I execute a bunch of verbs on the same arguments **all the time**,
especially when I'm working with input/output or mutable data:

- parser combinators
- virtual machines
- terminal i/o

Usually the argument in question is the empty string or some kind of state
object.

If I'm composing parsers to match your name, I want to write something like:

(match@'Henry')`(match@'Rich')

not:

(match@'Rich') @ (match@'Henry')

Sure, the latter works, but it's silly, and gets progressively worse as the
size of the language grows.

Sometimes the natural way to express things is left to right.
J doesn't make you write strings or numeric arrays backwards.

Thankfully, now that I have my answer,  I can just use:

  run =:`:0

... and then redefine 'run' in the future if `:0 ever gets removed. :)


On Thu, Sep 30, 2021 at 3:00 PM Henry Rich <henryhr...@gmail.com> wrote:

> I would vote to delete u`:0 rather than extend it.  Executing a bunch of
> verbs on the same arguments?  Not a very useful thing I think.
>
> Using [ to separate executions is The J Way.  Very efficient. Train
> yourself to get used to it.
>
> Newlines are even better.  Then you can put a comment on each line.
>
> Henry Rich
>
> On 9/30/2021 2:42 PM, Michal Wallace wrote:
> > That is unfortunate.   Normally, I am perfectly comfortable with [ and @
> > to do function composition, but sometimes I really wish to convey the
> idea
> > of a sequence,
> > and it just doesn't feel like the same thing as function composition to
> me.
> >
> > (So I prefer newlines to [ or @ in these situations, but then that wastes
> > vertical space...)
> >
> > How would you feel about  introducing, say,
> > `:_1 (and perhaps `:1 ) that guaranteed a left-to-right (and
> right-to-left)
> > order, explicitly?
> >
> > `:1 would just be   (|.m)`:_1
> > `:1 would just be an alias for the current implementation,
> > which would not change alongside `:0 if `:0 changes in the future.
> >
> >
> >
> > On Thu, Sep 30, 2021 at 2:32 PM Henry Rich <henryhr...@gmail.com> wrote:
> >
> >> You cannot count on the order.  All you know is that each cell of the
> >> result corresponds to an AR in the gerund.
> >>
> >> To execute short sentences the usage
> >>
> >> sentencen [ ... [ sentence2 [ sentence1
> >>
> >> can't be beat unless one of the sentences produces a modifier.
> >>
> >> Henry Rich
> >>
> >> On 9/30/2021 2:15 PM, Michal Wallace wrote:
> >>> Today I discovered that `:0 executes the gerund in series from left to
> >>> right.
> >>>
> >>> The execution order isn't specified in the docs (as far as I can tell),
> >> so
> >>> I wonder if it's an implementation detail subject to change, or if I
> can
> >>> rely on this?
> >>>
> >>> Almost all of the cases where I want '..' as a statement handler have
> >>> to do with executing small imperative niladic instructions in sequence,
> >>> and it seems like `:0'' handles that perfectly:
> >>>
> >>>     NB. after loading tangentstorm/j-kvm/vt:
> >>>     (bg@16b111122)`(fg@_15)`cscr`(goxy@5 5)`(puts@('hello',CRLF))`:0''
> >>>
> >>> (set the colors, clear the screen, go to position 5,5 and emit
> 'hello'...
> >>> in that order!)
> >>>
> >>> So... Can I count on this execution order?
> >>> ----------------------------------------------------------------------
> >>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> >> --
> >> This email has been checked for viruses by AVG.
> >> https://www.avg.com
> >>
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
>
> --
> This email has been checked for viruses by AVG.
> https://www.avg.com
>
> ----------------------------------------------------------------------
> 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