On 2023-06-07, Claudio Calvelli <c.n...@w42.org.invalid> wrote:
> Example syntax:
>
> DO CLOSE OFF (label1) TO (label2) AND DIVERT VIA (label3) TO (label4)
> [WHILE NOT CLOSING IT OFF]
OK, that's implemented with slightly different syntax:
DO CLOSE OFF BETWEEN (label1) AND (label2)
AND DIVERT VIA (label3) TO (label4)
[WHILE LEAVING IT OPEN]
This is essentially a generalisation of ABSTAIN FROM applied to a whole
block of statements at once, combined with a COME FROM to insert some
new code where the program would have been executing the closed-off
section.
Therefore there is a need to extend REINSTATE the same way, and I've
implemented:
PLEASE REOPEN BETWEEN (label1) AND (label2)
[WHILE LEAVING IT CLOSED]
Now, on to my next item in the "TO DO" list, making registers a bit less
boring. I mean, any programming language can have variables which you
can assign a value to, and then when you go looking later they still
have the same value. How boring is that? Even things like volatile
variables suffer from the same problem: either another thread assigns to
them, or maybe they are connected to a bit of hardware, or in any case
there is always something assigning to them.
There must be a way for CLC-INTERCAL to make registers more interesting,
and I am working on an idea (this is a general health warning).
C