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