Should "say" handle junctions and wrap them with ".gist?" Seems like it
ought to, but maybe that introduces problems.

-y

On Sun, Feb 25, 2018 at 11:48 AM, Timo Paulssen <t...@wakelift.de> wrote:

> That's right. Say will also call .gist on what you pass to it, but say
> doesn't declare that it handles junctions, so before it can call .gist on
> what it gets, it will be handled by the auto-threader, so you'll get say,
> and therefor .gist, called on everything inside the junction and the result
> will be re-combined into a junction again.
>
> On 25/02/18 12:05, yary wrote:
>
> I don't have Rakudo handy, is the answer to "how to make junctions show as
> Sean expects"
>
> say $junction.gist ;
>
> ?
>
> -y
>
> On Sat, Feb 24, 2018 at 7:27 PM, Timo Paulssen <t...@wakelift.de> wrote:
>
>> I'm pretty sure you're running up against this change in rakudo:
>>
>> https://github.com/rakudo/rakudo/blob/master/docs/ChangeLog#L203
>> >     + Made print/say/put/note handle junctions correctly [07616eff]
>> >        [9de4a60e][8155c4b8][3405001d]
>>
>> the relevant commits being:
>>
>> https://github.com/rakudo/rakudo/commit/07616eff
>> > Make print/say/put/note handle junctions correctly
>> >
>> > - well, for some value of correctly
>> > - introducing helper method Junction.THREAD
>> > - to be used if you have a multi with **@foo as a signature
>> > - print/say/put/note now return Junction if given a Junction
>>
>> https://github.com/rakudo/rakudo/commit/3405001d
>> > Make put/print "a",any(<b c d>) work
>> >
>> > - we already had a candidate for handling a Junction, but not if part
>> of a List
>> > - simplified the code to let List.join do the hard work
>> > - which automatically takes care of the Junction issue
>>
>> You're not getting junctions "stringified as one alternative per line",
>> rather you're getting the default auto-threading that junctions do and
>> the say is being run once per value in the junction.
>>
>> Hope that clears things up
>>   - Timo
>>
>
>
>

Reply via email to