On Sun, Feb 8, 2026 at 4:14 PM Sven Schreiber
<sven.schreiber(a)fu-berlin.de> wrote:
Am 08.02.2026 um 19:58 schrieb Cottrell, Allin:
> On Sun, Feb 8, 2026 at 11:43 AM Sven Schreiber
> <sven.schreiber(a)fu-berlin.de> wrote:
>> Am 08.02.2026 um 14:39 schrieb Cottrell, Allin:
>>> On Sun, Feb 8, 2026 at 8:14 AM Sven Schreiber
>>> <sven.schreiber(a)fu-berlin.de> wrote:
>>>
>> Thanks, Allin! One more thought on this, though. As you've no doubt
>> noticed when you fixed it, this doesn't appear to be related to loops or
>> strings arrays. Instead here for me the simple following line already
>> produces the crash:
>>
>> <hansl-crash>
>> string s = "_" ~ 1
>> </hansl-crash>
> Hmm. At some point in 2024 there was an attempt to make string
> concatenation very flexible: we weren't going to insist on getting two
> strings as arguments, one of them could be an array of strings or a
> matrix, or a scalar -- except that the scalar case was not actually
> supported and led to a crash. In current git I've corrected the scalar
> case (previously I just made it an error), though I'm not sure the
> full generality is really wanted. Anyway, here are examples of what
> you can do:
>
> ...
>
> ? eval "egg" ~ 1
> egg1
> Done
> </gretlcli>
>
> In the matrix and scalar case negative values are not accepted, and we
> use the integer part of non-negative values. That policy is no doubt
> debatable too.
Right. Is the concatenation stuff even documented somewhere? I checked
the guide and the hansl manual, without much success. Or is it
unofficial and experimental...?
I'd say, unofficial and experimental.
Anyway, for a scalar I guess one can always use sprintf() in
principle
to convert it. But I remember that we thought the matrix postfix could
be useful.
The variant extensions to "string ~ string" are about relieving the
user of the need for a loop and/or use of sprintf. I'd be inclined to
drop the scalar case, at least. We should talk about this, decide what
if anything to keep, and document what we keep.
Allin