»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
RabidGravy not sure but will try it out 00:00
00:00 nightfrog left, jkva joined 00:01 mjgardner left
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:01
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:05 jkva left
RabidGravy anyhow time to crash, cheers skids :) 00:06
00:10 RabidGravy left 00:11 BenGoldberg joined, ggoebel left 00:13 laouji joined
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.
gnosti .tell gnosti test-yoleaux 00:36
yoleaux gnosti: Talking to yourself is the first sign of madness.
gnosti :) 00:37
00:39 laouji left 00:40 laouji joined
ShimmerFairy I prefer 'impending mental collapse' over 'madness' :P 00:40
00:42 laouji left 00:43 laouji joined 00:44 llfourn joined 00:48 llfourn left
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.
Yeah, here too. 00:58
01:15 shinobi-cl joined 01:16 shinobi_cl joined, shinobi-cl left
dalek ast: 5caf057 | skids++ | S03-smartmatch/array-array.t:
Fix plan.
01:22
01:28 nightfrog joined 01:42 aborazmeh joined, aborazmeh left, aborazmeh joined 01:45 aborazmeh left, ggoebel joined 01:46 shinobi-cl joined 01:49 shinobi_cl left 02:01 jkva joined 02:06 jkva left 02:08 shinobi_cl joined 02:10 shinobi-cl left 02:37 shinobi_cl left 02:38 noganex joined 02:41 noganex_ left 02:44 aborazmeh joined, aborazmeh left, aborazmeh joined 02:45 llfourn joined 02:54 gfldex left 03:27 llfourn left 03:29 cognominal left, BenGoldberg left 03:38 davido__ joined 03:41 davido___ left 03:50 felher left 03:54 felher joined, felher is now known as Guest58638 04:02 jkva joined 04:04 tinyblak left 04:06 skids left 04:08 jkva left
dalek kudo/nom: 035a75b | ShimmerFairy++ | src/core/metaops.pm:
Fix deepmap for op functions returning mapped things.

A recent fix in nqp by timotimo++ busted things like <a b>».ords and
  (1+2i, 3+4i)».roots(3). These methods return .map'd things that aren't
handled further in the method. Without ensuring these things are reified, deepmap would return a list of empty lists.
The nqp fix got rid of nqp::while's return value, which seemingly ensured things were properly reified as a side-effect in deepmap. This fix makes sure that Lists returned from op.($o) are reified (by calling
  .eager on them). At a first glance nodemap might need this too, but it
doesn't seem to affect anything there as it stands.
The List typecheck is to avoid making things like 'Nil' eager (which becomes an empty list and isn't correct for deepmap), and the
  $o := op.($o) is to avoid re-evaluating \op in cases where it has
side-effects.
04:20
04:26 khw left 04:34 aborazmeh left 04:46 [Sno] left 04:50 llfourn joined 04:52 rangerprice left 04:54 rurban joined 05:04 ChoHag joined 05:05 tinyblak joined 05:06 firefish5000 joined 05:12 tinyblak left 05:34 jkva joined 05:38 jkva left 05:43 [TuxCM] left 05:44 diana_olhovik joined 05:55 tinyblak joined 05:57 aborazmeh joined, aborazmeh left, aborazmeh joined 06:03 jkva joined 06:07 davido__ left 06:08 davido__ joined 06:10 davido__ left 06:12 davido__ joined 06:16 telex left 06:18 telex joined 06:19 [Tux] left 06:20 [Tux] joined 06:37 jkva left, fxer left 06:38 jkva joined, tinyblak_ joined, domidumont joined 06:41 tinyblak left 06:47 domidumont left
agentzh TimToady: ping 06:49
nine ShimmerFairy++ # fixing and writing an excellent commit message
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
06:50 jjido joined
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.
agentzh TimToady: my little DFA-based Perl regex engine is written in Perl: github.com/openresty/sregex/blob/dfa/re.pl 06:51
TimToady: it's already beating both PCRE JIT and RE2 by a wide margin. please see my benchmark results here: openresty.org/misc/re/bench/
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:52
06:52 aindilis` left
agentzh TimToady: I must thank you for your encouragement. originally i didn't think this was even possible ;) 06:53
06:53 aindilis joined
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
06:54 zakharyas joined
agentzh TimToady: atm i'm trying to ameliorate the state explosion problems inherent in DFAs. 06:55
TimToady: the idea of "counting FAs" proposed by Becchi and Crowley in their 2008 paper is very promising.
TimToady: i've already coded up a simple impl in my sregex DFA engine mentioned above. very interesting and effective. 06:56
06:57 espadrine joined
agentzh sighs that TimToady is not around. 06:57
TimToady: when it's maturalized at some point, i may start thinking about implementing Perl 6 regexes in a similar way :) 06:58
that would be a much bigger challenge though :) 06:59
06:59 [Sno] joined
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
like my little nginx ouptut filter module here: github.com/openresty/replace-filte...inx-module
so exciting :)
07:02 tinyblak joined 07:04 awwaiid left
[Tux] JSON::Tiny -> # Failed test 'Array of Stuff' 07:06
# at t/04-roundtrip.t line 39
# expected: [{"A hash" => 1}, ["an", "array", "again"], 2]
# got: [{"A hash" => 1}, "an", "array", "again", 2]
07:06 tinyblak_ left
[Tux] so no panda, so no modules, so no tests 07:06
07:07 aborazmeh left
lizmat [Tux]: not seeing that here: with all the most recent rakudo / panda, a rebootstrap and install Text::CSV works fine 07:18
[Tux] I pull'd at 09:05 MET 07:19
DrForr checks as well. 07:20
lizmat I did around the same time
[Tux] starts from scratch (cleanout rakudobrew completely) 07:21
07:21 ely-se joined
DrForr fwiw the alias I use is alias 'R' = 'rakudobrew nuke moar && rakudobrew build moar' 07:22
ely-se Does MoarVM offer stackful coroutines?
lizmat ely-se: you're probably better off asking that on #moarvm
ely-se oh I didn't know that existed, thanks :p
07:24 darutoko joined
[Tux] same fail 07:26
DrForr [Tux]: Same fail here. 07:28
[Tux] pfeeuw
was thinking it was me 07:29
thanks
07:29 azawawi joined
azawawi hi 07:29
07:29 schmooster left
azawawi i tried 'rakudobrew build moar' and i got a lot of module build failures on my linux vm. Any reason for that? 07:30
JSON::Tiny is the culprit so far 07:33
07:34 llfourn left, ely-se left
DrForr [Tux]: Issue filed. 07:34
azawawi: Yep. known problem, I just filed an issue in fact.
azawawi cool
07:35 jkva left
azawawi tadzik: ping 07:35
07:38 Averna joined, pdcawley joined 07:39 schmooster joined, tinyblak_ joined
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:40
Test looks sane, it's definitely a bug. 07:41
ShimmerFairy it feels like something my fix introduced, but I don't see what the issue is quite yet. 07:42
07:43 tinyblak left
azawawi # expected: [{"A hash" => 1}, ["an", "array", "again"], 2] # got: [{"A hash" => 1}, "an", "array", "again", 2] 07:43
07:43 rindolf joined
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
I'm wondering myself about list flattening semantics, based on the [ .. [ ] ] => [ .. .. ] change.
[Tux] [[...],[...],...,[...],...].flatrecusive :) 07:45
lizmat hmmm... I'm at 035a75b5ae158b00e230646 , so why don't I see the issue then?
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 :)
yoleaux azawawi: I'll pass your message to tadzik.
lizmat nukes install and rebuilds
azawawi sighs ... rakudo on windows is broken again :( 07:47
07:48 FROGGS joined 07:54 jjido left
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)␤»
lizmat ok, after a *full* recompile, I get the same issue as well 07:58
reverting ShimmerFairy++ 's last commit, makes things work again... 08:00
:-(
(at least for me)
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 :-)
[Tux] feedback++ 08:02
[Tux] wonders howcome he noticed first
lizmat has no idea
I only noticed after a *full* recompile
[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)
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:07
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]␤»
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
lizmat fwiw: I'm still feeling like the sorcerer's apprentice in that area of the code; www.youtube.com/watch?v=Ait_Fs6UQh...e&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.
I think zen slices are to blame there :)
lizmat zen slices only return self, afaik
ShimmerFairy m: say [[1,2]].perl; say [[1,2]<>].perl 08:10
camelia rakudo-moar a32c14: OUTPUT«[[1, 2]]␤[1, 2]␤»
lizmat hmmm.. they actually decont
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:11
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)
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
azawawi www.reddit.com/r/Python/comments/3b...lications/ # re Atom::Electron :) 08:19
also github.com/breach/thrust # Perl support via chromium content module 08:20
metacpan.org/pod/Thrust 08:21
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 08:27 spider-mario joined
jnthn morning, #perl6 08:27
lizmat jnthn o/ 08:28
ShimmerFairy o/
azawawi jnthn: good morning :)
08:29 bin_005 joined
azawawi I feel github.com/breach/thrust#perl is a bit more Perlish than github.com/azawawi/perl6-atom-elec...window.p6. What do you think? 08:30
tadzik azawawi: I was unaware that I wrote such thing... :P
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 :)
ShimmerFairy jnthn: a bugfix I introduced revealed a ~fun~ bug of sorts with .eager (pre-GLR business):
m: say [1, [2,3].eager, 4].perl
camelia rakudo-moar a32c14: OUTPUT«[1, 2, 3, 4]␤»
ShimmerFairy (more succinctly [1, [2,3]<>, 4] ) 08:31
azawawi tadzik: github.com/tadzik/File-HomeDir/ :)
tadzik azawawi: yeah, now I noticed :P
sure, I can give you a commit bit or we can just transfer ownership to you
08:33 Alina-malina left
azawawi tadzik: what ever you like? I am only a P6 Porter :) 08:33
www.activestate.com/blog/2015/08/ac...whats-next # ActiveState is hiring. They will focus more on Komodo IDE... :) 08:34
08:36 jkva left 08:37 jkva joined
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
tadzik++
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 :)
jnthn ShimmerFairy: Well, don't expect me to spend brainpower on code I'm in the processing of replacing. :)
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
ShimmerFairy ah 08:41
jnthn: by the way, I still love how Lisp-like working with QAST-related stuff can be :P 08:42
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 :-)
ShimmerFairy I'm interested in seeing how GLR will affect the problem introduced by the change to nqp::while :)
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
uh, branch
...I'd love brunch though :P
ShimmerFairy uh, wrote :P
lizmat jnthn: it's the headliner
08:45 fxer joined
lizmat "2015.32 The Onset Of Upheaval" is the title so far :-) 08:45
jnthn lizmat: My last grant weeklyish was probably since the last p6w too 08:46
lizmat already in there as well :-) jnthn++ 08:49
jnthn OK. I think that's all the trouble I was responsible for... :)
08:49 espadrine left
jnthn lizmat: You say the gist with the first .race benchmark results also? 08:49
lizmat aaahhh... good point 08:50
08:50 llfourn joined
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:50
[Tux] is standing by to hear the word "go" 08:54
ShimmerFairy++; # quick response 08:55
08:55 jjido joined 08:59 jjido left 09:00 tinyblak_ left 09:08 tinyblak joined
lizmat hasn't heard anyone about .indices or pair() 09:09
09:11 espadrine joined
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:11
lizmat first-index / last-index already mean something else (they work on lists) 09:12
they're special versions of grep-index
ShimmerFairy oh yeah, forgot about that
09:13 jkva left, jkva joined
jnthn gets done with admin tasks and can return to GLRing... 09:13
lizmat jnthn++
09:13 zakharyas left
ShimmerFairy ah, .rindex is the Str version :) .oO( .rindices ) 09:13
lizmat hysterically misformed, yes 09:14
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:17 spider-mario left
ShimmerFairy Huh, dalek didn't report that I just fixed the JSON::Tiny issue :) 09:18
[Tux]: "go" :)
09:19 zakharyas joined 09:22 dada joined
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/…»
jnthn ShimmerFairy: Aww, nor my glr commit just now 09:23
ShimmerFairy :< 09:24
lizmat ShimmerFairy [Tux] confirmed panda is alive again
[Tux] panda is alive. modules still building
jnthn Oh...could be delayed... status.github.com/
[Tux] so far so good
ShimmerFairy cool :)
jnthn Look at the hook delivery graph
[Tux] jnthn, they are aware. they twittered that they found the problem 09:25
lizmat woops, 10 minutes+
JimmyZ c
[Tux] twitter.com/githubstatus
jnthn [Tux]: Yes, the status page I linked says as much :) 09:26
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:27
lizmat ShimmerFairy++ timotimo++ 09:28
09:31 jkva_ joined, jkva left
[Tux] test 50000 44.782 44.397 09:33
test-t 50000 43.570 43.185
dalek kudo/nom: d508ee5 | ShimmerFairy++ | src/core/metaops.pm:
Change from using .eager to .gimme(*)

This means we're just reifying now, instead of also asking for something that's eager. Fixes a bug in JSON::Tiny found by [Tux]++ and azawawi++, caused by Array.eager returning a zen-sliced version of itself.
[Tux] (it is up again a bit)
but it proves that your fix fixed all problems we were facing this morning
TEttinger nice work, fixed in about a day 09:37
dalek kudo/glr: 420f71a | jnthn++ | src/core/Any.pm:
Eliminate another nqp::p6parcel usage.
09:38
kudo/glr: 03eb206 | jnthn++ | src/core/Any.pm:
Whitespace tidying.
kudo/glr: 3c1d8c9 | jnthn++ | src/core/ (2 files):
Comment out [...;...] indexers for now.

Need to work out what type LoL is replaced by in this context.
dada hey, I guess d508ee5 fixes the failing test in t/04-roundtrip.t of JSON::Tiny, right? 09:42
ShimmerFairy yep
dada cool, thanks 09:43
came here to ask about the bug, found a commit message that fixes it :-) 09:44
09:45 FROGGS_ joined 09:46 FROGGS left
DrForr Come for the beer, stay for the craic :) 09:46
jnthn
.oO( The what? Kriek? Crack? )
09:47
DrForr Did someone say kriek?... 09:48
Naah, I actually did mean craic. Irish term for conversation. 09:49
09:50 FROGGS_ left 09:51 TEttinger left
jnthn Oh! 09:51
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:53
09:55 jjido joined
dalek kudo/glr: a6d90ea | jnthn++ | / (6 files):
Re-order bootstrap a little.

So we'll be able to collect the list-y operations in Any, but without running into the iterator bits not being defined yet, and so we can define said iterator bits without running into not having Attribute available yet.
09:59
kudo/glr: 2b4d37e | jnthn++ | src/core/Any (2 files):
Replace map impl with (partial) GLR one.

We can flesh the rest of it out with time.
10:04
kudo/glr: 095f7f0 | jnthn++ | src/core/Any (2 files):
Move some things into Any-list-methods.

Most should survive intact. Some get tweaks, a couple are commented out. Also add some notes on things to review later.
10:11
10:15 tinyblak left
azawawi tadzik: ping 10:16
.tell tadzik initial version with Travis CI and tests are in github.com/azawawi/File-HomeDir 10:17
yoleaux azawawi: I'll pass your message to tadzik.
10:18 smls joined 10:20 jkva_ left 10:23 jkva joined
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:30 jjido left 10:32 jkva left, tinyblak joined 10:34 yqt joined 10:37 cognominal joined, jkva joined 10:38 smls left 10:39 smls joined, rurban left
dalek kudo/glr: ea18a00 | jnthn++ | src/core/ (3 files):
Straighten out what goes in Any and List.

A couple of things that don't need a reified List to reasonably work
  (unique, squish, reduce) have had their implementation moved into the
Any-list-methods. Those left in List are things that really do need all the values to work (permutations, combinations, etc.). The sort method is an interesting case; it needs all the values, but it needs to get them into something fresh that it can mutate. Further, we may want a parallelizing version of it some day for HyperIterable. So it goes in Any.
10:40
10:42 jkva left
dalek kudo/glr: 4eeacad | jnthn++ | src/core/ (2 files):
Move mutating methods out of List into Array.

The List/Array classes will be replaced with their GLR versions, and these methods will need to be re-implemented, but it's good to first straighten out where things are going.
10:54
kudo/glr: a9e01c4 | jnthn++ | src/core/ (4 files):
Move subs around to sync with where methods are.
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
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.
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.
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".
jnthn Originally it would jsut have checked for seq 10:57
Then HyperSeq wanted this too
Thus why it ended up being pulled out to a role
I've little interest in this being more widely used or more general.
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 doc.perl6.org/type.html though
s/class/type/
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. 10:59
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:00
11:02 rurban joined
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... :)
smls: I'd be happy enough putting various bits under such a package name if it'd help. 11:04
ShimmerFairy The obvious suggestion would be GLR:: ☺ 11:05
jnthn IteratorImplementation::
Or something
ShimmerFairy: That won't look so good in 5 years ;)
ShimmerFairy jnthn: neither will a master branch called 'nom' :P 11:06
dalek kudo/glr: 652a40c | jnthn++ | / (4 files):
Rename to better capture what the methods work on.

These are primarily for iterable things, not for list-y things.
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:07
11:08 bin_005 left
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
smls jnthn: I do think a special prefix would make those things easier to document, yes. 11:18
though IteratorImplementation::HyperWorkBatch is quite a mouthful...
Iter::HyperWorkBatch doesn't look so bad though
smls shuts up now 11:19
jnthn I could go with Iter:: I guess 11:20
Or even Iterator::
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:21
That way we don't clutter the namespaces with semantics? 11:22
dalek osystem: 2ff0742 | azawawi++ | META.list:
Atom::Electron -> Electron
11:23
11:26 jjido joined
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 )
ab5tract_ There is no excuse for short names by default, in my opinion 11:32
jnthn You're quite uniq in thinking that :P 11:33
lizmat: Um...
oha ab5tract_, are you referring to my name? :)
jnthn lizmat: I'm not sure. It's not like it's going to block on list guts.
lizmat: Or even dig into them 11:34
ab5tract_ oha: only if you live in core-settings ;)
jnthn: The core naming schemes are uneven enough to give things an appearance of fitting together less well than they actually do 11:35
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:36
yes, I am looking at you .gimme :) 11:37
jnthn .gimme is dead anyway
.munch to fwiw
ab5tract_ jnthn: :)
jnthn And probably also LoL
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
dalek kudo/glr: cf19ac3 | jnthn++ | src/core/List.pm:
Swap out List for GLR implementation.

Lots of things are commented out and in need of review post-GLR, but hopefully most of them can also wait until after we get CORE.setting to compile again (and so others can jump in and help with them).
11:39
11:39 jkva joined
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:41
jnthn You're not that likely to write Seq in code 11:42
Interesting challenge: what on earth will Seq .perl to... :)
ab5tract_ true, but it will definitely be discussed quite frequently
jnthn Aye
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.
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 jkva left
jnthn $?FILE I think 11:43
nine m: say $?FILE
camelia rakudo-moar a32c14: OUTPUT«/tmp/lMRpbWQLh2␤»
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
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)
ab5tract_ ShimmerFairy: you will never find my appreciating subst vs substr.
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 :)
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
My point is that if you give the canonical names by default, the shorter names have a canonical form to map to
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
jnthn And then it'll be a case of trying to get the darn thing to compile again.
bbiab &
ab5tract_ sorry, smashcase next to kebab-case
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
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
my experience in writing p6 code is that everything is terse enough that I *want* full description of what every method is doing 11:50
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 :)
nine Sometimes I have the impression, that Perl 6 is optimized for writing one-line examples into the IRC client ;)
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
timotimo ShimmerFairy: thank you so much for working out the problem and the followup problem as well!
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)
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.
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 :)
timotimo that makes me extra glad 11:55
okay, and now i'm off again
glad to see more glr work, too :)
11:55 gfldex joined 11:56 orafu joined
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
so, yaynes all around \o/
dalek rl6-roast-data: 84a5d20 | (Kamil Kułaga)++ | perl6_pass_rates.csv:
removed empty runs
11:57
rl6-roast-data: 67f74d3 | (Will Coleda)++ | perl6_pass_rates.csv:
Merge pull request #9 from teodozjan/patch-1

Removed empty runs
lizmat timotimo: you're welcome :-)
next week I'll be in Tokyo, so I don't know if I'll have time then... 11:58
12:00 jjido left 12:05 tinyblak left 12:08 fxer left
azawawi jnthn: thx :) 12:08
$?FILE is not working as expected 12:13
12:13 jkva joined
azawawi $?FILE is still refering to /home/azawawi/perl6-electron/.panda-work/1439208484_1/lib/Electron/App.pm6 12:13
12:14 FROGGS joined
azawawi which panda create, installed and deleted that temp directory 12:14
s/create/created
lizmat m: say $?FILE; { my $?FILE = "foo"; say $?FILE }
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 }␤»
lizmat m: say $?FILE; { my constant $?FILE = "foo"; say $?FILE }
camelia rakudo-moar a32c14: OUTPUT«/tmp/bMlCVlwet8␤/tmp/bMlCVlwet8␤»
lizmat hmmm.... 12:15
12:15 rurban left
ab5tract_ ShimmerFairy: I can see your point. I've never done enough Java to get traumatized by long names in the fashion 12:15
I've been doing Perl long enough to get traumatized by crypticism though ;)
azawawi lizmat: what's the point in having a compiled $?FILE which panda totally ignores? :) 12:18
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
hmmm.... 12:20
m: say $?FILE; { my constant $?FILE = "foo"; say $?FILE } # actually feels like a bug
camelia rakudo-moar a32c14: OUTPUT«/tmp/StJKSHy18K␤/tmp/StJKSHy18K␤»
lizmat and I guess $?FILE should really be more runtime... 12:21
azawawi $*FILE ?
like perldoc.perl.org/functions/__FILE__.html
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:22
azawawi: perhaps $*PROGRAM.abspath is more useful ? 12:24
m: $*PROGRAM.abspath
camelia ( no output )
lizmat m: say $*PROGRAM.abspath
camelia rakudo-moar a32c14: OUTPUT«/tmp/SQ0WgwmhaP␤»
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:31 Averna left, yqt left, ggoebel left
jnthn I'd say the bug is that constant $?FILE = ... doesn't complain the way my $?FILE = ... does. 12:33
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
And no, $?FILE should not become more runtime. 12:34
12:34 dayangkun left
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
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
lizmat can probably confirm if I understand the eventual plan right.
lizmat the eventual plan is to have %?RESOURCE point to where the resources live
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
I more meant that I thought we'd have Rakudo dealing with pre-comping on installation of modules.
lizmat but yeah, until then, it should work like that
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
I was hoping to consolidate that at the SPW hacakthon
jnthn lizmat: Yeah, it'll be a good topic for there. 12:39
12:39 ggoebel joined
lizmat meanwhile I'll rakudobug the my constant $?FILE silence 12:39
12:39 iH2O joined
jnthn OK :) 12:39
jnthn gets on with Slip :) 12:40
RabidGravy is there anything actually blocking %?RESOURCE or is it just waiting for someone to do it?
lizmat jnthn: eh, you should be able to define $?FOO yourself, no? just not redefine existing ones? 12:41
12:41 iH2O left
azawawi takes look a $*INC 12:41
s/a/at 12:42
lizmat @*INC I hope
jnthn lizmat: I'm...not sure it makes a lot of sense to allow that?
lizmat RabidGravy: it's blocking on CURLI progress, really
azawawi lizmat: i noticed :) 12:43
dalek kudo/glr: 038b763 | jnthn++ | / (3 files):
Add Slip type.
lizmat ok, so no "userland" $?vars then
I guess that'll make it easier to be sure to prevent future collissions 12:44
azawawi m: say @*INC;
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…»
jnthn Right, it means we'll easily be able to introduce new ones in the future knowing only the compiler gets to set them
azawawi so remove file#, inst# and $*SPEC.catfile($_, "lib/Foo") for @*INC 12:45
lizmat azawawi: please wrap in a sub to do this, as it will change in the future 12:46
12:46 colomon joined
azawawi lizmat: you wont believe how many times i fixed it in farabi6 12:46
lizmat is sorry about that :-( 12:47
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
azawawi no worries :) 12:49
m: say $*SPEC.catfile($_.subst(/^ \w+ '#'/,""), "lib/JSON/Tiny") for @*INC
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…»
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␤»
azawawi m: say $*SPEC.catfile($_.subst(/^ \w+ '#'/,""), "JSON/Tiny").IO ~~ :e for @*INC
camelia rakudo-moar a32c14: OUTPUT«False␤False␤False␤False␤False␤False␤False␤False␤»
azawawi sorry for the spam
jnthn Note that JSON::Tiny isn't installed for m: 12:51
12:53 virtualsue joined 12:56 jjido joined
dalek kudo/glr: c9cdf76 | jnthn++ | src/core/Array.pm:
Add barebones GLR implementation of Array.

Leave methods still in need of fixing up commented out.
12:58
azawawi The Real Solution github.com/azawawi/perl6-electron/...6d64a4d61a :) ? 13:01
finally read your clipboard in Perl 6 one liner using Electron 13:02
perl6 -MElectron -e 'my $app = Electron::App.instance; LEAVE { $app.destroy if $app.defined; }; say Electron::Clipboard.read-text;'
13:05 tinyblak joined
lizmat hhmmm... now that we have "with" topicalizing, I wonder whether we shouldn't also want .return ? 13:09
.return with 42
instead of: 13:10
return $_ with 42
13:11 tinyblak left 13:12 rmgk is now known as Guest18609, rmgk_ joined, Guest18609 left, rmgk_ is now known as rmgk
smls we do have .take 13:14
dalek kudo/glr: f250848 | jnthn++ | src/core/ (4 files):
Bring in various list/slip/array constructors.
c: 33155b5 | RabidGravy++ | lib/Language/subscripts.pod:
s/BIND-POS/BIND-KEY/ for associative
kudo/glr: dc29c7a | jnthn++ | src/core/Seq.pm:
Add GLR implementation of gather.
13:16
azawawi github.com/azawawi/perl6-electron/...4/Build.pm # panda's Build.pm ftw :) 13:18
RabidGravy yeah I've got a bunch of those
JimmyZ hmm, my \x := .... makes me conufused 13:19
jnthn It's same as my \x = ... really
OK, I've now added all the code from glr.p6 into CORE.setting... 13:20
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 :)
RabidGravy nothing like a spot of compiler whackamole on a MOnday afternoon
13:22 tinyblak joined
azawawi azawawi-- for 1..10 # :) 13:22
[Coke] jnthn: LoL is going away, yes? 13:25
(just tried a build here for giggles)
azawawi what's LoL? 13:26
[Coke] list of lists
jnthn [Coke]: Highly likely, yes
tony-o any of you guys worked on the golang core ? 13:27
13:31 jjido left
RabidGravy I think I got as far as installing it and making "hello world" and put it aside 13:33
I may have written more erlang than go 13:34
dalek rl6-most-wanted: 4a7b5ae | PerlJam++ | most-wanted/modules.md:
Add already-done Math::Trig
13:36
13:39 bjz joined 13:40 azawawi left
dalek kudo/glr: 88b3098 | jnthn++ | src/Perl6/Actions.nqp:
Update code-gen for *@foo and **@foo.

Not actually implemented List.from-slurpy and Array.from-slurpy yet, so they only compile once again, not work.
13:44
kudo/glr: 353317b | jnthn++ | src/core/IterationBuffer.pm:
Add missing proto, needed in setting.
rl6-roast-data: 692b095 | coke++ | / (9 files):
today (automated commit)
13:45 Humbedooh joined
lizmat jnthn: in the actions I see both $*W.throw with ['Foo','Bar'] as well as 'Foo::Bar' 13:48
is there a reason for using one or the other?
13:49 skids joined
jnthn lizmat: No 13:50
The latter sees it has a string and splits on ::
lizmat ok, so [...] would be more direct 13:51
13:51 pdcawley_ joined 13:54 pdcawley left 13:56 khw joined
dalek kudo/glr: 7806e9d | jnthn++ | src/core/HyperSeq.pm:
Missing Vim mode line.
13:56
kudo/glr: 86d6770 | jnthn++ | src/core/Nil.pm:
Comment out Empty class.

We've got it defined as an empty Slip for now. We'll see how far that gets us; it may have to end up being a subclass of Nil again, alas.
kudo/glr: b1a7ad4 | jnthn++ | src/core/Range.pm:
Initial tweaks to Range.

It needs a new implementation of method iterator() { ... } before it will fcnution properly.
kudo/glr: a227fc4 | jnthn++ | src/core/List.pm:
Grammar provides list associativity of infix:<,>.

And it's too early in the bootstrap to mention it here in code.
14:04
kudo/glr: b2c4fc3 | jnthn++ | src/core/Slip.pm:
Slip inheritance already set up in BOOTSTRAP.
kudo/glr: 40c159b | jnthn++ | src/core/Array.pm:
Fix accidentally copied GLR* names.
14:06 plicease left, plicease joined
itz is zef intended to replace panda? 14:13
JimmyZ I think no 14:14
just another choice
dalek kudo/glr: 99b74be | jnthn++ | src/core/native_array.pm:
Tweak native arrays a little.

Again, they will need their iterators re-implementing, though that'll be pretty trivial. Also toss a method for two that is going away.
14:16 yqt joined 14:19 orafu left 14:23 laouji left 14:24 leont joined 14:27 jjido joined 14:43 rurban joined
hoelzro good morning, #perl6! 14:45
lizmat hoelzro o/
hoelzro hello lizmat! 14:46
jnthn o/ hoelzro 14:47
hoelzro greetings jnthn! 14:48
14:48 tinyblak left
dalek kudo/nom: 110f904 | lizmat++ | src/core/Exception.pm:
Expand usability of X::Syntax::Variable::Twigil
14:58
kudo/nom: 571b4fa | lizmat++ | src/Perl6/Actions.nqp:
Disallow mere mortals the ? twigil in definitions

Fix for #125780 and friends.
15:01 jjido left
lizmat smls: looking at irclog.perlgeek.de/perl6/2015-08-03#i_10995526 to look at doc.perl6.org/langua​ge/subscripts#Custom_types 15:01
I wonder whether the examples wouldn't be better written with "nextwith" 15:02
15:02 inokenty joined
[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
*thinks
lizmat smls: method AT-KEY($key) is rw { nexwith normalize-key $key } 15:03
*nextwith
JimmyZ lizmat: 110f904af8 looks like missing ','
lizmat JimmyZ: where ? 15:04
in the message ?
JimmyZ yeah
lizmat $ 6 'my $?foo'
===SORRY!=== Error while compiling -e
Cannot use ? twigil on 'my variable' because it is reserved
you think a comma is needed there somewhere ?
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
lizmat yeah... 15:06
minor discomfort, but overseeable I think :-)
dalek kudo/nom: 1ee9d84 | lizmat++ | src/core/Exception.pm:
X::Syntax::Variable::Twigil message tweak
15:08
kudo/nom: af75bd7 | lizmat++ | docs/ChangeLog:
Add some ChangeLog entries
15:12
15:15 dayangkun joined 15:20 dayangkun left 15:21 Alina-malina joined 15:25 tinyblak joined 15:26 SamuraiJack joined
dalek line-Perl5: 3a6a7b7 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
Avoid name collisions by hiding attribute

Chances are, some Perl 5 class will have a method called "parent". Turn
  $!parent (the encapsulated Perl 5 object) into a private attribute to
avoid name collisions. It can still be accessed by calling
  .unwrap-perl5-object. This seems to be needed in the methods added via
  ^add_fallback.
15:27
15:34 zakharyas left 15:39 Tisch_der_Sieger is now known as pRiVi
jnthn returns from a meeting to continue GLR :) 15:40
lizmat goes away for some dinner 15:41
jnthn Up next is...EnumMap. Hm.
smls lizmat: Thanks for taking a look. I'll try to convert the example to nextwith.
lizmat smls: it should simplify :-)
afk&
15:44 diana_olhovik left 15:53 brrt joined
dalek kudo/glr: 98ac351 | jnthn++ | src/core/ (2 files):
First pass through EnumMap and Hash for GLR.

Again, some iterators to write to replace HashIter.
15:53
15:54 ShimmerFairy left 15:58 jjido joined
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:00
16:00 amurf left
TimToady meanwhile, it doesn't hurt anything if people have to use explicit -> or $^a 16:01
jnthn TimToady: urgh 16:02
ok
16:03 Guest58638 is now known as felher
jnthn And yeah, let's get to it after GLR stuff, and supply stuff... :) 16:03
16:04 dada left 16:05 tinyblak left
dalek kudo/glr: 5d4c93d | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Fix foreign language array transform.

Makes a fully reified List, now Parcel is gone.
16:05
jnthn Currently getting up to line 15,000 or so in CORE.setting
16:06 telex left, telex joined
TimToady faster progress than nom :) 16:07
16:07 ShimmerFairy joined
TimToady maybe we should rename back to 'master' in September 16:07
jnthn Of course, this is only the parse stage I'm talking about :) 16:10
dalek kudo/glr: 3d5f964 | jnthn++ | src/core/ (5 files):
Replace some uses of Parcel as type.
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
Well, no LoL wants left uncommented, so just Parcel... :)
nine Sounds like a quite decent bit of progress :) 16:12
TimToady
.oO(Sir Parcel-val hunts for fewmets...)
16:13 amurf joined
[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...
[Coke] thinks 'gitflow' might be the one he's thinking of 16:16
[Coke] hurls nvie.com/posts/a-successful-git-branching-model/
16:23 diana_olhovik_ joined 16:25 bjz left, pecastro left
dalek c: 8883c52 | (Steve Mynott)++ | lib/Language/ (2 files):
fix minor typos
16:25
kudo/glr: 2f8dfb2 | jnthn++ | src/ (8 files):
First bunch of leftover mentions of Parcel fixes.
16:26 brrt left, bjz joined 16:28 yqt left
dalek kudo/glr: 0041bf0 | jnthn++ | src/core/List.pm:
s/GLRSeq/Seq/
16:29
kudo/glr: 840eb5d | jnthn++ | / (2 files):
.Parcel -> .List in slice logic.
16:31 jjido left
dalek c: e47c510 | smls++ | lib/Type/ (75 files):
Improve subtitles for type pages

Besides misc tweaking and homogenizing of the subtitles, the subtitles for roles are now worded similarly to those of classes (i.e. so it would fit "An object which has this role composed into it represents a(n) [SUBTITLE HERE]"), rather than starting their subtitles with "Common role for".
Remember that the main purpose for the subtitles is to provide helpful context and hints to reader who are skimming the type index pages
  (doc.perl6.org/type.html, doc.perl6.org/type-basic.html, etc.),
which is why it's important for the subtitles to be phrased consistently
  (especially between related classes/roles) and to be free of fluff and
distractions.
16:35
16:35 smls left
16:35 smls joined, jkva left
jnthn Oh, turns out I wasn't all the way through...but something triggered explain_mystery 16:37
TimToady: Is having "eager" and "lazy" statement prefixes just call .eager and .lazy on their results meaningful? 16:38
TimToady depends on whether we can rely on the syntactic recognition to do any compile-time optimization 16:39
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
but I wouldn't worry about it for now
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
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
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
dalek kudo/glr: 4404a03 | jnthn++ | src/core/Lock.pm:
Fix re-declaration of Lock's REPR.
16:47
kudo/glr: 145298b | jnthn++ | src/core/control.pm:
Fix partially missed update.
kudo/glr: a4fca01 | jnthn++ | src/core/List.pm:
Add back some operators we lost.
jnthn TimToady: No, and at most it could only be taken as a hint 16:48
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
smls TimToady: If all three methods return a Seq?
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:50
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
It's not *that* action-at-a-distancey.
dalek kudo/glr: 1e6563c | jnthn++ | src/core/metaops.pm:
Fix to compensate for removal of &EAGER sub.
16:52
smls jnthn: So in lazy @foo.map({ ... }).grep({ ... }); is the .map allowed to work ahead? 16:53
jnthn smls: .map can't really do so because the block to it can have side-effects. 16:55
That's independent of the lazy
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:56
16:58 raiph left
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. 16:59
17:05 tinyblak joined
dalek kudo/glr: b7241d3 | jnthn++ | src/core/Hash.pm:
Fix case-o.
17:08
kudo/glr: 13aa4f0 | jnthn++ | src/core/List.pm:
Fix mentions of now-removed GatherIter.
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 tinyblak left
arnsholt Cool! Sounds like GLR is progressing apace 17:10
jnthn++
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
And then we can see how bad the damage is.
arnsholt And sort through the specfails and figuring out which are legitimate fails and which are incorrect tests? 17:14
jnthn Indeed
But once I get it building/starting up again, I think others can dive in.
arnsholt Yeah, that sounds plausible 17:15
17:17 domidumont joined 17:18 llfourn left 17:19 rurban_ joined, spider-mario joined
dalek line-Perl5: 5c4ce02 | (Stefan Seifert)++ | / (2 files):
Do not answer requests to Perl6::Object->can($foo);

Seems like there's code out there (in DBIx::Class exception handling) that does something like (ref $obj)->can(...). This wouldn't work on Perl6::Object, since it would try to answer if a Perl 6 class called
  "Perl6::Object" has a method of the given name. Just give the only
sensible answer instead: undef.
17:20
nine Seems like I'm getting into more and more obscure territory with my fixes :) 17:22
17:27 rurban left 17:29 jjido joined, rurban joined
nine What do I have to do to set up an exception handler for warn on an embedded MoarVM? 17:35
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:37
jnthn TimToady: Hm, I'm not especially expecting to run into issues with that... 17:40
nine: A C-level? Not sure we've an API for that at present... 17:43
nine: If you've change to get any Perl 6 or NQP code in then a CONTROL block is what you want 17:45
17:45 jjido left, domidumont left, jjido joined
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?
(like a misplaced next)
dalek kudo/glr: 5c71ee4 | jnthn++ | src/ (2 files):
First pass at getting slurpies working.
17:47
jnthn nine: They're normally handled by print_control though
With that patch, we reach stage optimize
Which does blow up
nine perl -MInline::Perl6 -e 'Inline::Perl6::initialize; v6::run("next;");' 17:48
No exception handler located for next
TimToady that's, er, suboptimal
jnthn TimToady: What is? :)
Oh
TimToady the suboptimizer blowing up
jnthn :P :P
I think it's 'cus it doesn't understand the Seq => @ trick yet 17:49
Well, nothing does yet :)
TimToady m: say 1..100000000000000000 minmax 2..999999999999999999 17:50
camelia rakudo-moar a32c14: OUTPUT«1..999999999999999999␤»
TimToady m: say [minmax] say 1..100000000000000000, 2..999999999999999999
camelia rakudo-moar a32c14: OUTPUT«1..1000000000000000002..999999999999999999␤Bool::True..Bool::True␤»
TimToady m: say [minmax] 1..100000000000000000, 2..999999999999999999 17:51
camelia rakudo-moar a32c14: OUTPUT«1..999999999999999999␤»
TimToady m: say [min] 1..100000000000000000
camelia rakudo-moar a32c14: OUTPUT«(timeout)»
TimToady I suppose reduction ops shouldn't flatten by default after GLR 17:54
17:54 rurban left
nine jnthn: well AFAIR MoarVM doesn't have any embedding API at all yet. Didn't stop me from successfully embedding though ;) 17:56
Though I'm quite amazed that it works as well as it does. 17:57
dalek kudo/glr: d043961 | jnthn++ | src/Perl6/Actions.nqp:
Fix eager/lazy/sink statement prefixes.
17:59
17:59 rurban joined
jnthn nine: Yeah, pretty much :) 17:59
nine: Glad you managed to make it work how you wanted so far. :)
OK, with that patch we survive the optimizer
Next up is...code-ge^Wdinner! & 18:00
dalek ast: 583f18b | TimToady++ | S32-list/minmax.t:
[min] and [max] should not flatten post-GLR
18:06
ast: aa67fa3 | TimToady++ | S03-operators/minmax.t:
minmax should not flatten its args
18:06 espadrine left 18:12 kaare__ is now known as kaare_ 18:16 SamuraiJack left 18:19 gnosti left 18:23 jkva joined 18:33 [Sno] left
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>␤»
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␤␤»
smls My attempt to coordinate the p6doc documentation effort to go along with / follow the GLR: github.com/perl6/doc/issues/116
.seen moritz
yoleaux I saw moritz 5 Aug 2015 20:17Z in #perl6: <moritz> s:g/<!foo>.//
lizmat smls: moritz is on holiday, afaik
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
smls lizmat: ah
18:40 bin_005 joined
TimToady but ::= marks readonly, if that's what you really want 18:40
b2gills jnthn: you have Perl6::Actions.statement_prefix:sym<eager> and statement_prefix:sym<sink> calling lazy 18:41
18:41 spider-mario left
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:41
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 rurban left
TimToady the concepts "dynamic" and "constant" don't really mesh too well 18:42
lizmat ok, then I'll make it a nono for now 18:43
TimToady seems fine to me
18:43 spider-mario joined
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 ?
camelia ( no output )
18:44 schmooster left
smls PerlJam: Thanks :) 18:45
I also considered "absorbed by their parent", but "dissolve" sounded better (and lets us avoid passive tense) 18:46
jnthn smls++ # looking into the docs for GLR 18:55
dalek kudo/glr: 2221729 | jnthn++ | src/Perl6/Actions.nqp:
Fix thinko spotted by b2gills++.
18:56
hoelzro is RT inaccessible for people other than me? 18:59
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
downforeveryoneorjustme.com/rt.perl.org agrees
hoelzro =/
PerlJam huh. I just got a "temporarily unavailable" message
19:02 domidumont joined
hoelzro that's what I'm seeing 19:04
dalek kudo/glr: 2f5e5ec | jnthn++ | src/core/List.pm:
Seq *is* Iterable, duh!
19:05
kudo/glr: ddbba2c | jnthn++ | src/core/ (3 files):
Various replacements of nqp::p6list.
19:07 domidumont left 19:08 rfportilla joined
lizmat gist.github.com/lizmat/fa1f9fe2a95e809eb7aa # implement Mu.return, to allow for ".return with 42" 19:11
comments? suggestions? good idea, bad idea?
TimToady use case? 19:12
jnthn lizmat: I can't think of any reason why not; we already have .take
lizmat TimToady: being able to easily return out of a sub with a defined value using with statement modifuer 19:13
.return with $foo
same as:
.take with $foo # as jnthn pointed out
TimToady okay
19:15 llfourn joined
jnthn TimToady: Hm, deepmap and nodemap flatten their input at present 19:16
TimToady: Should they?
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... )
TimToady jnthn: you mean the list ops? 19:17
dalek kudo/glr: fbf22f4 | jnthn++ | src/core/ (10 files):
Replace all nqp::p6parcel usages.
jnthn multi sub nodemap(\op, \obj) {
my Mu $rpa := nqp::list();
my Mu $items := nqp::p6listitems(obj.flat.eager);
That last line
smls jnthn: Maybe a relic from when .map used to also flatten?
lizmat jnthn: I just added one more nqp::p6parcel :-)
dalek kudo/nom: aa6ea1d | lizmat++ | src/core/Mu.pm:
Implement Mu.return

So that we can easily return out of a sub with "with" like:
   .return with $foo; # return $foo from sub if $foo is defined
19:18
jnthn smls: Very possibly
Let's do away with it for now
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
jnthn k
19:19 llfourn left
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:20
jnthn Blow me, it compiles. 19:21
lizmat ugexe: r-j build has been broken for several days now at least
dalek line-Perl5: f7699be | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
Make sure we have a WARN handler for Inline::Perl6

Thanks to jnthn++ for pointing into the right direction.
skids cmelia uses older moar/nqp IIRC.
dalek kudo/glr: a97e505 | jnthn++ | src/core/Hash.pm:
Comment out some things using p6listitems.

Can fix these later; not especially critical.
kudo/glr: b77466e | jnthn++ | src/core/metaops.pm:
Two more p6listitems uses gone, plus two '.flat's.
nine jnthn: CONTROL { note $_.gist; $_.resume; } does the trick :)
jnthn \o/ 19:22
So, now we just blow up at startup
hash store NYI after GLR
nine wow!
jnthn I...guess I shoulda seen myself not getting away with that one for long :) 19:23
Gotta go for a bit; will have a look at that afterwards... :) 19:25
[Coke] should we change roast/master for post-GLR tests, or put them on roast/glr to avoid breaking daily runs? 19:29
dalek ast: a16a600 | lizmat++ | S04-statements/return.t:
Add basic tests for Mu.return
19:30
19:30 captain-adequate joined
[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
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: $_" }
camelia rakudo-moar a32c14: OUTPUT«Use of uninitialized value $_ of type Any in string context in block <unit> at /tmp/TV15ArARUO:1␤»
lizmat [Coke]: known issue with topicalization 19:35
[Coke] ^^ that seems like a LTA example for the without spec.
would you expect that to print something else?
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␤»
lizmat m: my Int $answer; $_ = 42; without $answer { fail "Got: $_" } # should say "of type Int"
camelia ( no output )
[Coke] my point is that putting in something that's going to fail to fail properly is a bad example.
19:37 jkva left
[Coke] mabye { fail "got an undefined: " $_.WHAT } would be better. 19:37
lizmat ah, ok
[Coke] (with a ~)
nine m: say {-in => "foo"}.perl; 19:38
camelia rakudo-moar a32c14: OUTPUT«-> ;; $_? is parcel { #`(Block|66753712) ... }␤»
nine I guess this is ok for Perl 6? ^^^
19:38 jkva joined 19:39 pecastro joined
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␤␤»
nine The irony is that Perl 5 will happily stringify '-in' in that case 19:40
timotimo yeah, we only do identifiers for autoquoting the LHS of => 19:41
nine m: say {'a', 'b'}.perl 19:42
camelia rakudo-moar a32c14: OUTPUT«-> ;; $_? is parcel { #`(Block|48935216) ... }␤»
nine Another one 19:43
dalek kudo/nom: 3b38783 | lizmat++ | src/Perl6/Actions.nqp:
Disallow my constant $*FOO

  irclog.perlgeek.de/perl6/2015-08-10#i_11034753
19:47
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:48
19:49 Peter_R joined 19:54 yqt joined 19:56 maettu left, maettu joined 19:57 khw left 20:02 bin_005 left, rfportilla left 20:03 bin_005 joined 20:05 fxer joined 20:06 domidumont joined 20:11 domidumont left 20:12 domidumont joined
[Coke] maettu++ 20:13
nine: that's good, yes? ;) 20:14
20:14 llfourn joined, laben joined, darutoko- joined 20:16 laben left
maettu sent out mails with information for P6 hackathon @ perl-workshop.ch 20:16
20:16 darutoko left
maettu Please contact me if I missed somebody 20:17
20:17 jkva left 20:18 jkva joined, llfourn left 20:19 ChoHag left 20:23 laben joined, [Sno] joined
lizmat maettu: on the channel here? 20:24
maettu true
lizmat I'll take that as a yes :-)
20:25 FROGGS left
jnthn A glr branch in roast probably makes sense. 20:25
Branches are no hassle. I mean, it's git... :)
maettu my mail address is [email@hidden.address] 20:27
nine [Coke]: oh, yes, very :) I'm gaining confidence by the minute that I can advertise using Inline::Perl5 and Inline::Perl6. 20:29
dalek kudo/glr: 84920a2 | jnthn++ | src/core/EnumMap.pm:
Re-implement storing into a hash.
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
yoleaux 10:17Z <azawawi> tadzik: initial version with Travis CI and tests are in github.com/azawawi/File-HomeDir
tadzik let's see if I can quickly craft one
jnthn Sheesh. Now we make it to line 28837 of the setting mainline before we explode 20:37
"Type check failed in binding; expected 'Positional' but got 'Seq'". Ah, yes :) 20:38
laben hi perl6'ers 20:39
is there an expert on Supply? 20:40
lizmat
.oO( most of us only do Demand :-)
laben: what is the question? 20:41
laben lizmat: :) i tried attaching a Supply to stdout, to capture the events
lizmat do you have a gist? 20:42
laben sorry, how do i do a gist?
actually, it works, its just that i get multiple events when i should get only one 20:43
[Coke] gist.github.com/
that's our pastebin.
laben sorry for the "debugging" code pasted inside gist.github.com/anonymous/de0b71ceb9ec64065478 20:44
i made it so that when stdout uses "print", instead it emits on a Supply 20:45
lizmat The Onset Of Upheaval: p6weekly.wordpress.com/2015/08/10/...-upheaval/
laben but when in the code i call print $arg1, $arg2
it emits two time
lizmat in other words, Yet Another Perl 6 Weekly
laben times*
lizmat afk for a bit& 20:46
20:46 jkva left
laben it didnt seem normal to me, did i not understand docs correctly? 20:46
awwaiid woo! 20:47
tony-o laben: are you saying that supply-capture-stdout returns 2?
laben AFTER: 20:48
BEGIN
1 : Emitted Int|0
2 : Emitted 0
3 : Emitted Int|1
4 : Emitted 1
5 : Emitted Int|2
6 : Emitted 2
7 : Emitted Int|3
8 : Emitted 3
9 : Emitted Int|4
10 : Emitted 4
tony-o lol, use gist next time
laben COUNT: 10 10
oops, sorry for the spam
yep sorry
tony-o that seems correct man
laben i gave it 5 secs, should fire 5 times
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
awwaiid hmm... I like the .return method! Consistentify everything! 20:50
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
you'll likely get 2 emitted events
20:51 darutoko- left
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
skids wonders how one would "forgetfully flatten" in the GLR API. Or maybe I just need to read it through again.
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
skids Not retain a copy of the reified values in memory.
laben it works correctly if instead of "print $arg1, $arg2" i do "print $arg1 ~ $arg2", meaning if i pass a single arg to print
skids As flat calls .list.flat
laben by correctly i mean a single event per print 20:55
like this instead it's like a signle print emits two time, each for an arg
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
tony-o laben: change line 9 if you want it to behave that way
20:56 lsm-desktop left
jnthn Here's the code from sub print: 20:57
my $out := $*OUT;
$out.print(nqp::shift($args)) while $args;
laben tony-o: how do you suggest i change it to make it work like i said?
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?
jnthn: other than using only one arg
jnthn laben: I somewhat suspect say sends a print and then separately a new line
[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
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
laben jnthn: that i didnt test, i just thought it was strange a single print from my code sent multiple events
21:00 domidumont left
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
jnthn tony-o: I don't think it will be 'cus .print gets called twice by sub print. 21:01
Also, emit on an Array doesn't (really, really shouldn't!) emit multiple events. :)
laben yeah, just tried it and jnthn is right
tony-o ah 21:02
laben ok, the next level will be attaching a timer to each output event 21:03
will see how to do that
nine lizmat: your quote of the week just made me laugh :) 21:05
lizmat that was the intent :-)
nine lizmat: I think you linked the wrong 'clog line though
lizmat nono, I intentionally linked to YES YES YES 21:06
jnthn laben: .batch(seconds => 0.1).map(*.join) may do it
lizmat so you get a bit of background into
21:06 bin_005_p joined
lizmat *info 21:06
laben sorry jnthn, what is batch? cannot find in doc.perl6.org 21:07
21:07 bin_005 left
lizmat laben: it batches events in a list 21:07
jnthn guesses that one isn't documented yet
21:07 skids left
lizmat either by time limit and/or number of events 21:08
hmmm.. what *do* we generically something coming into a supply?
an emission ?
21:08 lsm-desktop joined
lizmat laben: I guess .batch is not documented yet 21:09
lizmat looks at documenting it
21:09 rindolf left
laben is it part of Supply? 21:09
jnthn laben: Yeah, it's a method on a Supply 21:10
Just like map, grep, and so on
lizmat what jnthn said
dalek kudo/nom: 7a29f16 | lizmat++ | docs/ChangeLog:
Some more ChangeLog updates
21:11
jnthn lizmat++ # p6weekly 21:12
Read it while waiting for a compile ;)
Or two.
lizmat another good use of P6W :-)
nine lizmat++ indeed :) 21:17
jnthn Yeah, but now my compiles are boring :P 21:21
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:22
nine jnthn: somehow I can live with that quite well ;) 21:23
OTOH I should start to work on my YAPC::EU talk. 21:24
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:26
Anyway, given tomorrow I have to work on some other $dayjob things *and* the slides, don't expect much more GLR until Wed. 21:27
RabidGravy tadzik, it would be a great boon if you could consider merging github.com/tadzik/panda/pull/190 - I actually do use "gen-meta" ;-) 21:28
dalek kudo/glr: 211740b | jnthn++ | src/ (4 files):
First attempt at positional bind failover.
kudo/glr: c193471 | jnthn++ | src/core/Str.pm:
Partially fix up .match post-GLR.
kudo/glr: 5537b8e | jnthn++ | src/Perl6/Actions.nqp:
First pass at fixing for after GLR.

It's just map!
kudo/glr: c67c3fe | jnthn++ | src/core/ (2 files):
A few missing "is rw"s.
RabidGravy (I've brought it up to date with the latest changes) 21:29
21:29 jkva joined
laben is having a hard time wrapping his head around mixing Promise and Supply 21:31
dalek c: 48e20f4 | lizmat++ | lib/Type/Supply.pod:
First batch of documentation of Supply methods
21:33
21:34 diana_olhovik_ left
lizmat hoelzro: I don't see the script with #125782 ? 21:35
hoelzro d'oh
21:35 diana_olhovik joined
hoelzro thanks lizmat 21:35
tadzik RabidGravy: oh!
RabidGravy: I promise to look at it, no later than tomorrow morning 21:36
hoelzro lizmat: attached!
lizmat :-)
not going to look at it now
hoelzro that's fine 21:38
21:38 kurahaupo joined
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 :-)
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:39
laben good * perl6'ers, have a good time! 21:40
21:40 laben left 21:41 virtualsue left, diana_olhovik left
dalek c: 8831384 | lizmat++ | lib/Type/Supply.pod:
Remove superfluous mention of delayed
21:43
kudo/glr: 2bc6120 | jnthn++ | src/core/ (3 files):
Comment out a few things we do at startup.

We'll need to restore them, but it can be easier to debug from smaller things, and this helps us get closer to being able to run smaller things.
kudo/glr: 1e2e46d | jnthn++ | src/core/List.pm:
Re-instate ability to |@foo in an argument list.
smls lizmat++ # writing documentation 21:44
dalek kudo/glr: 0d48533 | jnthn++ | src/Perl6/World.nqp:
Disable @INC stuff until Inc.pm is fixed.

With this, the build gets far enough to give you a runnable perl6.
21:46
TimToady \o/
lizmat jnthn++
timotimo YES.
jnthn OK, y'all have until Wednesday to fix as much as you can :P
timotimo got a little bit of a sunburn today :( 21:47
and it was terribly hot
now it's getting quite cold :|
lizmat are you preparing for life as a camel in the desert ?
21:47 orafu joined
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 :)
Ah, .join missing is at the heart of plenty of issues 21:49
21:49 orafu left
lizmat wishes #perl6 a good night 21:52
jnthn 'night, lizmat 21:53
smls What are the Stash and PseudoStash classes for?
timotimo gnite lizmat 21:54
smls spec is kinda sparse in that area
timotimo stashes hold stuff like symbols for a lexical scope
TimToady Stash is where packages put their names, and PseudoStash is where things like UNIT and GLOBAL get their meanings
timotimo they are not mutable
right
TimToady or more like CALLERS, OUTERS
timotimo more interesting pseudostashes include ... yea
jnthn Stashes isn't lexical scopes :)
PseudoStash may be.
Stash is what comes back from .WHO 21:55
smls How are they different from a plain EnumMap?
timotimo ah, ok 21:56
jnthn Stash has some logic for falling back to looking up in GLOBAL and for vivifying nested packages
PseudoStash knows how to interpret magical things like CALLER, OUTER, etc.
smls So, they're not meant for generic use at all 21:57
(as general-purpose containers)
jnthn No
smls ok
On a related note, I find the EnumMap <- Hash <- PairMap inheritance chain confusing. 21:58
it's immutable <- mutable+itemizing <- immutable+itemizing 21:59
21:59 rurban joined
smls What would Mrs. Liskov say to that... :P 22:00
timotimo damn, what am i supposed to try now? :)
smls Not to mention that the names, don;t really reflect those behaviors or make them easy to remember
jnthn didn't even know about PairMap... :) 22:01
22:02 rurban_ left
smls Nor does it seem to be used by anything in Rakudo itself 22:04
dalek kudo/glr: 97eb563 | jnthn++ | src/core/ (3 files):
Fix join.
22:06
kudo/glr: 2be3f84 | jnthn++ | src/core/io_operators.pm:
Clean up print/say/note multi-arg versions.
jnthn OK, I'm really done for the day now :) 22:07
If you're looking for work, a good starting point will be t/01-sanity
Which does mostly pass, but several do not 22:08
22:08 fxer left, RabidGravy left
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
At some point after 6.christmas, but yes. :) 22:10
22:10 raiph joined
smls Hm, the design docs don't actually state that PairMap should inherit from Hash. 22:10
22:10 jkva left
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 :)
smls It seems to be meant as a more "speacial" type 22:11
It's just a Hash in Rakudo
jnthn timotimo: I'd go for the sanity tests, then at uncommenting the various things in the Rakudo CORE.setting mainline
timotimo: I don't think you'll be able to *use* the Test.pm you compile until those are fixed anyway
timotimo: Since I commented out all of Inc.pm 22:12
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 :)
timotimo ah, if use doesn't work, i'll hardly be able to test some SDL-backed graphics code thingi
but i can rip all the graphics out
jnthn 'night, #perl6
timotimo gnite jnthn 22:14
22:14 rurban1 joined 22:15 llfourn joined 22:16 jjido left 22:17 rurban left 22:19 llfourn left, TEttinger joined 22:20 Celelibi left
timotimo the exceptions i get are very unhelpful for pointing at problems :\ 22:20
but i'm quite tired anyway and i'll get a tiny bit more hacking in tomorrow perhaps
22:22 Celelibi joined 22:23 bin_005_p left 22:26 fxer joined 22:31 smls left 22:32 smls joined, skids joined 22:36 rurban1 left, rurban joined
b2gills how many methods do we need to save typing '&'? ( .return vs .&return ) 22:49
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.
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:51 Psyche^ left
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:52
ShimmerFairy Well, AFAIK the LRM is how I tell emacs to display an expression with arabic-indic numerals to go LTR instead :) 22:53
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:56
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
22:58 Psyche^ joined
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…»
ShimmerFairy so this is a rakudobug, not a specbug then?
TimToady not a bug, as far as I'm concerned 22:59
you can't just go poking random control codes into the middle of a program
geekosaur hm 23:00
geekosaur doesn't see offhand why those shouldn't be considered whitespace
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:02
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:03
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:04
23:05 telex left
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
23:06 rurban left, telex joined 23:09 jkva joined
geekosaur otoh I wonder how hard it would be to mutate the grammar with a use rtl-whitespace; 23:10
(which also constitutes warning to the reader) 23:11
23:12 tinyblak joined 23:13 jkva left
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:15
23:16 tinyblak left
b2gills .tell jnthn Any.join should have an optional or default separator 23:18
yoleaux b2gills: I'll pass your message to jnthn.
23:24 fxer left 23:39 AlexDaniel joined 23:51 tinyblak joined
AlexDaniel do I get it right that nextsame should not return, but callsame should? 23:52
ShimmerFairy yes. the call* ones act like a function call, while next* just moves on to the next appropriate candidate. 23:53
23:54 bjz left
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
thanks
ShimmerFairy np :) 23:55
AlexDaniel m: sub foo { say 'X' }; &foo.wrap:{ callsame; callsame; callsame }; foo 23:58
camelia rakudo-moar a32c14: OUTPUT«X␤»
AlexDaniel I expected X X X
why does that happen? And should it produce a warning at least? 23:59