Michal, I slightly favor having a statement separator. Others are violently opposed. You have started an interesting discussion that might take a while to pick up steam. Don't give up yet!
There are some complicating issues, such as debug. On Mon, Jul 26, 2021 at 4:57 AM Michal Wallace <[email protected]> wrote: > 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 > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
