Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-08-10

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 RabidGravy not sure but will try it out
00:00 jkva joined #perl6
00:01 skids An ideal DAC, sure.  Not many are though, and you have to make sure your data is in line level first, when it might be compressed.
00:02 ShimmerFairy .tell timotimo another clue: <a b>».comb also breaks, and .comb like .ords maps (^self.chars) and uses nqp::substr in the mapping (not sure if one or both are contributing). And in a custom ords implementation, something as simple as assigning (_just_ assigning; it returns) the mapping to $ or @ gets you the right thing (albeit itemized/Array-ified)
00:02 yoleaux ShimmerFairy: I'll pass your message to timotimo.
00:06 RabidGravy anyhow time to crash, cheers skids :)
00:11 BenGoldberg joined #perl6
00:13 laouji joined #perl6
00:22 ShimmerFairy .tell timotimo ah-hah! (1i, 2i)».roots(5) breaks too (the 5 doesn't matter); the problem seems to lie in mapping inside a deepmap. I think the problem lies in only binding (like := or bindpos) the kinds of maps Complex.roots and Str.ords return.
00:22 yoleaux ShimmerFairy: I'll pass your message to timotimo.
00:36 gnosti .tell gnosti test-yoleaux
00:36 yoleaux gnosti: Talking to yourself is the first sign of madness.
00:37 gnosti :)
00:40 laouji joined #perl6
00:40 ShimmerFairy I prefer 'impending mental collapse' over 'madness' :P
00:43 laouji joined #perl6
00:44 llfourn joined #perl6
00:50 ugexe Stage jast       : Error while compiling op call: Method 'jast' not found for invocant of class 'NQPMu'
00:50 skids I think lizmat saw that too.
00:58 skids Yeah, here too.
01:14 shinobi-cl joined #perl6
01:16 shinobi_cl joined #perl6
01:22 dalek roast: 5caf057 | skids++ | S03-smartmatch/array-array.t:
01:22 dalek roast: Fix plan.
01:22 dalek roast: review: https://github.com/perl6/roast/commit/5caf05747b
01:27 nightfrog joined #perl6
01:42 aborazmeh joined #perl6
01:45 aborazmeh joined #perl6
01:45 ggoebel joined #perl6
01:46 shinobi-cl joined #perl6
02:01 jkva joined #perl6
02:08 shinobi_cl joined #perl6
02:38 noganex joined #perl6
02:44 aborazmeh joined #perl6
02:44 aborazmeh joined #perl6
02:45 llfourn joined #perl6
03:38 davido__ joined #perl6
03:54 felher joined #perl6
04:02 jkva joined #perl6
04:20 dalek rakudo/nom: 035a75b | ShimmerFairy++ | src/core/metaops.pm:
04:20 dalek rakudo/nom: Fix deepmap for op functions returning mapped things.
04:20 dalek rakudo/nom:
04:20 dalek rakudo/nom: A recent fix in nqp by timotimo++ busted things like <a b>».ords and
04:20 dalek rakudo/nom: (1+2i, 3+4i)».roots(3). These methods return .map'd things that aren't
04:20 dalek rakudo/nom: handled further in the method. Without ensuring these things are
04:20 dalek rakudo/nom: reified, deepmap would return a list of empty lists.
04:20 dalek rakudo/nom:
04:20 dalek rakudo/nom: The nqp fix got rid of nqp::while's return value, which seemingly
04:20 dalek rakudo/nom: ensured things were properly reified as a side-effect in deepmap. This
04:20 dalek rakudo/nom: fix makes sure that Lists returned from op.($o) are reified (by calling
04:20 dalek rakudo/nom: .eager on them). At a first glance nodemap might need this too, but it
04:20 dalek rakudo/nom: doesn't seem to affect anything there as it stands.
04:20 dalek rakudo/nom:
04:20 dalek rakudo/nom: The List typecheck is to avoid making things like 'Nil' eager (which
04:20 dalek rakudo/nom: becomes an empty list and isn't correct for deepmap), and the
04:20 dalek rakudo/nom: $o := op.($o) is to avoid re-evaluating \op in cases where it has
04:20 dalek rakudo/nom: side-effects.
04:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/035a75b5ae
04:50 llfourn joined #perl6
04:54 rurban joined #perl6
05:04 ChoHag joined #perl6
05:05 tinyblak joined #perl6
05:06 firefish5000 joined #perl6
05:34 jkva joined #perl6
05:44 diana_olhovik joined #perl6
05:55 tinyblak joined #perl6
05:57 aborazmeh joined #perl6
05:57 aborazmeh joined #perl6
06:03 jkva joined #perl6
06:08 davido__ joined #perl6
06:12 davido__ joined #perl6
06:18 telex joined #perl6
06:20 [Tux] joined #perl6
06:38 jkva joined #perl6
06:38 tinyblak_ joined #perl6
06:38 domidumont joined #perl6
06:49 agentzh TimToady: ping
06:49 nine ShimmerFairy++ # fixing and writing an excellent commit message
06:50 agentzh TimToady: i've been hacking like crazy in the last few weeks and finally implemented a DFA algorithm that supports general sub-match capturing.
06:50 jjido joined #perl6
06:50 agentzh TimToady: all the relevant tests in PCRE 8.33 and Perl 5.16's regex test suits are passing now.
06:50 ShimmerFairy nine: Thanks :)  The last paragraph is to make sure people don't wonder why the fix looks a bit more complex than you'd think at first.
06:51 agentzh TimToady: my little DFA-based Perl regex engine is written in Perl: https://github.com/openresty/sregex/blob/dfa/re.pl
06:51 agentzh TimToady: it's already beating both PCRE JIT and RE2 by a wide margin. please see my benchmark results here: http://openresty.org/misc/re/bench/
06:52 agentzh TimToady: the cases sregex DFA proto is slower will be improved in the near future. my current impl is quite naive but already very effective :)
06:53 agentzh TimToady: I must thank you for your encouragement. originally i didn't think this was even possible ;)
06:53 aindilis joined #perl6
06:53 agentzh TimToady: I'm indeed using an approach by tagging DFA nodes and edges with additional info (like sub-match capture mapping and 0-width assertions).
06:53 zakharyas joined #perl6
06:55 agentzh TimToady: atm i'm trying to ameliorate the state explosion problems inherent in DFAs.
06:55 agentzh TimToady: the idea of "counting FAs" proposed by Becchi and Crowley in their 2008 paper is very promising.
06:56 agentzh TimToady: i've already coded up a simple impl in my sregex DFA engine mentioned above. very interesting and effective.
06:57 espadrine joined #perl6
06:57 * agentzh sighs that TimToady is not around.
06:58 agentzh TimToady: when it's maturalized at some point, i may start thinking about implementing Perl 6 regexes in a similar way :)
06:59 agentzh that would be a much bigger challenge though :)
06:59 [Sno] joined #perl6
07:01 agentzh TimToady: despite being fast, such DFA impl also have the wonderful feature of doing streaming matching or even substitions without buffering (much).
07:01 agentzh like my little nginx ouptut filter module here: https://github.com/openresty/replace-filter-nginx-module
07:01 agentzh so exciting :)
07:02 tinyblak joined #perl6
07:06 [Tux] JSON::Tiny -> # Failed test 'Array of Stuff'
07:06 [Tux] # at t/04-roundtrip.t line 39
07:06 [Tux] # expected: [{"A hash" => 1}, ["an", "array", "again"], 2]
07:06 [Tux] #      got: [{"A hash" => 1}, "an", "array", "again", 2]
07:06 [Tux] so no panda, so no modules, so no tests
07:18 lizmat [Tux]: not seeing that here: with all the most recent rakudo / panda, a rebootstrap and install Text::CSV works fine
07:19 [Tux] I pull'd at 09:05 MET
07:20 * DrForr checks as well.
07:20 lizmat I did around the same time
07:21 * [Tux] starts from scratch (cleanout rakudobrew completely)
07:21 ely-se joined #perl6
07:22 DrForr fwiw the alias I use is alias 'R' = 'rakudobrew nuke moar && rakudobrew build moar'
07:22 ely-se Does MoarVM offer stackful coroutines?
07:22 lizmat ely-se: you're probably better off asking that on #moarvm
07:22 ely-se oh I didn't know that existed, thanks :p
07:24 darutoko joined #perl6
07:26 [Tux] same fail
07:28 DrForr [Tux]: Same fail here.
07:28 [Tux] pfeeuw
07:29 [Tux] was thinking it was me
07:29 [Tux] thanks
07:29 azawawi joined #perl6
07:29 azawawi hi
07:30 azawawi i tried 'rakudobrew build moar' and i got a lot of module build failures on my linux vm. Any reason for that?
07:33 azawawi JSON::Tiny is the culprit so far
07:34 ely-se left #perl6
07:34 DrForr [Tux]: Issue filed.
07:34 DrForr azawawi: Yep. known problem, I just filed an issue in fact.
07:34 azawawi cool
07:35 azawawi tadzik: ping
07:38 Averna joined #perl6
07:38 pdcawley joined #perl6
07:39 schmooster joined #perl6
07:39 tinyblak_ joined #perl6
07:40 nine Looks more like a rakudo regression from here? JSON::Tiny is untouched since Aug 6th and the current master passes its tests on an older rakudo.
07:41 nine Test looks sane, it's definitely a bug.
07:42 ShimmerFairy it feels like something my fix introduced, but I don't see what the issue is quite yet.
07:43 azawawi # expected: [{"A hash" => 1}, ["an", "array", "again"], 2] #      got: [{"A hash" => 1}, "an", "array", "again", 2]
07:43 rindolf joined #perl6
07:44 DrForr nine: Yeah, probably. Feel free to close the issue as a rakudo regression if you like, I just figured someone should look at the error :)
07:44 DrForr I'm wondering myself about list flattening semantics, based on the [ .. [ ] ] => [ .. .. ] change.
07:45 [Tux] [[...],[...],...,[...],...].flatrecusive :)
07:45 lizmat hmmm... I'm at 035a75b5ae158b00e230646 , so why don't I see the issue then?
07:46 ShimmerFairy lizmat: huh, weird. I got the issue too fwiw. (I also updated my nqp and moarvm when doing that commit)
07:46 azawawi .tell tadzik Are you working on File::HomeDir? I am interested in doing a full port of the p5 version. Please let me know if you can give me co-maint. thanks :)
07:46 yoleaux azawawi: I'll pass your message to tadzik.
07:46 * lizmat nukes install and rebuilds
07:47 * azawawi sighs ... rakudo on windows is broken again :(
07:48 FROGGS joined #perl6
07:57 ShimmerFairy m: my $a = <a b>.Array; say [1, $a, 2].perl; say ([1, $a, 2].map: *.eager).perl;  # this may be related to the issue, I'm not sure
07:57 camelia rakudo-moar a32c14: OUTPUT«[1, ["a", "b"], 2]␤(1, "a", "b", 2)␤»
07:58 lizmat ok, after a *full* recompile, I get the same issue as well
08:00 lizmat reverting ShimmerFairy++ 's last commit, makes things work again...
08:00 lizmat :-(
08:00 lizmat (at least for me)
08:01 ShimmerFairy lizmat: lemme see if there's a fix for the issue, I have an idea on what the issue is exactly
08:01 lizmat okidoki  :-)
08:02 [Tux] feedback++
08:02 * [Tux] wonders howcome he noticed first
08:02 * lizmat has no idea
08:02 lizmat I only noticed after a *full* recompile
08:03 [Tux] I always do a full recomplie :P
08:03 ShimmerFairy lizmat: it seems $<arraylist>.made.item.perl in method array breaks the nesting. somehow. (deriving classes to insert debug info is fun :P)
08:07 ShimmerFairy OK, it appears that  $<value>».made  in arraylist works fine, but as soon as you do  [$<value>».made]  (like that action method does), it breaks the flattening
08:08 ShimmerFairy m: say (1, [2, 3]<>, 4).perl; say [(1, [2, 3]<>, 4)].perl  # what happens when you put [] around the ».made stuff
08:08 camelia rakudo-moar a32c14: OUTPUT«(1, [2, 3]<>, 4)␤[1, 2, 3, 4]␤»
08:09 ShimmerFairy m: say [1,2].perl; say [1,2].eager.perl
08:09 camelia rakudo-moar a32c14: OUTPUT«[1, 2]␤[1, 2]<>␤»
08:09 jkva joined #perl6
08:09 lizmat fwiw: I'm still feeling like the sorcerer's apprentice in that area of the code; https://www.youtube.com/watch?v=Ait_Fs6UQhQ&amp;feature=youtu.be&amp;t=88
08:09 ShimmerFairy lizmat: ^^^ It's definitely caused by my use of .eager in the new commit, but I don't think it's actually my problem. Hm.
08:09 ShimmerFairy I think zen slices are to blame there :)
08:09 lizmat zen slices only return self, afaik
08:10 ShimmerFairy m: say [[1,2]].perl; say [[1,2]<>].perl
08:10 camelia rakudo-moar a32c14: OUTPUT«[[1, 2]]␤[1, 2]␤»
08:10 lizmat hmmm.. they actually decont
08:11 ShimmerFairy My personal opinion, especially since nobody likes zen slices apparently, is that my fix uncovered a new bug (of the pre-GLR language-design kind, most likely), like nqp::while uncovered a bug before it.
08:13 lizmat could well be...
08:13 ShimmerFairy (fwiw I wouldn't expect .eager to provide something that can decont differently from its pre-eager version, at least for non-lazy invocants)
08:16 ShimmerFairy m: my @a = 1,2,3; say [@a[], 4].perl; # in this context, zen-slicing is possibly doing the right thing, so I think the issue is more that .eager makes a zen-sliced thing
08:16 camelia rakudo-moar a32c14: OUTPUT«[1, 2, 3, 4]␤»
08:18 awwaiid joined #perl6
08:19 azawawi http://www.reddit.com/r/Python/comments/3b85ld/electron_as_gui_of_python_applications/  # re Atom::Electron :)
08:20 azawawi also https://github.com/breach/thrust  # Perl support via chromium content module
08:21 azawawi https://metacpan.org/pod/Thrust
08:24 ShimmerFairy m: my @a = 1,2,3; say [1,2,3].perl; say @a.perl     # yuck
08:24 camelia rakudo-moar a32c14: OUTPUT«[1, 2, 3]␤[1, 2, 3]<>␤»
08:25 RabidGravy joined #perl6
08:27 spider-mario joined #perl6
08:27 jnthn morning, #perl6
08:28 lizmat jnthn o/
08:28 ShimmerFairy o/
08:28 azawawi jnthn: good morning :)
08:29 bin_005 joined #perl6
08:30 azawawi I feel https://github.com/breach/thrust#perl is a bit more Perlish than https://github.com/azawawi/perl6-atom-electron/blob/master/examples/browserwindow.p6. What do you think?
08:30 tadzik azawawi: I was unaware that I wrote such thing... :P
08:30 yoleaux 07:46Z <azawawi> tadzik: Are you working on File::HomeDir? I am interested in doing a full port of the p5 version. Please let me know if you can give me co-maint. thanks :)
08:30 ShimmerFairy jnthn: a bugfix I introduced revealed a ~fun~ bug of sorts with .eager (pre-GLR business):
08:30 ShimmerFairy m: say [1, [2,3].eager, 4].perl
08:30 camelia rakudo-moar a32c14: OUTPUT«[1, 2, 3, 4]␤»
08:31 ShimmerFairy (more succinctly [1, [2,3]<>, 4] )
08:31 azawawi tadzik: https://github.com/tadzik/File-HomeDir/ :)
08:31 tadzik azawawi: yeah, now I noticed :P
08:31 tadzik sure, I can give you a commit bit or we can just transfer ownership to you
08:33 azawawi tadzik: what ever you like? I am only a P6 Porter :)
08:34 azawawi http://www.activestate.com/blog/2015/08/activestate-whats-next   # ActiveState is hiring. They will focus more on Komodo IDE... :)
08:37 jkva joined #perl6
08:39 tadzik azawawi: you now have a commit bit, but feel free to fork it and change the entry in the ecosystem if you feeel like it :)
08:39 azawawi tadzik: thanks
08:39 azawawi tadzik++
08:39 ShimmerFairy Hmmm... I think I may have a way to fix the issue (using .gimme(*) instead of .eager, basically). I'll just have to put it in and spectest to see :)
08:39 jnthn ShimmerFairy: Well, don't expect me to spend brainpower on code I'm in the processing of replacing. :)
08:40 ShimmerFairy jnthn: of course not, I'm just surprised that .eager gives something that behaves differently for already-eager stuff, esp. when you talked about post-GLR eager being essentially a no-op in those cases (IIRC) :P
08:40 jnthn ShimmerFairy: That's not quite true; actually .eager in GLR returns a Seq
08:41 ShimmerFairy ah
08:42 ShimmerFairy jnthn: by the way, I still love how Lisp-like working with QAST-related stuff can be :P
08:43 jnthn Given the post-GLR code is better at passing context inwards, I suspect a lot of the superstitious eager-for-performance we have will want to go away
08:43 lizmat PSA: I'm working on the Perl 6 Weekly again, please let me know if you think I may have missed stuff  :-)
08:43 ShimmerFairy I'm interested in seeing how GLR will affect the problem introduced by the change to nqp::while :)
08:44 lizmat or want something in there you think must be in there  :-)
08:44 jnthn lizmat: Well, I writed a gist with GLR prototyping and have a glr brunch now
08:44 jnthn uh, branch
08:44 jnthn ...I'd love brunch though :P
08:44 ShimmerFairy uh, wrote :P
08:44 lizmat jnthn: it's the headliner
08:45 fxer joined #perl6
08:45 lizmat "2015.32 The Onset Of Upheaval" is the title so far  :-)
08:46 jnthn lizmat: My last grant weeklyish was probably since the last p6w too
08:49 lizmat already in there as well  :-)   jnthn++
08:49 jnthn OK. I think that's all the trouble I was responsible for... :)
08:49 jnthn lizmat: You say the gist with the first .race benchmark results also?
08:50 lizmat aaahhh... good point
08:50 llfourn joined #perl6
08:50 ShimmerFairy My latest fix lets me install JSON::Tiny (and thus panda), now I just need to run the spectest because I always have to make sure :)
08:54 * [Tux] is standing by to hear the word "go"
08:55 [Tux] ShimmerFairy++; # quick response
08:55 jjido joined #perl6
09:08 tinyblak joined #perl6
09:09 * lizmat hasn't heard anyone about .indices or pair()
09:11 espadrine joined #perl6
09:11 ShimmerFairy lizmat: Haven't heard about pair(), but I mentioned that .indices might be nice :) As I recall, I also suggested maybe eliminating 'index' in favor of specifying what you mean (first-index or last-index)
09:12 lizmat first-index / last-index already mean something else (they work on lists)
09:12 lizmat they're special versions of grep-index
09:12 ShimmerFairy oh yeah, forgot about that
09:13 jkva joined #perl6
09:13 * jnthn gets done with admin tasks and can return to GLRing...
09:13 lizmat jnthn++
09:13 ShimmerFairy ah, .rindex is the Str version :)    .oO( .rindices )
09:14 lizmat hysterically misformed, yes
09:15 jnthn rindex sounds like something you take to treat yourself after having the misfortune of eating pork rind :P
09:15 ShimmerFairy rindex sounds like a ripoff of Windex™® :P
09:18 ShimmerFairy Huh, dalek didn't report that I just fixed the JSON::Tiny issue :)
09:18 ShimmerFairy [Tux]: "go" :)
09:19 zakharyas joined #perl6
09:22 dada joined #perl6
09:22 dada p6: use JSON::Tiny;
09:22 camelia rakudo-moar a32c14: OUTPUT«===SORRY!===␤Could not find JSON::Tiny in any of:␤  file#/home/camelia/.perl6/2015.07.1-78-ga32c146/lib␤  inst#/home/camelia/.perl6/2015.07.1-78-ga32c146␤  file#/home/camelia/rakudo-inst-1/share/perl6/lib␤  file#/home/camelia/rakudo-inst-1/share/…»
09:23 jnthn ShimmerFairy: Aww, nor my glr commit just now
09:24 ShimmerFairy :<
09:24 lizmat ShimmerFairy [Tux]  confirmed panda is alive again
09:24 [Tux] panda is alive. modules still building
09:24 jnthn Oh...could be delayed... https://status.github.com/
09:24 [Tux] so far so good
09:24 ShimmerFairy cool :)
09:24 jnthn Look at the hook delivery graph
09:25 [Tux] jnthn, they are aware. they twittered that they found the problem
09:25 lizmat woops, 10 minutes+
09:25 JimmyZ c
09:25 [Tux] https://twitter.com/githubstatus
09:26 jnthn [Tux]: Yes, the status page I linked says as much :)
09:27 ShimmerFairy I'm just glad I didn't have to revert my commit, which would've led to reverting timotimo's commit on nqp in order to unbust things :)
09:28 lizmat ShimmerFairy++ timotimo++
09:31 jkva_ joined #perl6
09:32 [Tux] test             50000    44.782    44.397
09:32 [Tux] test-t           50000    43.570    43.185
09:33 dalek rakudo/nom: d508ee5 | ShimmerFairy++ | src/core/metaops.pm:
09:33 dalek rakudo/nom: Change from using .eager to .gimme(*)
09:33 dalek rakudo/nom:
09:33 dalek rakudo/nom: This means we're just reifying now, instead of also asking for something
09:33 dalek rakudo/nom: that's eager. Fixes a bug in JSON::Tiny found by [Tux]++ and azawawi++,
09:33 dalek rakudo/nom: caused by Array.eager returning a zen-sliced version of itself.
09:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d508ee5bcc
09:33 [Tux] (it is up again a bit)
09:33 [Tux] but it proves that your fix fixed all problems we were facing this morning
09:37 TEttinger nice work, fixed in about a day
09:38 dalek rakudo/glr: 420f71a | jnthn++ | src/core/Any.pm:
09:38 dalek rakudo/glr: Eliminate another nqp::p6parcel usage.
09:38 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/420f71ad78
09:38 dalek rakudo/glr: 03eb206 | jnthn++ | src/core/Any.pm:
09:38 dalek rakudo/glr: Whitespace tidying.
09:38 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/03eb206e7d
09:38 dalek rakudo/glr: 3c1d8c9 | jnthn++ | src/core/ (2 files):
09:38 dalek rakudo/glr: Comment out [...;...] indexers for now.
09:38 dalek rakudo/glr:
09:38 dalek rakudo/glr: Need to work out what type LoL is replaced by in this context.
09:38 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/3c1d8c95de
09:42 dada hey, I guess d508ee5 fixes the failing test in t/04-roundtrip.t of JSON::Tiny, right?
09:42 ShimmerFairy yep
09:43 dada cool, thanks
09:44 dada came here to ask about the bug, found a commit message that fixes it :-)
09:45 FROGGS_ joined #perl6
09:46 DrForr Come for the beer, stay for the craic :)
09:47 jnthn .oO( The what? Kriek? Crack? )
09:48 DrForr Did someone say kriek?...
09:49 DrForr Naah, I actually did mean craic. Irish term for conversation.
09:51 jnthn Oh!
09:53 DrForr There was an old tagline that we used to use at the Minnesota RenFest but it's a little filthy for this crowd :)
09:55 jjido joined #perl6
09:59 dalek rakudo/glr: a6d90ea | jnthn++ | / (6 files):
09:59 dalek rakudo/glr: Re-order bootstrap a little.
09:59 dalek rakudo/glr:
09:59 dalek rakudo/glr: So we'll be able to collect the list-y operations in Any, but without
09:59 dalek rakudo/glr: running into the iterator bits not being defined yet, and so we can
09:59 dalek rakudo/glr: define said iterator bits without running into not having Attribute
09:59 dalek rakudo/glr: available yet.
09:59 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/a6d90ea300
10:04 dalek rakudo/glr: 2b4d37e | jnthn++ | src/core/Any (2 files):
10:04 dalek rakudo/glr: Replace map impl with (partial) GLR one.
10:04 dalek rakudo/glr:
10:04 dalek rakudo/glr: We can flesh the rest of it out with time.
10:04 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/2b4d37e071
10:11 dalek rakudo/glr: 095f7f0 | jnthn++ | src/core/Any (2 files):
10:11 dalek rakudo/glr: Move some things into Any-list-methods.
10:11 dalek rakudo/glr:
10:11 dalek rakudo/glr: Most should survive intact. Some get tweaks, a couple are commented
10:11 dalek rakudo/glr: out. Also add some notes on things to review later.
10:11 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/095f7f02da
10:16 azawawi tadzik: ping
10:17 azawawi .tell tadzik initial version with Travis CI and tests are in https://github.com/azawawi/File-HomeDir
10:17 yoleaux azawawi: I'll pass your message to tadzik.
10:18 smls joined #perl6
10:23 jkva joined #perl6
10:29 jnthn m: find-reducer-for-op
10:29 camelia rakudo-moar a32c14: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dTP3sxplAU␤Calling find-reducer-for-op() will never work with declared signature ($op)␤at /tmp/dTP3sxplAU:1␤------> 3<BOL>7⏏5find-reducer-for-op␤»
10:32 tinyblak joined #perl6
10:34 yqt joined #perl6
10:37 cognominal joined #perl6
10:37 jkva joined #perl6
10:39 smls joined #perl6
10:40 dalek rakudo/glr: ea18a00 | jnthn++ | src/core/ (3 files):
10:40 dalek rakudo/glr: Straighten out what goes in Any and List.
10:40 dalek rakudo/glr:
10:40 dalek rakudo/glr: A couple of things that don't need a reified List to reasonably work
10:40 dalek rakudo/glr: (unique, squish, reduce) have had their implementation moved into the
10:40 dalek rakudo/glr: Any-list-methods. Those left in List are things that really do need
10:40 dalek rakudo/glr: all the values to work (permutations, combinations, etc.). The sort
10:40 dalek rakudo/glr: method is an interesting case; it needs all the values, but it needs
10:40 dalek rakudo/glr: to get them into something fresh that it can mutate. Further, we may
10:40 dalek rakudo/glr: want a parallelizing version of it some day for HyperIterable. So it
10:40 dalek rakudo/glr: goes in Any.
10:40 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/ea18a0013b
10:54 dalek rakudo/glr: 4eeacad | jnthn++ | src/core/ (2 files):
10:54 dalek rakudo/glr: Move mutating methods out of List into Array.
10:54 dalek rakudo/glr:
10:54 dalek rakudo/glr: The List/Array classes will be replaced with their GLR versions, and
10:54 dalek rakudo/glr: these methods will need to be re-implemented, but it's good to first
10:54 dalek rakudo/glr: straighten out where things are going.
10:54 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/4eeacad1fa
10:54 dalek rakudo/glr: a9e01c4 | jnthn++ | src/core/ (4 files):
10:54 dalek rakudo/glr: Move subs around to sync with where methods are.
10:54 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/a9e01c4a9e
10:55 smls jnthn: re "PositionalBindFailover", I agree that a very specific and low-level role should not have a short&cute name. But doesn't Perl 6 tend to avoid overly specific roles in the first place, and prefer more reusable roles (for which cute names are justified)?
10:55 smls For example the type check for direct binding to an @ variable does not check for a role called "BindableToArrayVariable", but rather one called "Positional" - i.e. a generically named tag role representing a high-level idea, that's also used for other things besides just this check.
10:56 smls Similarly, the typecheck for "fail-over binding via .list", could check for a more generic tag role which would also be used in other places.
10:56 jnthn smls: Stop wasting time on a triviality.
10:56 smls E.g. a role called "ListLike" or somesuch, which would express the high-level idea of "I'm not a list myself, but it's okay to use my list representation as a surrogate for me".
10:57 jnthn Originally it would jsut have checked for seq
10:57 jnthn Then HyperSeq wanted this too
10:57 jnthn Thus why it ended up being pulled out to a role
10:57 jnthn I've little interest in this being more widely used or more general.
10:58 jnthn It's specifically for one thing. As the Interface Segregation Principle of OO design says it should.
10:58 smls If it's public API it will have to show up in the class list at http://doc.perl6.org/type.html though
10:58 smls s/class/type/
10:59 jnthn So will IterationBuffer, and HyperWorkBatch, and HyperConfiguration, and so on. I'd suggest we find a way to distinguish common things you'll use vs. implementation-y things you'll rarely use in the docs.
11:00 ShimmerFairy I don't think everything publicly available need be generally useful to the public. (I'm thinking now of the many intricately-named classes in C++'s standard library)
11:02 rurban joined #perl6
11:03 smls jnthn: The other not-usually-used-directly built-in types, notable MOP and exception classes, are already distinguished by special prefixes (e.g. "Metamodel::")
11:03 jnthn On the up side, there's no *Iter set of classes publicly visible post-GLR... :)
11:04 jnthn smls: I'd be happy enough putting various bits under such a package name if it'd help.
11:05 ShimmerFairy The obvious suggestion would be GLR:: ☺
11:05 jnthn IteratorImplementation::
11:05 jnthn Or something
11:05 jnthn ShimmerFairy: That won't look so good in 5 years ;)
11:06 ShimmerFairy jnthn: neither will a master branch called 'nom' :P
11:06 dalek rakudo/glr: 652a40c | jnthn++ | / (4 files):
11:06 dalek rakudo/glr: Rename to better capture what the methods work on.
11:06 dalek rakudo/glr:
11:06 dalek rakudo/glr: These are primarily for iterable things, not for list-y things.
11:06 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/652a40c3d8
11:07 jnthn ShimmerFairy: Maybe if the GLR upheavel is epic we'll end up renaming glr to master and leaving nom as the pre-GLR thing. :)
11:09 ShimmerFairy Sounds like an idea. Part of me thinks we should mix the two names together and get a "grandmaster" branch then :)
11:09 jnthn #nomaster :P
11:18 smls jnthn: I do think a special prefix would make those things easier to document, yes.
11:18 smls though  IteratorImplementation::HyperWorkBatch  is quite a mouthful...
11:18 smls Iter::HyperWorkBatch  doesn't look so bad though
11:19 * smls shuts up now
11:20 jnthn I could go with Iter:: I guess
11:20 jnthn Or even Iterator::
11:21 DrForr I haven't looked specifically at the docs, but there's an introspectable function documentation thing, maybe it could apply to classes, and we could add #|{Meant for internal use} annotation there?
11:22 DrForr That way we don't clutter the namespaces with semantics?
11:23 dalek ecosystem: 2ff0742 | azawawi++ | META.list:
11:23 dalek ecosystem: Atom::Electron -> Electron
11:23 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/2ff0742dcd
11:26 jjido joined #perl6
11:30 lizmat jnthn: I assume now is *not* a good time to look at implementing supply { } ?
11:30 ab5tract_ I was just backlogging and had to drop by for a quick "Oh god please not 'Iter'!!"
11:31 lizmat .oO( it has an Iterational Feel )
11:32 ab5tract_ There is no excuse for short names by default, in my opinion
11:33 jnthn You're quite uniq in thinking that :P
11:33 jnthn lizmat: Um...
11:33 oha ab5tract_, are you referring to my name? :)
11:33 jnthn lizmat: I'm not sure. It's not like it's going to block on list guts.
11:33 ab5tract_ oha: only if you live in core-settings ;)
11:34 jnthn lizmat: Or even dig into them
11:35 ab5tract_ jnthn: The core naming schemes are uneven enough to give things an appearance of fitting together less well than they actually do
11:36 ab5tract_ I just feel like if we said 'no shortenings by default, nor cute conjunctions', we would have a very quick time at giving everything an even feel
11:37 ab5tract_ yes, I am looking at you .gimme :)
11:37 jnthn .gimme is dead anyway
11:37 jnthn .munch to fwiw
11:37 ab5tract_ jnthn: :)
11:37 jnthn And probably also LoL
11:38 jnthn Seq is back though :P
11:38 ab5tract_ well done! I was just about to say that I like gimme's cuteness, just not it's conjunction
11:39 dalek rakudo/glr: cf19ac3 | jnthn++ | src/core/List.pm:
11:39 dalek rakudo/glr: Swap out List for GLR implementation.
11:39 dalek rakudo/glr:
11:39 dalek rakudo/glr: Lots of things are commented out and in need of review post-GLR, but
11:39 dalek rakudo/glr: hopefully most of them can also wait until after we get CORE.setting
11:39 dalek rakudo/glr: to compile again (and so others can jump in and help with them).
11:39 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/cf19ac3d48
11:39 jkva joined #perl6
11:41 ab5tract_ Seq ... it hasn't bothered me as much, mainly because it doesn't quite map onto an existing word. LoL, either, but I've never used it in code only in discussion
11:42 jnthn You're not that likely to write Seq in code
11:42 jnthn Interesting challenge: what on earth will Seq .perl to... :)
11:42 ab5tract_ true, but it will definitely be discussed quite frequently
11:42 jnthn Aye
11:42 ShimmerFairy I don't find cute names bothersome (in fact, long names are the annoying ones to me)
11:43 jnthn It's worth the short name, Ithink.
11:43 azawawi so what's the most robust way of finding a Foo.pm6 location in Perl 6 installation? sort of like __FILE__ in Perl 5
11:43 jnthn $?FILE I think
11:43 nine m: say $?FILE
11:43 camelia rakudo-moar a32c14: OUTPUT«/tmp/lMRpbWQLh2␤»
11:43 ab5tract_ ShimmerFairy: it's easier to have long names by default and a million variants of cute personal short forms than the other way around, but I concede that it is a matter of opinion
11:44 JimmyZ I would like to +1 to Iterator, not Iter(it confuses me sometimes)
11:44 nine .oO(Oh if just everything was as much fun as bike shedding)
11:44 ab5tract_ ShimmerFairy: you will never find my appreciating subst vs substr.
11:45 ab5tract_ This isn't 1987 anymore, we aren't running out of bytes any more.
11:45 ShimmerFairy I would very much hate .substring and .substitution :)
11:46 jnthn nine: Yes, I have a hard time not being a little harsh with folks here sometimes over the fact that naming discussions tend to go on for ages, but if you ask for feedback on semantics you tend to get a whole lot less input. :/
11:46 ab5tract_ ShimmerFairy: well, I would prefer a unicode character to either
11:46 ab5tract_ My point is that if you give the canonical names by default, the shorter names have a canonical form to map to
11:47 jnthn OK, lunch here, and then I'll slip in Slip, then do to Array what I just did to List.
11:47 ab5tract_ with the bonus that core setting doesn't feel like PHP, with full names and short names hanging around, smashcase instead of kebab-case, etc
11:47 jnthn And then it'll be a case of trying to get the darn thing to compile again.
11:47 jnthn bbiab &
11:47 ab5tract_ sorry, smashcase next to kebab-case
11:48 ShimmerFairy I don't agree that 'canonical' means 'long', however :)
11:48 ab5tract_ ShimmerFairy: it's the inconsistency more than anything else that gets under my skin
11:49 ShimmerFairy the only naming convention in core that bothers me is the insistence on YELLING-KEBAB, but that's something not worth reiterating at the moment.
11:49 ab5tract_ well, we can agree to disagree I guess
11:50 ab5tract_ my experience in writing p6 code is that everything is terse enough that I *want* full description of what every method is doing
11:51 nine I wonder, how much of that is camelia's fault.
11:51 ShimmerFairy I do occasionally go for longer names when naming classes (say, MemoryBank instead of MemBnk), but aside from that I prefer keeping it short and abbr'd :)
11:51 nine Sometimes I have the impression, that Perl 6 is optimized for writing one-line examples into the IRC client ;)
11:52 ShimmerFairy I don't think camelia has had anything to do with it :)
11:52 ab5tract_ and I think the idea that subst can be canonical when '"substr" ~~ m/subst/' is playing it a bit obtuse, tbh
11:52 timotimo ShimmerFairy: thank you so much for working out the problem and the followup problem as well!
11:52 yoleaux 00:02Z <ShimmerFairy> timotimo: another clue: <a b>».comb also breaks, and .comb like .ords maps (^self.chars) and uses nqp::substr in the mapping (not sure if one or both are contributing). And in a custom ords implementation, something as simple as assigning (_just_ assigning; it returns) the mapping to $ or @ gets you the right thing (albeit itemized/Array-ified)
11:52 yoleaux 00:22Z <ShimmerFairy> timotimo: ah-hah! (1i, 2i)».roots(5) breaks too (the 5 doesn't matter); the problem seems to lie in mapping inside a deepmap. I think the problem lies in only binding (like := or bindpos) the kinds of maps Complex.roots and Str.ords return.
11:53 timotimo i could only drop by quickly to backlog, though :(
11:53 ShimmerFairy timotimo: as I eventually suspected, your commit only uncovered a bug, not introduced one :)
11:55 timotimo that makes me extra glad
11:55 timotimo okay, and now i'm off again
11:55 timotimo glad to see more glr work, too :)
11:55 gfldex joined #perl6
11:55 orafu joined #perl6
11:56 ShimmerFairy ab5tract_: like I said, I generally prefer short names. Java's naming conventions don't impress me :P  .oO(  printToConsoleAGist @list.mapListToFunction({*.roundToCeiling.absoluteValue})  *shivers* )
11:56 timotimo and lizmat, thank you for hopping in to do the weekly for me; just today i realized i didn't tell you explicitly that i won't be able to do it today
11:56 timotimo so, yaynes all around \o/
11:57 dalek perl6-roast-data: 84a5d20 | (Kamil Kułaga)++ | perl6_pass_rates.csv:
11:57 dalek perl6-roast-data: removed empty runs
11:57 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/84a5d20fac
11:57 dalek perl6-roast-data: 67f74d3 | (Will Coleda)++ | perl6_pass_rates.csv:
11:57 dalek perl6-roast-data: Merge pull request #9 from teodozjan/patch-1
11:57 dalek perl6-roast-data:
11:57 dalek perl6-roast-data: Removed empty runs
11:57 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/67f74d3c82
11:57 lizmat timotimo: you're welcome  :-)
11:58 lizmat next week I'll be in Tokyo, so I don't know if I'll have time then...
12:08 azawawi jnthn: thx :)
12:13 azawawi $?FILE is not working as expected
12:13 jkva joined #perl6
12:13 azawawi $?FILE is still refering to /home/azawawi/perl6-electron/.panda-work/1439208484_1/lib/Electron/App.pm6
12:13 FROGGS joined #perl6
12:14 azawawi which panda create, installed and deleted that temp directory
12:14 azawawi s/create/created
12:14 lizmat m: say $?FILE; { my $?FILE = "foo"; say $?FILE }
12:14 camelia rakudo-moar a32c14: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jsbZpo1Blk␤Cannot use ? twigil on my variable␤at /tmp/jsbZpo1Blk:1␤------> 3say $?FILE; { my $?FILE7⏏5 = "foo"; say $?FILE }␤»
12:14 lizmat m: say $?FILE; { my constant $?FILE = "foo"; say $?FILE }
12:14 camelia rakudo-moar a32c14: OUTPUT«/tmp/bMlCVlwet8␤/tmp/bMlCVlwet8␤»
12:15 lizmat hmmm....
12:15 ab5tract_ ShimmerFairy: I can see your point. I've never done enough Java to get traumatized by long names in the fashion
12:15 ab5tract_ I've been doing Perl long enough to get traumatized by crypticism though ;)
12:18 azawawi lizmat: what's the point in having a compiled $?FILE which panda totally ignores? :)
12:19 azawawi my use case is that i need to find resources residing in lib/Foo/resources directory
12:19 lizmat there's %RESOURCE specced for that, alas NYI
12:19 lizmat hmmm....
12:20 lizmat m: say $?FILE; { my constant $?FILE = "foo"; say $?FILE }   # actually feels like a bug
12:20 camelia rakudo-moar a32c14: OUTPUT«/tmp/StJKSHy18K␤/tmp/StJKSHy18K␤»
12:21 lizmat and I guess $?FILE should really be more runtime...
12:21 azawawi $*FILE ?
12:21 azawawi like http://perldoc.perl.org/functions/__FILE__.html
12:22 lizmat yeah, but P5 doesn't have the concept of precomp, so __FILE__ is always about the file that was just opened to be parsed
12:24 lizmat azawawi: perhaps $*PROGRAM.abspath is more useful ?
12:24 lizmat m: $*PROGRAM.abspath
12:24 camelia rakudo-moar a32c14: ( no output )
12:24 lizmat m: say $*PROGRAM.abspath
12:24 camelia rakudo-moar a32c14: OUTPUT«/tmp/SQ0WgwmhaP␤»
12:26 azawawi lizmat: nope, it returns the program not the module directory
12:26 DrForr Speaking of __FILE__ and friends, is there a file where the "__FILE__ is now ..." type errors are consolidated, or do I need to look more generally?
12:33 jnthn I'd say the bug is that constant $?FILE = ... doesn't complain the way my $?FILE = ... does.
12:33 jnthn You shouldn't be able to declare $? things yourself, they're special things for the compiler to resolve. And thus they're also compile-time constants and frozen in pre-comp
12:34 jnthn And no, $?FILE should not become more runtime.
12:34 azawawi jnthn: what about when panda compiles them in a temp folder .panda-work and then installs them? :)
12:34 lizmat ok, I'll take that from there then
12:36 jnthn azawawi: As I understand it, it probably should be giving the files to a CompUnitRepo object to install, and leaving pre-comp to Rakudo, in which case it can copy the file in place and pre-comp it in place.
12:36 jnthn lizmat can probably confirm if I understand the eventual plan right.
12:36 lizmat the eventual plan is to have %?RESOURCE point to where the resources live
12:37 lizmat wherever they are installed, and whatever filename to have on the file system
12:37 jnthn Well, yes, that's the Real Solution for what azawawi wants
12:37 jnthn I more meant that I thought we'd have Rakudo dealing with pre-comping on installation of modules.
12:37 lizmat but yeah, until then, it should work like that
12:38 azawawi so no solution at the moment? :(
12:38 lizmat but I must admit I've lost track of all CURLI work being done by FROGGS ugexe and others
12:38 lizmat I was hoping to consolidate that at the SPW hacakthon
12:39 jnthn lizmat: Yeah, it'll be a good topic for there.
12:39 ggoebel joined #perl6
12:39 lizmat meanwhile I'll rakudobug the my constant $?FILE silence
12:39 iH2O joined #perl6
12:39 jnthn OK :)
12:40 * jnthn gets on with Slip :)
12:40 RabidGravy is there anything actually blocking %?RESOURCE or is it just waiting for someone to do it?
12:41 lizmat jnthn: eh, you should be able to define $?FOO yourself, no?  just not redefine existing ones?
12:41 iH2O left #perl6
12:41 * azawawi takes  look a $*INC
12:42 azawawi s/a/at
12:42 lizmat @*INC I hope
12:42 jnthn lizmat: I'm...not sure it makes a lot of sense to allow that?
12:42 lizmat RabidGravy: it's blocking on CURLI progress, really
12:42 azawawi lizmat: i noticed :)
12:43 dalek rakudo/glr: 038b763 | jnthn++ | / (3 files):
12:43 dalek rakudo/glr: Add Slip type.
12:43 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/038b7631c3
12:43 lizmat ok, so no "userland" $?vars then
12:44 lizmat I guess that'll make it easier to be sure to prevent future collissions
12:44 azawawi m: say @*INC;
12:44 camelia rakudo-moar a32c14: OUTPUT«file#/home/camelia/.perl6/2015.07.1-78-ga32c146/lib inst#/home/camelia/.perl6/2015.07.1-78-ga32c146 file#/home/camelia/rakudo-inst-1/share/perl6/lib file#/home/camelia/rakudo-inst-1/share/perl6/vendor/lib file#/home/camelia/rakudo-inst-1/share/perl6/site/l…»
12:44 jnthn Right, it means we'll easily be able to introduce new ones in the future knowing only the compiler gets to set them
12:45 azawawi so remove file#, inst# and $*SPEC.catfile($_, "lib/Foo") for @*INC
12:46 lizmat azawawi: please wrap in a sub to do this, as it will change in the future
12:46 colomon joined #perl6
12:46 azawawi lizmat: you wont believe how many times i fixed it in farabi6
12:47 * lizmat is sorry about that  :-(
12:48 RabidGravy I think I've got code in one of my modules that copes with the items in @*INC being either strings or objects
12:48 * lizmat just added #125780
12:49 azawawi no worries :)
12:49 azawawi m: say $*SPEC.catfile($_.subst(/^ \w+ '#'/,""), "lib/JSON/Tiny") for @*INC
12:49 camelia rakudo-moar a32c14: OUTPUT«/home/camelia/.perl6/2015.07.1-78-ga32c146/lib/lib/JSON/Tiny␤/home/camelia/.perl6/2015.07.1-78-ga32c146/lib/JSON/Tiny␤/home/camelia/rakudo-inst-1/share/perl6/lib/lib/JSON/Tiny␤/home/camelia/rakudo-inst-1/share/perl6/vendor/lib/lib/JSON/Tiny␤/home/c…»
12:50 azawawi m: say $*SPEC.catfile($_.subst(/^ \w+ '#'/,""), "lib/JSON/Tiny").IO ~~ :e for @*INC
12:50 camelia rakudo-moar a32c14: OUTPUT«False␤False␤False␤False␤False␤False␤False␤False␤»
12:50 azawawi m: say $*SPEC.catfile($_.subst(/^ \w+ '#'/,""), "JSON/Tiny").IO ~~ :e for @*INC
12:50 camelia rakudo-moar a32c14: OUTPUT«False␤False␤False␤False␤False␤False␤False␤False␤»
12:50 azawawi sorry for the spam
12:51 jnthn Note that JSON::Tiny isn't installed for m:
12:53 virtualsue joined #perl6
12:56 jjido joined #perl6
12:58 dalek rakudo/glr: c9cdf76 | jnthn++ | src/core/Array.pm:
12:58 dalek rakudo/glr: Add barebones GLR implementation of Array.
12:58 dalek rakudo/glr:
12:58 dalek rakudo/glr: Leave methods still in need of fixing up commented out.
12:58 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/c9cdf762ba
13:01 azawawi The Real Solution https://github.com/azawawi/perl6-electron/commit/a56ced3bc029eb81ef5c68c22bd9596d64a4d61a :) ?
13:02 azawawi finally read your clipboard in Perl 6 one liner using Electron
13:02 azawawi perl6 -MElectron -e 'my $app = Electron::App.instance; LEAVE { $app.destroy if $app.defined; }; say Electron::Clipboard.read-text;'
13:05 tinyblak joined #perl6
13:09 lizmat hhmmm... now that we have "with" topicalizing, I wonder whether we shouldn't also want .return ?
13:09 lizmat .return with 42
13:10 lizmat instead of:
13:10 lizmat return $_ with 42
13:12 rmgk_ joined #perl6
13:14 smls we do have .take
13:14 dalek rakudo/glr: f250848 | jnthn++ | src/core/ (4 files):
13:14 dalek rakudo/glr: Bring in various list/slip/array constructors.
13:14 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/f2508488d3
13:14 dalek doc: 33155b5 | RabidGravy++ | lib/Language/subscripts.pod:
13:14 dalek doc: s/BIND-POS/BIND-KEY/ for associative
13:14 dalek doc: review: https://github.com/perl6/doc/commit/33155b5123
13:16 dalek rakudo/glr: dc29c7a | jnthn++ | src/core/Seq.pm:
13:16 dalek rakudo/glr: Add GLR implementation of gather.
13:16 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/dc29c7a295
13:18 azawawi https://github.com/azawawi/perl6-electron/blob/6140d9472cd4983ebd227f98954a06b2ad75fea4/Build.pm    # panda's Build.pm ftw :)
13:18 RabidGravy yeah I've got a bunch of those
13:19 JimmyZ hmm, my \x := ....  makes me conufused
13:19 jnthn It's same as my \x = ... really
13:20 jnthn OK, I've now added all the code from glr.p6 into CORE.setting...
13:21 jnthn Now I "just" have to get it to build again.
13:21 azawawi lizmat: i changed the @*INC code in farabi6 a lot because i was too lazy to make it a test. It is my fault after all :)
13:21 RabidGravy nothing like a spot of compiler whackamole on a MOnday afternoon
13:22 tinyblak joined #perl6
13:22 * azawawi azawawi-- for 1..10 # :)
13:25 [Coke] jnthn: LoL is going away, yes?
13:25 [Coke] (just tried a build here for giggles)
13:26 azawawi what's LoL?
13:26 [Coke] list of lists
13:26 jnthn [Coke]: Highly likely, yes
13:27 tony-o any of you guys worked on the golang core ?
13:33 RabidGravy I think I got as far as installing it and making "hello world" and put it aside
13:34 RabidGravy I may have written more erlang than go
13:36 dalek perl6-most-wanted: 4a7b5ae | PerlJam++ | most-wanted/modules.md:
13:36 dalek perl6-most-wanted: Add already-done Math::Trig
13:36 dalek perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/4a7b5ae6fd
13:39 bjz joined #perl6
13:44 dalek rakudo/glr: 88b3098 | jnthn++ | src/Perl6/Actions.nqp:
13:44 dalek rakudo/glr: Update code-gen for *@foo and **@foo.
13:44 dalek rakudo/glr:
13:44 dalek rakudo/glr: Not actually implemented List.from-slurpy and Array.from-slurpy yet,
13:44 dalek rakudo/glr: so they only compile once again, not work.
13:44 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/88b3098427
13:44 dalek rakudo/glr: 353317b | jnthn++ | src/core/IterationBuffer.pm:
13:44 dalek rakudo/glr: Add missing proto, needed in setting.
13:44 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/353317bdad
13:44 dalek perl6-roast-data: 692b095 | coke++ | / (9 files):
13:44 dalek perl6-roast-data: today (automated commit)
13:44 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/692b0951e8
13:45 Humbedooh joined #perl6
13:48 lizmat jnthn: in the actions I see both $*W.throw with ['Foo','Bar'] as well as 'Foo::Bar'
13:48 lizmat is there a reason for using one or the other?
13:49 skids joined #perl6
13:50 jnthn lizmat: No
13:50 jnthn The latter sees it has a string and splits on ::
13:51 lizmat ok, so [...] would be more direct
13:51 pdcawley_ joined #perl6
13:56 khw joined #perl6
13:56 dalek rakudo/glr: 7806e9d | jnthn++ | src/core/HyperSeq.pm:
13:56 dalek rakudo/glr: Missing Vim mode line.
13:56 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/7806e9da3a
13:56 dalek rakudo/glr: 86d6770 | jnthn++ | src/core/Nil.pm:
13:56 dalek rakudo/glr: Comment out Empty class.
13:56 dalek rakudo/glr:
13:56 dalek rakudo/glr: We've got it defined as an empty Slip for now. We'll see how far that
13:56 dalek rakudo/glr: gets us; it may have to end up being a subclass of Nil again, alas.
13:56 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/86d6770281
13:56 dalek rakudo/glr: b1a7ad4 | jnthn++ | src/core/Range.pm:
13:56 dalek rakudo/glr: Initial tweaks to Range.
13:56 dalek rakudo/glr:
13:56 dalek rakudo/glr: It needs a new implementation of method iterator() { ... } before it
13:56 dalek rakudo/glr: will fcnution properly.
13:56 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/b1a7ad4002
14:04 dalek rakudo/glr: a227fc4 | jnthn++ | src/core/List.pm:
14:04 dalek rakudo/glr: Grammar provides list associativity of infix:<,>.
14:04 dalek rakudo/glr:
14:04 dalek rakudo/glr: And it's too early in the bootstrap to mention it here in code.
14:04 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/a227fc43ad
14:04 dalek rakudo/glr: b2c4fc3 | jnthn++ | src/core/Slip.pm:
14:04 dalek rakudo/glr: Slip inheritance already set up in BOOTSTRAP.
14:04 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/b2c4fc35f7
14:04 dalek rakudo/glr: 40c159b | jnthn++ | src/core/Array.pm:
14:04 dalek rakudo/glr: Fix accidentally copied GLR* names.
14:04 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/40c159bf59
14:06 plicease joined #perl6
14:13 itz is zef intended to replace panda?
14:14 JimmyZ I think no
14:14 JimmyZ just another choice
14:14 dalek rakudo/glr: 99b74be | jnthn++ | src/core/native_array.pm:
14:14 dalek rakudo/glr: Tweak native arrays a little.
14:14 dalek rakudo/glr:
14:14 dalek rakudo/glr: Again, they will need their iterators re-implementing, though that'll
14:14 dalek rakudo/glr: be pretty trivial. Also toss a method for two that is going away.
14:14 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/99b74bef73
14:16 yqt joined #perl6
14:24 leont joined #perl6
14:27 jjido joined #perl6
14:43 rurban joined #perl6
14:45 hoelzro good morning, #perl6!
14:45 lizmat hoelzro o/
14:46 hoelzro hello lizmat!
14:47 jnthn o/ hoelzro
14:48 hoelzro greetings jnthn!
14:58 dalek rakudo/nom: 110f904 | lizmat++ | src/core/Exception.pm:
14:58 dalek rakudo/nom: Expand usability of X::Syntax::Variable::Twigil
14:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/110f904af8
14:58 dalek rakudo/nom: 571b4fa | lizmat++ | src/Perl6/Actions.nqp:
14:58 dalek rakudo/nom: Disallow mere mortals the ? twigil in definitions
14:58 dalek rakudo/nom:
14:58 dalek rakudo/nom: Fix for #125780 and friends.
14:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/571b4fab52
15:01 lizmat smls: looking at http://irclog.perlgeek.de/perl6/2015-08-03#i_10995526 to look at http://doc.perl6.org/langua​ge/subscripts#Custom_types
15:02 lizmat I wonder whether the examples wouldn't be better written with "nextwith"
15:02 inokenty joined #perl6
15:02 * [Coke] finally things to make an "RT" search engine so he can use RT<TAB>ticket# in chrome to jump to a ticket.
15:02 [Coke] *thinks
15:03 lizmat smls: method AT-KEY($key) is rw { nexwith normalize-key $key }
15:03 lizmat *nextwith
15:03 JimmyZ lizmat: 110f904af8 looks like missing ','
15:04 lizmat JimmyZ: where ?
15:04 lizmat in the message ?
15:04 JimmyZ yeah
15:04 lizmat $ 6 'my $?foo'
15:04 lizmat ===SORRY!=== Error while compiling -e
15:04 lizmat Cannot use ? twigil on 'my variable' because it is reserved
15:04 lizmat you think a comma is needed there somewhere ?
15:05 jnthn I'd maybe put variable outside of the quotes but I'm not sure where I'd put a comma :)
15:05 JimmyZ oh, I see the space is in the additional
15:06 lizmat yeah...
15:06 lizmat minor discomfort, but overseeable I think  :-)
15:08 dalek rakudo/nom: 1ee9d84 | lizmat++ | src/core/Exception.pm:
15:08 dalek rakudo/nom: X::Syntax::Variable::Twigil message tweak
15:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1ee9d8497d
15:12 dalek rakudo/nom: af75bd7 | lizmat++ | docs/ChangeLog:
15:12 dalek rakudo/nom: Add some ChangeLog entries
15:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af75bd7442
15:15 dayangkun joined #perl6
15:21 Alina-malina joined #perl6
15:25 tinyblak joined #perl6
15:26 SamuraiJack joined #perl6
15:27 dalek Inline-Perl5: 3a6a7b7 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
15:27 dalek Inline-Perl5: Avoid name collisions by hiding attribute
15:27 dalek Inline-Perl5:
15:27 dalek Inline-Perl5: Chances are, some Perl 5 class will have a method called "parent". Turn
15:27 dalek Inline-Perl5: $!parent (the encapsulated Perl 5 object) into a private attribute to
15:27 dalek Inline-Perl5: avoid name collisions. It can still be accessed by calling
15:27 dalek Inline-Perl5: .unwrap-perl5-object. This seems to be needed in the methods added via
15:27 dalek Inline-Perl5: ^add_fallback.
15:27 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/3a6a7b73da
15:40 * jnthn returns from a meeting to continue GLR :)
15:41 * lizmat goes away for some dinner
15:41 jnthn Up next is...EnumMap. Hm.
15:41 smls lizmat: Thanks for taking a look. I'll try to convert the example to nextwith.
15:41 lizmat smls: it should simplify  :-)
15:41 lizmat afk&
15:53 brrt joined #perl6
15:53 dalek rakudo/glr: 98ac351 | jnthn++ | src/core/ (2 files):
15:53 dalek rakudo/glr: First pass through EnumMap and Hash for GLR.
15:53 dalek rakudo/glr:
15:53 dalek rakudo/glr: Again, some iterators to write to replace HashIter.
15:53 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/98ac3512f0
15:58 jjido joined #perl6
16:00 TimToady jnthn: btw, after setting xblock(1), I spent another couple hours trying to get 'with' to topicalize without success, so I think I'll save it for the hackathon
16:01 TimToady meanwhile, it doesn't hurt anything if people have to use explicit -> or $^a
16:02 jnthn TimToady: urgh
16:02 jnthn ok
16:03 jnthn And yeah, let's get to it after GLR stuff, and supply stuff... :)
16:05 dalek rakudo/glr: 5d4c93d | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
16:05 dalek rakudo/glr: Fix foreign language array transform.
16:05 dalek rakudo/glr:
16:05 dalek rakudo/glr: Makes a fully reified List, now Parcel is gone.
16:05 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/5d4c93d932
16:05 jnthn Currently getting up to line 15,000 or so in CORE.setting
16:06 telex joined #perl6
16:07 TimToady faster progress than nom :)
16:07 ShimmerFairy joined #perl6
16:07 TimToady maybe we should rename back to 'master' in September
16:10 jnthn Of course, this is only the parse stage I'm talking about :)
16:10 dalek rakudo/glr: 3d5f964 | jnthn++ | src/core/ (5 files):
16:10 dalek rakudo/glr: Replace some uses of Parcel as type.
16:10 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/3d5f96490d
16:11 jnthn OK, now we get through all 25,000 lines and then explode with missing symbols at the end. Probably all the mentions of Parcel and LoL that remain. :)
16:11 jnthn Well, no LoL wants left uncommented, so just Parcel... :)
16:12 nine Sounds like a quite decent bit of progress :)
16:12 TimToady .oO(Sir Parcel-val hunts for fewmets...)
16:13 amurf joined #perl6
16:14 [Coke] (rename back to master) might be a good idea to switch to a post-christmas repository layout - perhaps have master be for released versions, and a main dev branch. (there's some bog standard release methodology we can copy here to help us when we have multiple versions in the wild that might get a point release (even if we start with just one))
16:15 TimToady or was that Sir Pellinnore, hmm...
16:16 * [Coke] thinks 'gitflow' might be the one he's thinking of
16:16 * [Coke] hurls http://nvie.com/posts/a-successful-git-branching-model/
16:23 diana_olhovik_ joined #perl6
16:25 dalek doc: 8883c52 | (Steve Mynott)++ | lib/Language/ (2 files):
16:25 dalek doc: fix minor typos
16:25 dalek doc: review: https://github.com/perl6/doc/commit/8883c5214d
16:25 dalek rakudo/glr: 2f8dfb2 | jnthn++ | src/ (8 files):
16:25 dalek rakudo/glr: First bunch of leftover mentions of Parcel fixes.
16:25 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/2f8dfb267f
16:26 bjz joined #perl6
16:29 dalek rakudo/glr: 0041bf0 | jnthn++ | src/core/List.pm:
16:29 dalek rakudo/glr: s/GLRSeq/Seq/
16:29 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/0041bf0644
16:29 dalek rakudo/glr: 840eb5d | jnthn++ | / (2 files):
16:29 dalek rakudo/glr: .Parcel -> .List in slice logic.
16:29 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/840eb5d391
16:35 dalek doc: e47c510 | smls++ | lib/Type/ (75 files):
16:35 dalek doc: Improve subtitles for type pages
16:35 dalek doc:
16:35 dalek doc: Besides misc tweaking and homogenizing of the subtitles, the subtitles for
16:35 dalek doc: roles are now worded similarly to those of classes (i.e. so it would fit "An
16:35 dalek doc: object which has this role composed into it represents a(n) [SUBTITLE HERE]"),
16:35 dalek doc: rather than starting their subtitles with "Common role for".
16:35 dalek doc:
16:35 dalek doc: Remember that the main purpose for the subtitles is to provide helpful context
16:35 dalek doc: and hints to reader who are skimming the type index pages
16:35 dalek doc: (http://doc.perl6.org/type.html, http://doc.perl6.org/type-basic.html, etc.),
16:35 dalek doc: which is why it's important for the subtitles to be phrased consistently
16:35 dalek doc: (especially between related classes/roles) and to be free of fluff and
16:35 dalek doc: distractions.
16:35 dalek doc: review: https://github.com/perl6/doc/commit/e47c510d3e
16:35 smls joined #perl6
16:37 jnthn Oh, turns out I wasn't all the way through...but something triggered explain_mystery
16:38 jnthn TimToady: Is having "eager" and "lazy" statement prefixes just call .eager and .lazy on their results meaningful?
16:39 TimToady depends on whether we can rely on the syntactic recognition to do any compile-time optimization
16:40 jnthn Not sure I see it...
16:40 TimToady some pipelines could be set up at compile time, I think, if we know all the stages
16:40 TimToady but I wouldn't worry about it for now
16:41 jnthn If you .eager soemthing and then it's assigned to something that wants all the values anyway, the eager costs basically nothing.
16:41 TimToady just thinking we can factor out the negotiations sometimes, but that'd only make any difference on very short lists negotiated many times
16:45 TimToady but certainly let's not solve a problem we may not have
16:45 jnthn Indeed, that sounds like something for further down the road
16:46 smls So will   lazy $foo.one.two.three;   only make .three lazy, but not .one and .two ?
16:46 TimToady is there a mechanism for the compile-time optimizer to mark things as "I know this will only spesh one way, so don't bother with the guards?"  well, I suppose that's just substituting a tighter type really
16:47 dalek rakudo/glr: 4404a03 | jnthn++ | src/core/Lock.pm:
16:47 dalek rakudo/glr: Fix re-declaration of Lock's REPR.
16:47 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/4404a03dd5
16:47 dalek rakudo/glr: 145298b | jnthn++ | src/core/control.pm:
16:47 dalek rakudo/glr: Fix partially missed update.
16:47 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/145298b83b
16:47 dalek rakudo/glr: a4fca01 | jnthn++ | src/core/List.pm:
16:47 dalek rakudo/glr: Add back some operators we lost.
16:47 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/a4fca01dac
16:48 jnthn TimToady: No, and at most it could only be taken as a hint
16:49 TimToady smls: that will depend on what .one and .two return
16:49 jnthn TimToady: Because we do transforms based on the types that can lead to SEGVs if we don't really get that type
16:49 smls TimToady: If all three methods return a Seq?
16:50 jnthn smls: .lazy on the thing at the end simply blocks array assignment from trying to evaluate it, and makes anything that otherwise would have work-ahead-when-safe semantics not work ahead if asked to
16:51 jnthn smls: If you have something burried in the pipeline that is binding into a list, then that lists reification may end up causing things before it to work ahead
16:51 jnthn It's not *that* action-at-a-distancey.
16:52 dalek rakudo/glr: 1e6563c | jnthn++ | src/core/metaops.pm:
16:52 dalek rakudo/glr: Fix to compensate for removal of &EAGER sub.
16:52 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/1e6563cfad
16:53 smls jnthn: So in    lazy @foo.map({ ... }).grep({ ... });   is the .map allowed to work ahead?
16:55 jnthn smls: .map can't really do so because the block to it can have side-effects.
16:55 jnthn That's independent of the lazy
16:56 jnthn It's more that if @foo happened to be bound to a List and .map is asking that List for values, then the iterator for that list is free to work ahead if the thing populated it is capable of doing so.
16:59 jnthn Put another way, .lazy doesn't control evaluation of things deeper in the pipeline, it controls how things you're calling it on will evaluate.
17:05 tinyblak joined #perl6
17:08 dalek rakudo/glr: b7241d3 | jnthn++ | src/core/Hash.pm:
17:08 dalek rakudo/glr: Fix case-o.
17:08 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/b7241d3b1b
17:08 dalek rakudo/glr: 13aa4f0 | jnthn++ | src/core/List.pm:
17:08 dalek rakudo/glr: Fix mentions of now-removed GatherIter.
17:08 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/13aa4f0a48
17:08 jnthn OK, we now make it to the end of the parse phase, and then explode when it's mopping up (probably setting up some Pod array) 'cus I didn't finish implementing slurpies yet
17:10 arnsholt Cool! Sounds like GLR is progressing apace
17:10 arnsholt jnthn++
17:13 jnthn Well, it's basically get through state parse (not far now, I think), get through stage optimize (hopefully no work to do here), get through the code-gen (I bet we've some lingering nqp::p6foo that I need to fix), and then fix things enough so we survive startup.
17:13 jnthn And then we can see how bad the damage is.
17:14 arnsholt And sort through the specfails and figuring out which are legitimate fails and which are incorrect tests?
17:14 jnthn Indeed
17:14 jnthn But once I get it building/starting up again, I think others can dive in.
17:15 arnsholt Yeah, that sounds plausible
17:17 domidumont joined #perl6
17:19 rurban_ joined #perl6
17:19 spider-mario joined #perl6
17:20 dalek Inline-Perl5: 5c4ce02 | (Stefan Seifert)++ | / (2 files):
17:20 dalek Inline-Perl5: Do not answer requests to Perl6::Object->can($foo);
17:20 dalek Inline-Perl5:
17:20 dalek Inline-Perl5: Seems like there's code out there (in DBIx::Class exception handling)
17:20 dalek Inline-Perl5: that does something like (ref $obj)->can(...). This wouldn't work on
17:20 dalek Inline-Perl5: Perl6::Object, since it would try to answer if a Perl 6 class called
17:20 dalek Inline-Perl5: "Perl6::Object" has a method of the given name. Just give the only
17:20 dalek Inline-Perl5: sensible answer instead: undef.
17:20 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/5c4ce0258b
17:22 nine Seems like I'm getting into more and more obscure territory with my fixes :)
17:29 jjido joined #perl6
17:29 rurban joined #perl6
17:35 nine What do I have to do to set up an exception handler for warn on an embedded MoarVM?
17:37 TimToady jnthn: from my glrish experience, there may be an additional stage hiding in there; getting serialization/deserialization to work right, since you can't spectest till Test.pm can be imported
17:40 jnthn TimToady: Hm, I'm not especially expecting to run into issues with that...
17:43 jnthn nine: A C-level? Not sure we've an API for that at present...
17:45 jnthn nine: If you've change to get any Perl 6 or NQP code in then a CONTROL block is what you want
17:45 jjido joined #perl6
17:46 nine jnthn: I'm just trying to get it to print a backtrace like it does in normal Perl 6. That does work with die out of the box but oddly not with warn.
17:46 jnthn nine: Same failure mode for unhandled contorl exceptions, ooc?
17:46 jnthn (like a misplaced next)
17:47 dalek rakudo/glr: 5c71ee4 | jnthn++ | src/ (2 files):
17:47 dalek rakudo/glr: First pass at getting slurpies working.
17:47 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/5c71ee436d
17:47 jnthn nine: They're normally handled by print_control though
17:47 jnthn With that patch, we reach stage optimize
17:47 jnthn Which does blow up
17:48 nine perl -MInline::Perl6 -e 'Inline::Perl6::initialize; v6::run("next;");'
17:48 TimToady that's, er, suboptimal
17:48 nine No exception handler located for next
17:48 jnthn TimToady: What is? :)
17:48 jnthn Oh
17:48 TimToady the suboptimizer blowing up
17:48 jnthn :P :P
17:49 jnthn I think it's 'cus it doesn't understand the Seq => @ trick yet
17:49 jnthn Well, nothing does yet :)
17:50 TimToady m: say 1..100000000000000000 minmax 2..999999999999999999
17:50 camelia rakudo-moar a32c14: OUTPUT«1..999999999999999999␤»
17:50 TimToady m: say [minmax] say 1..100000000000000000, 2..999999999999999999
17:50 camelia rakudo-moar a32c14: OUTPUT«1..1000000000000000002..999999999999999999␤Bool::True..Bool::True␤»
17:51 TimToady m: say [minmax] 1..100000000000000000, 2..999999999999999999
17:51 camelia rakudo-moar a32c14: OUTPUT«1..999999999999999999␤»
17:51 TimToady m: say [min] 1..100000000000000000
17:51 camelia rakudo-moar a32c14: OUTPUT«(timeout)»
17:54 TimToady I suppose reduction ops shouldn't flatten by default after GLR
17:56 nine jnthn: well AFAIR MoarVM doesn't have any embedding API at all yet. Didn't stop me from successfully embedding though ;)
17:57 nine Though I'm quite amazed that it works as well as it does.
17:59 dalek rakudo/glr: d043961 | jnthn++ | src/Perl6/Actions.nqp:
17:59 dalek rakudo/glr: Fix eager/lazy/sink statement prefixes.
17:59 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/d043961414
17:59 rurban joined #perl6
17:59 jnthn nine: Yeah, pretty much :)
17:59 jnthn nine: Glad you managed to make it work how you wanted so far. :)
17:59 jnthn OK, with that patch we survive the optimizer
18:00 jnthn Next up is...code-ge^Wdinner! &
18:06 dalek roast: 583f18b | TimToady++ | S32-list/minmax.t:
18:06 dalek roast: [min] and [max] should not flatten post-GLR
18:06 dalek roast: review: https://github.com/perl6/roast/commit/583f18b2ea
18:06 dalek roast: aa67fa3 | TimToady++ | S03-operators/minmax.t:
18:06 dalek roast: minmax should not flatten its args
18:06 dalek roast: review: https://github.com/perl6/roast/commit/aa67fa3720
18:23 jkva joined #perl6
18:37 lizmat m: my constant $*FOO = 42   # wouldn't this just be a matter of allowing ?
18:37 camelia rakudo-moar a32c14: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wWXQp1860p␤Twigil-Variable constants not yet implemented. Sorry. ␤at /tmp/wWXQp1860p:1␤------> 3dn't this just be a matter of allowing ?7⏏5<EOL>␤»
18:38 TimToady m: my $*FOO ::= 42; $*FOO = 43
18:39 camelia rakudo-moar a32c14: OUTPUT«Cannot modify an immutable Int␤  in block <unit> at /tmp/3PbyShP4H8:1␤␤»
18:39 smls My attempt to coordinate the p6doc documentation effort to go along with / follow the GLR: https://github.com/perl6/doc/issues/116
18:39 smls .seen moritz
18:39 yoleaux I saw moritz 5 Aug 2015 20:17Z in #perl6: <moritz> s:g/<!foo>.//
18:39 lizmat smls: moritz is on holiday, afaik
18:39 TimToady lizmat: I'm not sure we should declare "constants" that can have a different value later in the lexical scope depending on who you call
18:39 smls lizmat: ah
18:40 bin_005 joined #perl6
18:40 TimToady but ::= marks readonly, if that's what you really want
18:41 b2gills jnthn: you have Perl6::Actions.statement_prefix:sym<eager> and statement_prefix:sym<sink> calling lazy
18:41 TimToady otoh, there's no way to prevent someone from defining a lower $*FOO that doesn't use ::=, so it's not all that useful
18:42 PerlJam smls: I like how slips are described as "dissolving" into their parent lists.
18:42 lizmat so maybe we should just forbid my constant $*FOO ?
18:42 TimToady the concepts "dynamic" and "constant" don't really mesh too well
18:43 lizmat ok, then I'll make it a nono for now
18:43 TimToady seems fine to me
18:43 spider-mario joined #perl6
18:44 TimToady "Dynamic constant is an oxymoron at line 42"
18:44 lizmat m: sub a { .return with 42 }   # TimToady, how's that for a meme ?
18:44 camelia rakudo-moar a32c14: ( no output )
18:45 smls PerlJam: Thanks :)
18:46 smls I also considered "absorbed by their parent", but "dissolve" sounded better (and lets us avoid passive tense)
18:55 jnthn smls++ # looking into the docs for GLR
18:56 dalek rakudo/glr: 2221729 | jnthn++ | src/Perl6/Actions.nqp:
18:56 dalek rakudo/glr: Fix thinko spotted by b2gills++.
18:56 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/2221729fdb
18:59 hoelzro is RT inaccessible for people other than me?
19:01 PerlJam hoelzro: I've been "waiting for rt.perl.org" quite a bit longer than I'm used to (and still waiting)
19:01 smls seems to be down
19:01 smls http://downforeveryoneorjustme.com/rt.perl.org  agrees
19:01 hoelzro =/
19:01 PerlJam huh.  I just got a "temporarily unavailable" message
19:02 domidumont joined #perl6
19:04 hoelzro that's what I'm seeing
19:05 dalek rakudo/glr: 2f5e5ec | jnthn++ | src/core/List.pm:
19:05 dalek rakudo/glr: Seq *is* Iterable, duh!
19:05 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/2f5e5ec805
19:05 dalek rakudo/glr: ddbba2c | jnthn++ | src/core/ (3 files):
19:05 dalek rakudo/glr: Various replacements of nqp::p6list.
19:05 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/ddbba2cc77
19:08 rfportilla joined #perl6
19:11 lizmat https://gist.github.com/lizmat/fa1f9fe2a95e809eb7aa   # implement Mu.return, to allow for ".return with 42"
19:11 lizmat comments?  suggestions?  good idea, bad idea?
19:12 TimToady use case?
19:12 jnthn lizmat: I can't think of any reason why not; we already have .take
19:13 lizmat TimToady: being able to easily return out of a sub with a defined value using with statement modifuer
19:13 lizmat .return with $foo
19:13 lizmat same as:
19:13 lizmat .take with $foo  # as jnthn pointed out
19:13 TimToady okay
19:15 llfourn joined #perl6
19:16 jnthn TimToady: Hm, deepmap and nodemap flatten their input at present
19:16 jnthn TimToady: Should they?
19:16 smls .oO( When half the lines of the day's IRC backlog are from dalek, you know it's been a productive day for Perl 6... )
19:17 TimToady jnthn: you mean the list ops?
19:17 dalek rakudo/glr: fbf22f4 | jnthn++ | src/core/ (10 files):
19:17 dalek rakudo/glr: Replace all nqp::p6parcel usages.
19:17 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/fbf22f4832
19:17 jnthn multi sub nodemap(\op, \obj) {
19:17 jnthn my Mu $rpa := nqp::list();
19:17 jnthn my Mu $items := nqp::p6listitems(obj.flat.eager);
19:17 jnthn That last line
19:17 smls jnthn: Maybe a relic from when .map used to also flatten?
19:17 lizmat jnthn: I just added one more nqp::p6parcel  :-)
19:18 dalek rakudo/nom: aa6ea1d | lizmat++ | src/core/Mu.pm:
19:18 dalek rakudo/nom: Implement Mu.return
19:18 dalek rakudo/nom:
19:18 dalek rakudo/nom: So that we can easily return out of a sub with "with" like:
19:18 dalek rakudo/nom:
19:18 dalek rakudo/nom:   .return with $foo;  # return $foo from sub if $foo is defined
19:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aa6ea1d532
19:18 jnthn smls: Very possibly
19:18 jnthn Let's do away with it for now
19:19 jnthn It doesn't make sense to me...the tests'll tell us more anyway
19:19 TimToady most listops should be presumed to be non-flattening, unless a good case can be made for flattening
19:19 jnthn k
19:20 ugexe ive been unable to build r-j, but camelia's $*PERL.compiler.version is the same for both m: and j:. Does that mean its a problem on my end?
19:21 jnthn Blow me, it compiles.
19:21 lizmat ugexe: r-j build has been broken for several days now at least
19:21 dalek Inline-Perl5: f7699be | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
19:21 dalek Inline-Perl5: Make sure we have a WARN handler for Inline::Perl6
19:21 dalek Inline-Perl5:
19:21 dalek Inline-Perl5: Thanks to jnthn++ for pointing into the right direction.
19:21 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/f7699be97a
19:21 skids cmelia uses older moar/nqp IIRC.
19:21 dalek rakudo/glr: a97e505 | jnthn++ | src/core/Hash.pm:
19:21 dalek rakudo/glr: Comment out some things using p6listitems.
19:21 dalek rakudo/glr:
19:21 dalek rakudo/glr: Can fix these later; not especially critical.
19:21 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/a97e505df3
19:21 dalek rakudo/glr: b77466e | jnthn++ | src/core/metaops.pm:
19:21 dalek rakudo/glr: Two more p6listitems uses gone, plus two '.flat's.
19:21 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/b77466e993
19:21 nine jnthn: CONTROL { note $_.gist; $_.resume; } does the trick :)
19:22 jnthn \o/
19:22 jnthn So, now we just blow up at startup
19:22 jnthn hash store NYI after GLR
19:22 nine wow!
19:23 jnthn I...guess I shoulda seen myself not getting away with that one for long :)
19:25 jnthn Gotta go for a bit; will have a look at that afterwards... :)
19:29 [Coke] should we change roast/master for post-GLR tests, or put them on roast/glr to avoid breaking daily runs?
19:30 dalek roast: a16a600 | lizmat++ | S04-statements/return.t:
19:30 dalek roast: Add basic tests for Mu.return
19:30 dalek roast: review: https://github.com/perl6/roast/commit/a16a600c81
19:30 captain-adequate joined #perl6
19:31 [Coke] (I ask because I saw a commit or two from TimToady++ go by that said "post-GLR"
19:31 nine [Coke]: had the same thoughts. I'd vote for a glr branch
19:34 lizmat [Coke]: if the goal is to merge glr before this month's release, is the extra trouble of a glr branch worth it?
19:34 [Coke] m: my $answer; without $answer { fail "Got: $_" }
19:34 camelia rakudo-moar a32c14: OUTPUT«Use of uninitialized value $_ of type Any in string context  in block <unit> at /tmp/TV15ArARUO:1␤»
19:35 lizmat [Coke]: known issue with topicalization
19:35 [Coke] ^^ that seems like a LTA example for the without spec.
19:35 [Coke] would you expect that to print something else?
19:36 lizmat m: my Int $answer; without $answer { fail "Got: $_" }   # should say "of type Int"
19:36 camelia rakudo-moar a32c14: OUTPUT«Use of uninitialized value $_ of type Any in string context  in block <unit> at /tmp/65Gk0eT9cJ:1␤»
19:36 lizmat m: my Int $answer; $_ = 42; without $answer { fail "Got: $_" }   # should say "of type Int"
19:36 camelia rakudo-moar a32c14: ( no output )
19:36 [Coke] my point is that putting in something that's going to fail to fail properly is a bad example.
19:37 [Coke] mabye { fail "got an undefined: " $_.WHAT } would be better.
19:37 lizmat ah, ok
19:37 [Coke] (with a ~)
19:38 nine m: say {-in => "foo"}.perl;
19:38 camelia rakudo-moar a32c14: OUTPUT«-> ;; $_? is parcel { #`(Block|66753712) ... }␤»
19:38 nine I guess this is ok for Perl 6? ^^^
19:38 jkva joined #perl6
19:39 pecastro joined #perl6
19:39 TimToady m: say {-in => "foo"}()
19:39 camelia rakudo-moar a32c14: OUTPUT«Cannot call Numeric(Pair: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/IVqLFfNFE1:1␤␤»
19:40 nine The irony is that Perl 5 will happily stringify '-in' in that case
19:41 timotimo yeah, we only do identifiers for autoquoting the LHS of =>
19:42 nine m: say {'a', 'b'}.perl
19:42 camelia rakudo-moar a32c14: OUTPUT«-> ;; $_? is parcel { #`(Block|48935216) ... }␤»
19:43 nine Another one
19:47 dalek rakudo/nom: 3b38783 | lizmat++ | src/Perl6/Actions.nqp:
19:47 dalek rakudo/nom: Disallow my constant $*FOO
19:47 dalek rakudo/nom:
19:47 dalek rakudo/nom: http://irclog.perlgeek.de/perl6/2015-08-10#i_11034753
19:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3b38783ed4
19:48 nine Looks like in the past two hours all errors I found were differences in syntax between P5 and P6 and none deficiencies in Inline::Perl5 :)
19:49 Peter_R joined #perl6
19:54 yqt joined #perl6
19:56 maettu joined #perl6
20:03 bin_005 joined #perl6
20:05 fxer joined #perl6
20:06 domidumont joined #perl6
20:12 domidumont joined #perl6
20:13 [Coke] maettu++
20:14 [Coke] nine: that's good, yes? ;)
20:14 llfourn joined #perl6
20:14 laben joined #perl6
20:14 darutoko- joined #perl6
20:16 laben left #perl6
20:16 maettu sent out mails with information for P6 hackathon @ perl-workshop.ch
20:17 maettu Please contact me if I missed somebody
20:18 jkva joined #perl6
20:23 laben joined #perl6
20:23 [Sno] joined #perl6
20:24 lizmat maettu: on the channel here?
20:24 maettu true
20:24 lizmat I'll take that as a yes  :-)
20:25 jnthn A glr branch in roast probably makes sense.
20:25 jnthn Branches are no hassle. I mean, it's git... :)
20:27 maettu my mail address is matthias.bloch@oetiker.ch
20:29 nine [Coke]: oh, yes, very :) I'm gaining confidence by the minute that I can advertise using Inline::Perl5 and Inline::Perl6.
20:35 dalek rakudo/glr: 84920a2 | jnthn++ | src/core/EnumMap.pm:
20:35 dalek rakudo/glr: Re-implement storing into a hash.
20:35 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/84920a2674
20:35 jnthn You know what's nice abou the new iterator API? It works like a damn iterator API...
20:36 tadzik heh, that calls for an "aww yiss" comic
20:36 yoleaux 10:17Z <azawawi> tadzik: initial version with Travis CI and tests are in https://github.com/azawawi/File-HomeDir
20:36 tadzik let's see if I can quickly craft one
20:37 jnthn Sheesh. Now we make it to line 28837 of the setting mainline before we explode
20:38 jnthn "Type check failed in binding; expected 'Positional' but got 'Seq'". Ah, yes :)
20:39 laben hi perl6'ers
20:40 laben is there an expert on Supply?
20:40 lizmat .oO( most of us only do Demand :-)
20:41 lizmat laben: what is the question?
20:41 laben lizmat: :) i tried attaching a Supply to stdout, to capture the events
20:42 lizmat do you have a gist?
20:42 laben sorry, how do i do a gist?
20:43 laben actually, it works, its just that i get multiple events when i should get only one
20:43 [Coke] http://gist.github.com/
20:43 [Coke] that's our pastebin.
20:44 laben sorry for the "debugging" code pasted inside https://gist.github.com/anonymous/de0b71ceb9ec64065478
20:45 laben i made it so that when stdout uses "print", instead it emits on a Supply
20:45 lizmat The Onset Of Upheaval: https://p6weekly.wordpress.com/2015/08/10/2015-32-the-onset-of-upheaval/
20:45 laben but when in the code i call print $arg1, $arg2
20:45 laben it emits two time
20:45 lizmat in other words, Yet Another Perl 6 Weekly
20:45 laben times*
20:46 lizmat afk for a bit&
20:46 laben it didnt seem normal to me, did i not understand docs correctly?
20:47 awwaiid woo!
20:47 tony-o laben: are you saying that supply-capture-stdout returns 2?
20:48 laben AFTER:
20:48 laben BEGIN
20:48 laben 1 : Emitted Int|0
20:48 laben 2 : Emitted 0
20:48 laben 3 : Emitted Int|1
20:48 laben 4 : Emitted 1
20:48 laben 5 : Emitted Int|2
20:48 laben 6 : Emitted 2
20:48 laben 7 : Emitted Int|3
20:48 laben 8 : Emitted 3
20:48 laben 9 : Emitted Int|4
20:48 laben 10 : Emitted 4
20:48 tony-o lol, use gist next time
20:48 laben COUNT: 10       10
20:48 laben oops, sorry for the spam
20:48 laben yep sorry
20:48 tony-o that seems correct man
20:48 laben i gave it 5 secs, should fire 5 times
20:49 laben why does it tap 10 times?
20:49 tony-o your .interval supply is run in another thread and your main thread sleeps while that one ticks off for 5
20:50 awwaiid hmm... I like the .return method! Consistentify everything!
20:51 laben tony-o: sorry, i dont understand why it outputs double the events...
20:51 tony-o laben, if you change that sleep 5; to sleep 1 - you
20:51 tony-o you'll likely get 2 emitted events
20:53 tony-o laben: line 24 starts a thread that ticks off numbers while your main thread yields, meanwhile your line 22 eats up those emitted numbers and increases your count.  the longer you sleep the more #s you'll get because line 24 will tick off numbers for that long
20:53 laben i understood it worked like this: interval ticks, emits output, gets redirected to the other supply, which emits the event, tap concat the string
20:53 * skids wonders how one would "forgetfully flatten" in the GLR API.  Or maybe I just need to read it through again.
20:54 jnthn skids: What do you mean by "forgetfully"? :)
20:54 tony-o it does, line 26 makes your main thread yield to other events for however long you're sleeping..so it sits on line 14 for 5 seconds while #22,24 both emit/receive
20:54 skids Not retain a copy of the reified values in memory.
20:54 laben it works correctly if instead of "print $arg1, $arg2" i do "print $arg1 ~ $arg2", meaning if i pass a single arg to print
20:54 skids As flat calls .list.flat
20:55 laben by correctly i mean a single event per print
20:55 laben like this instead it's like a signle print emits two time, each for an arg
20:56 jnthn laben: The .print method in an IO handle may be called multiple times by the print function
20:56 laben maybe i didnt explay very well
20:56 tony-o laben: change line 9 if you want it to behave that way
20:57 jnthn Here's the code from sub print:
20:57 jnthn my $out := $*OUT;
20:57 jnthn $out.print(nqp::shift($args)) while $args;
20:57 laben tony-o: how do you suggest i change it to make it work like i said?
20:58 jnthn So really it's like sub print(*@args) { $*OUT.print($_) for @args }
20:58 laben jnthn: so there's no way to get a single event for a single print or say from my code?
20:58 laben jnthn: other than using only one arg
20:58 jnthn laben: I somewhat suspect say sends a print and then separately a new line
20:59 [Coke] I'm sure at one point that was to avoid a string concat.
20:59 jnthn Well, it may still be sorta worth avoiding
20:59 jnthn In so far as if you call down to an I/O handle it's likely going to stick things into a buffer at some level
20:59 laben jnthn: that i didnt test, i just thought it was strange a single print from my code sent multiple events
21:00 jnthn So if you concatenate in memory, you're just duplicating what'd happen a level down anyway...
21:00 tony-o laben: change line 9 to @args.join('')  and see if that's what you're looking for
21:01 jnthn tony-o: I don't think it will be 'cus .print gets called twice by sub print.
21:01 jnthn Also, emit on an Array doesn't (really, really shouldn't!) emit multiple events. :)
21:01 laben yeah, just tried it and jnthn is right
21:02 tony-o ah
21:03 laben ok, the next level will be attaching a timer to each output event
21:03 laben will see how to do that
21:05 nine lizmat: your quote of the week just made me laugh :)
21:05 lizmat that was the intent  :-)
21:05 nine lizmat: I think you linked the wrong 'clog line though
21:06 lizmat nono, I intentionally linked to YES YES YES
21:06 jnthn laben: .batch(seconds => 0.1).map(*.join) may do it
21:06 lizmat so you get a bit of background into
21:06 bin_005_p joined #perl6
21:06 lizmat *info
21:07 laben sorry jnthn, what is batch? cannot find in doc.perl6.org
21:07 lizmat laben: it batches events in a list
21:07 * jnthn guesses that one isn't documented yet
21:08 lizmat either by time limit and/or number of events
21:08 lizmat hmmm.. what *do* we generically something coming into a supply?
21:08 lizmat an emission ?
21:08 lsm-desktop joined #perl6
21:09 lizmat laben: I guess .batch is not documented yet
21:09 * lizmat looks at documenting it
21:09 laben is it part of Supply?
21:10 jnthn laben: Yeah, it's a method on a Supply
21:10 jnthn Just like map, grep, and so on
21:10 lizmat what jnthn said
21:11 dalek rakudo/nom: 7a29f16 | lizmat++ | docs/ChangeLog:
21:11 dalek rakudo/nom: Some more ChangeLog updates
21:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7a29f16cb2
21:12 jnthn lizmat++ # p6weekly
21:12 jnthn Read it while waiting for a compile ;)
21:12 jnthn Or two.
21:12 lizmat another good use of P6W  :-)
21:17 nine lizmat++ indeed :)
21:21 jnthn Yeah, but now my compiles are boring :P
21:22 jnthn Darn, I was meant to spend some time on getting more of my YAPC::Asia slides done today, and I GLR'd all day instead...
21:23 nine jnthn: somehow I can live with that quite well ;)
21:24 nine OTOH I should start to work on my YAPC::EU talk.
21:26 jnthn nine: Yeah, but they want at least a decent idea of what I'll be saying a week in advance for the interpreter... :)
21:27 jnthn Anyway, given tomorrow I have to work on some other $dayjob things *and* the slides, don't expect much more GLR until Wed.
21:28 RabidGravy tadzik, it would be a great boon if you could consider merging https://github.com/tadzik/panda/pull/190 - I actually do use "gen-meta" ;-)
21:28 dalek rakudo/glr: 211740b | jnthn++ | src/ (4 files):
21:28 dalek rakudo/glr: First attempt at positional bind failover.
21:28 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/211740be84
21:28 dalek rakudo/glr: c193471 | jnthn++ | src/core/Str.pm:
21:28 dalek rakudo/glr: Partially fix up .match post-GLR.
21:28 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/c193471214
21:28 dalek rakudo/glr: 5537b8e | jnthn++ | src/Perl6/Actions.nqp:
21:28 dalek rakudo/glr: First pass at fixing for after GLR.
21:28 dalek rakudo/glr:
21:28 dalek rakudo/glr: It's just map!
21:28 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/5537b8e074
21:28 dalek rakudo/glr: c67c3fe | jnthn++ | src/core/ (2 files):
21:28 dalek rakudo/glr: A few missing "is rw"s.
21:28 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/c67c3fe4cb
21:29 RabidGravy (I've brought it up to date with the latest changes)
21:29 jkva joined #perl6
21:31 * laben is having a hard time wrapping his head around mixing Promise and Supply
21:33 dalek doc: 48e20f4 | lizmat++ | lib/Type/Supply.pod:
21:33 dalek doc: First batch of documentation of Supply methods
21:33 dalek doc: review: https://github.com/perl6/doc/commit/48e20f4b86
21:35 lizmat hoelzro: I don't see the script with #125782 ?
21:35 hoelzro d'oh
21:35 diana_olhovik joined #perl6
21:35 hoelzro thanks lizmat
21:35 tadzik RabidGravy: oh!
21:36 tadzik RabidGravy: I promise to look at it, no later than tomorrow morning
21:36 hoelzro lizmat: attached!
21:36 lizmat :-)
21:36 lizmat not going to look at it now
21:38 hoelzro that's fine
21:38 kurahaupo joined #perl6
21:38 hoelzro I'm going to try to look at it later; I'm trying to get into the habit of reporting things to RT before I fix them =P
21:38 lizmat a good habit  :-)
21:39 RabidGravy tadzik, cheers!  There's a lot of to-and-fro in that PR now, but in summary it works around the Proc::Async changes by passing the additional module (i.e. Panda::DepTracker) as a parameter where required rather than setting $*EXECUTABLE
21:40 laben good * perl6'ers, have a good time!
21:40 laben left #perl6
21:43 dalek doc: 8831384 | lizmat++ | lib/Type/Supply.pod:
21:43 dalek doc: Remove superfluous mention of delayed
21:43 dalek doc: review: https://github.com/perl6/doc/commit/883138446d
21:43 dalek rakudo/glr: 2bc6120 | jnthn++ | src/core/ (3 files):
21:43 dalek rakudo/glr: Comment out a few things we do at startup.
21:43 dalek rakudo/glr:
21:43 dalek rakudo/glr: We'll need to restore them, but it can be easier to debug from smaller
21:43 dalek rakudo/glr: things, and this helps us get closer to being able to run smaller
21:43 dalek rakudo/glr: things.
21:43 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/2bc6120cd1
21:43 dalek rakudo/glr: 1e2e46d | jnthn++ | src/core/List.pm:
21:43 dalek rakudo/glr: Re-instate ability to |@foo in an argument list.
21:43 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/1e2e46d8b1
21:44 smls lizmat++  # writing documentation
21:46 dalek rakudo/glr: 0d48533 | jnthn++ | src/Perl6/World.nqp:
21:46 dalek rakudo/glr: Disable @INC stuff until Inc.pm is fixed.
21:46 dalek rakudo/glr:
21:46 dalek rakudo/glr: With this, the build gets far enough to give you a runnable perl6.
21:46 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/0d48533841
21:46 TimToady \o/
21:46 lizmat jnthn++
21:46 timotimo YES.
21:46 jnthn OK, y'all have until Wednesday to fix as much as you can :P
21:47 * timotimo got a little bit of a sunburn today :(
21:47 timotimo and it was terribly hot
21:47 timotimo now it's getting quite cold :|
21:47 lizmat are you preparing for life as a camel in the desert ?
21:47 orafu joined #perl6
21:48 timotimo nah
21:48 jnthn There's all kinds of little bits commented out, including such boring things as .gist and .Str on List and Seq :)
21:49 jnthn Ah, .join missing is at the heart of plenty of issues
21:52 * lizmat wishes #perl6 a good night
21:53 jnthn 'night, lizmat
21:53 smls What are the Stash and PseudoStash classes for?
21:54 timotimo gnite lizmat
21:54 smls spec is kinda sparse in that area
21:54 timotimo stashes hold stuff like symbols for a lexical scope
21:54 TimToady Stash is where packages put their names, and PseudoStash is where things like UNIT and GLOBAL get their meanings
21:54 timotimo they are not mutable
21:54 timotimo right
21:54 TimToady or more like CALLERS, OUTERS
21:54 timotimo more interesting pseudostashes include ... yea
21:54 jnthn Stashes isn't lexical scopes :)
21:54 jnthn PseudoStash may be.
21:55 jnthn Stash is what comes back from .WHO
21:55 smls How are they different from a plain EnumMap?
21:56 timotimo ah, ok
21:56 jnthn Stash has some logic for falling back to looking up in GLOBAL and for vivifying nested packages
21:56 jnthn PseudoStash knows how to interpret magical things like CALLER, OUTER, etc.
21:57 smls So, they're not meant for generic use at all
21:57 smls (as general-purpose containers)
21:57 jnthn No
21:57 smls ok
21:58 smls On a related note, I find the   EnumMap <- Hash <- PairMap   inheritance chain confusing.
21:59 smls it's   immutable <- mutable+itemizing <- immutable+itemizing
21:59 rurban joined #perl6
22:00 smls What would Mrs. Liskov say to that... :P
22:00 timotimo damn, what am i supposed to try now? :)
22:00 smls Not to mention that the names, don;t really reflect those behaviors or make them easy to remember
22:01 * jnthn didn't even know about PairMap... :)
22:04 smls Nor does it seem to be used by anything in Rakudo itself
22:06 dalek rakudo/glr: 97eb563 | jnthn++ | src/core/ (3 files):
22:06 dalek rakudo/glr: Fix join.
22:06 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/97eb563cd6
22:06 dalek rakudo/glr: 2be3f84 | jnthn++ | src/core/io_operators.pm:
22:06 dalek rakudo/glr: Clean up print/say/note multi-arg versions.
22:06 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/2be3f84535
22:07 jnthn OK, I'm really done for the day now :)
22:07 jnthn If you're looking for work, a good starting point will be t/01-sanity
22:08 jnthn Which does mostly pass, but several do not
22:09 TimToady at some point we might want to turn a join (especially an infinite one) into a Cat
22:09 jnthn Otherwise, just search for XXX GLR
22:10 jnthn At some point after 6.christmas, but yes. :)
22:10 raiph joined #perl6
22:10 smls Hm, the design docs don't actually state that PairMap should inherit from Hash.
22:10 timotimo i can't build Test.pm locally; does that seem like a sensible place to start?
22:10 jnthn timotimo: No, that's probably too big :)
22:11 smls It seems to be meant as a more "speacial" type
22:11 smls It's just a Hash in Rakudo
22:11 jnthn timotimo: I'd go for the sanity tests, then at uncommenting the various things in the Rakudo CORE.setting mainline
22:11 jnthn timotimo: I don't think you'll be able to *use* the Test.pm you compile until those are fixed anyway
22:12 jnthn timotimo: Since I commented out all of Inc.pm
22:13 timotimo oh, ok
22:13 jnthn Be back tomorrow, though I really must tend to some other bits much of the day...I'll try to be about enough to answer questions for anyone hacking on the glr branch though :)
22:13 timotimo ah, if use doesn't work, i'll hardly be able to test some SDL-backed graphics code thingi
22:13 timotimo but i can rip all the graphics out
22:13 jnthn 'night, #perl6
22:14 timotimo gnite jnthn
22:14 rurban1 joined #perl6
22:15 llfourn joined #perl6
22:19 TEttinger joined #perl6
22:20 timotimo the exceptions i get are very unhelpful for pointing at problems :\
22:20 timotimo but i'm quite tired anyway and i'll get a tiny bit more hacking in tomorrow perhaps
22:22 Celelibi joined #perl6
22:26 fxer joined #perl6
22:32 smls joined #perl6
22:32 skids joined #perl6
22:36 rurban joined #perl6
22:49 b2gills how many methods do we need to save typing '&'?  ( .return vs .&return )
22:50 TimToady about one, apparently :)
22:50 ShimmerFairy TimToady: While writing some new Unicode tests, I ran into wanting to use a LRM to keep things consistently LTR. Rakudo unsurprisingly doesn't like seeing such characters in the source. I'd like to spec things so that Perl 6 simply ignores Cf characters outside of Q, but that can't be easy to implement.
22:50 b2gills I think it is a little LTA that there are two print methods, one on a IO and one on a normal object
22:52 TimToady I think we ignore directional characters everywhere; it's up to your editor to show things in a different order if you want that
22:53 ShimmerFairy Well, AFAIK the LRM is how I tell emacs to display an expression with arabic-indic numerals to go LTR instead :)
22:56 ShimmerFairy To be clear, I'm talking about using directional characters like LRM to control how my editor displays stuff without those characters having an effect on how the code is parsed or executed.
22:58 TimToady sounds like you're asking for how it already works; in general, most programming languages only care about storage order, not display order
22:58 Psyche^ joined #perl6
22:58 ShimmerFairy m: say ‎"Hello!" # there's an LRM just before the left quote
22:58 camelia rakudo-moar a32c14: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/bOF8Nhzn_c:1␤------> 3say7⏏5 ‎"Hello!" # there's an LRM just before ␤Bogus postfix␤at /tmp/bOF8Nhzn_c:1␤------> 3say 7⏏5‎"Hello!" # there's an LRM just before t…»
22:58 ShimmerFairy so this is a rakudobug, not a specbug then?
22:59 TimToady not a bug, as far as I'm concerned
22:59 TimToady you can't just go poking random control codes into the middle of a program
23:00 geekosaur hm
23:00 * geekosaur doesn't see offhand why those shouldn't be considered whitespace
23:02 ShimmerFairy TimToady: I can definitely see (and agree to) that, it's just unfortunate that I can't write    say ٢ * ٤٢    with a LRM so that the expression displays in storage order (esp. for non-commutative operations, where it'll be really important to remember it's displayed RTL)
23:03 TimToady well, in general we try to discourage people from using zero-width or otherwise invisible whitespace because it will result in reader confusion
23:04 ShimmerFairy Yeah, my rough idea was "Cf characters count as whitespace, but not on their own", or whatever subset of Cf characters are deemed useful to allow.
23:06 ShimmerFairy I'm certainly fine with leaving things as they are, however. I could stand to have _some_ practice editing RTL text :P
23:06 telex joined #perl6
23:09 jkva joined #perl6
23:10 geekosaur otoh I wonder how hard it would be to mutate the grammar with a use rtl-whitespace;
23:11 geekosaur (which also constitutes warning to the reader)
23:12 tinyblak joined #perl6
23:15 ShimmerFairy geekosaur: definitely sounds like a spot for a slang, though it should rather be called bidi-control-whitespace, since the characters in question are meant to offer manual control over bidi rendering :)
23:18 b2gills .tell jnthn Any.join should have an optional or default separator
23:18 yoleaux b2gills: I'll pass your message to jnthn.
23:39 AlexDaniel joined #perl6
23:51 tinyblak joined #perl6
23:52 AlexDaniel do I get it right that nextsame should not return, but callsame should?
23:53 ShimmerFairy yes. the call* ones act like a function call, while next* just moves on to the next appropriate candidate.
23:54 ShimmerFairy (vaguely like 'next' in loops, where it takes you to the next loop iteration without ever being able to go back)
23:54 AlexDaniel ooh, ok
23:54 AlexDaniel thanks
23:55 ShimmerFairy np :)
23:58 AlexDaniel m: sub foo { say 'X' }; &foo.wrap:{ callsame; callsame; callsame }; foo
23:58 camelia rakudo-moar a32c14: OUTPUT«X␤»
23:58 AlexDaniel I expected X X X
23:59 AlexDaniel why does that happen? And should it produce a warning at least?

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo