»ö« 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/dTP3sxplAUCalling 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/jsbZpo1BlkCannot use ? twigil on my variableat /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«FalseFalseFalseFalseFalseFalseFalseFalse» | ||
azawawi | m: say $*SPEC.catfile($_.subst(/^ \w+ '#'/,""), "JSON/Tiny").IO ~~ :e for @*INC | ||
camelia | rakudo-moar a32c14: OUTPUT«FalseFalseFalseFalseFalseFalseFalseFalse» | ||
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/language/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..999999999999999999Bool::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/wWXQp1860pTwigil-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 malformedat /tmp/bOF8Nhzn_c:1------> 3say7⏏5 "Hello!" # there's an LRM just before Bogus postfixat /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 |