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
> <mailto: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
>     <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
>     <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
>     <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