Come on... :) Obviously I know how to write the code I wrote. :D
Yes, I can write the whole thing like this:

puts@']' fgc@9 puts 4 {. s=.1|.s [ fgc@15 puts@'[' goxy xy [ bgc 4 [ fgc 9

I'm just saying it looks backwards and awkward to me.

This thing draws a string on the screen that looks like   [.oOo] in
various colors, and the .oOo part is extracted from a larger string
so it looks like a little indicator that the machine is still doing
something
or waiting for you to do something. (Or rather, this draws one frame of the
animation)

If I were putting that string together without setting the colors and
moving the cursor, i'd write:

echo '[', (s=.1|.s), ']'

But with the color and cursor stuff, I seem to have to break it into
multiple lines, or write it backwards.

In this particular case, what I plan to do instead is write a little
language that lets me set colors
and move the cursor in the natural order, so it's not a big deal... (Maybe
for J, i'll just make a
"left-to-right" verb that operates on gerunds or something...)

But... lately, I've also been working on some parser combinators, and a
small virtual machine.
In all these cases, I have bits and pieces of the code which are more
naturally expressed as
sequences of imperative operations, rather than function compositions, and
I find myself
wanting this same statement separator.

I use K every day at work, and it uses the semicolon for this purpose. I
often find myself wishing K
had forks, and J had statement separators. (and native dictionaries, and a
literal syntax for symbols.. :))

Anyway, I noticed '..' was free now and it seems to have a nice symmetry
with '{{' and '}}'
and I thought it might be a good notation for this.

I don't really expect this proposal to make it into the language (for one
thing, it's not clear to me that
there's an actual process by which language decisions get made), but... I
also didn't expect we'd
ever get anything like {{ and }} (which I've also wanted forever), so I'm
asking.



On Sun, Jul 25, 2021 at 9:45 PM 'robert therriault' via Programming <
[email protected]> wrote:

> Hi Michal,
>
> In your first line you are already doing what I would do, which is to use
> [ to separate the different results.
>
> goxy xy [ bgc 4 [ fgc 9
>
> You can continue to do that as long as you get the order right and lower
> things vertically would precede the upper ones
>
> fgc 15 [ puts '[' [ goxy xy [ bgc 4 [ fgc 9
>
> or perhaps I am misunderstanding what you are trying to do.
>
> Cheers, bob
>
>
>
> > On Jul 25, 2021, at 17:00, Michal Wallace <[email protected]>
> wrote:
> >
> > I love the new '{{' and '}}' ...
> >
> > what are the chances we could bring '..' back as a statement separator,
> at
> > least inside these new double curly braces?
> >
> > Often I have a bunch of really short lines that I would love to just
> stick
> > on one line, like this demo code from the terminal library I'm working
> on:
> >
> >  while. -. keyp'' do.
> >    goxy xy [ bgc 4 [ fgc 9
> >    puts '['
> >    fgc 15
> >    puts 4{. s=.1|.s
> >    fgc 9
> >    puts']'
> >    sleep 150
> >  end.
> >
> > I can easily stick these on one line with @ or [: but the code winds up
> > feeling very backward, so I find myself just using newlines and wasting a
> > lot of vertical space on my screen.
> >
> > One answer here is to make a mini-language for terminal operations that I
> > can just pass as a string, but there are other places where I find myself
> > wishing I could just write a sequence of expressions (evaluated
> > right-to-left as usual) but all on one line, and sequence them from left
> to
> > right... (I use K at work, and this is a pretty natural style)
> > ----------------------------------------------------------------------
> > 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