[Jprogramming] possibly heretical proposal : .. as sentence separator ?

Henry Rich henryhrich at gmail.com
Tue Jul 27 14:57:25 UTC 2021


That magic required tearing up a lot of code.  It was worth it for {{ }} 
but surely not for a sentence separator.

Henry Rich

On 7/27/2021 9:15 AM, 'Pascal Jasmin' via Programming wrote:
> it would be the same magic as {{ distinguished from { { (without space)
>
>
>
>
>
>
> On Tuesday, July 27, 2021, 09:13:01 a.m. EDT, 'Mike Day' via Programming <programming at jsoftware.com> wrote:
>
>
>
>
>
> Except <> is a valid train, so would need special treatment.
>
> I suppose the user could set a separator string or strings of their choice,  probably in a config file.
>
> Cheers,
>
> Mike
>
> Sent from my iPad
>
>> On 27 Jul 2021, at 09:48, Mike Day <mike_liz.day at tiscali.co.uk> wrote:
>>
>> ... or even <> a la APL!?
>> Mike
>>
>> Sent from my iPad
>>
>>> On 27 Jul 2021, at 02:18, Henry Rich <henryhrich at gmail.com> wrote:
>>>
>>> I don't see much downside to implementing a sentence delimiter, except for a nagging feeling that the good Lord left that space for you to put commentary in.
>>>
>>> Take a moment to consider what is the best delimiter.  I prefer >:: to .. or ... because it shows the left-to-right order.
>>>
>>> Henry Rich
>>>
>>>> On 7/26/2021 10:44 AM, 'Michael Day' via Programming wrote:
>>>> APL lives/d with the diamond separator,  which works from left to right,  in addition to
>>>> left tack and right tack (in Dyalog anyway) which are similar to J's [  and  ]  .
>>>>
>>>> So this modification might help recruit any APL-ers still averse to or unaware of J.
>>>>
>>>> Cheers,
>>>>
>>>> Mike
>>>>
>>>>> On 26/07/2021 14:47, Eric Iverson wrote:
>>>>> 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 <michal.wallace at gmail.com>
>>>>> 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 at 9 puts 4 {. s=.1|.s [ fgc at 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 <
>>>>>> programming at jsoftware.com> 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 <michal.wallace at gmail.com>
>>>>>>> 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
>>>>
>>>
>>> -- 
>>> 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
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm



More information about the Programming mailing list