»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:06
xinming left
|
|||
TimToady | nr: my $result = shell("exit 123"); say ?$result; say +$result; | 00:08 | |
camelia | rakudo 5aeaca: OUTPUT«shell is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:2 in sub shell at src/RESTRICTED.setting:7 in block at /tmp/jM22wUwtDf:1» | ||
..niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: shell may not be used in safe mode at /home/p6eval/niecza/lib/CORE.setting line 0 (shell @ 0)  at /tmp/ZyvwjOBynv line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3)  at /home/p6eval/niecza/lib/C… | |||
00:08
xinming joined
|
|||
TimToady | that returns True incorrectly for a non-zero exit | 00:08 | |
00:08
kbaker joined
|
|||
dalek | ecs: 0db77c8 | larry++ | S29-functions.pod: only exit 0 is "success" for run/shell |
00:10 | |
TimToady | afk & | 00:12 | |
00:12
Psyche^ joined
00:13
shinobicl_ left
00:16
Psyche^_ left
00:24
slavik1 left
00:35
raiph joined
01:03
BenGoldberg joined
|
|||
BenGoldberg | Jenkins isn't the only software for automated building... en.wikipedia.org/wiki/Comparison_of...n_software | 01:05 | |
01:06
FROGGS_ joined
01:10
FROGGS left
01:17
drbean left
01:26
kbaker left
01:39
drbean joined
|
|||
[Coke] hurls stackoverflow.com/questions/1856117...ence-rules | 01:39 | ||
(I can probably answer that in NQP, due to partcl, but am unsure how to do it in rakudo) | 01:47 | ||
benabik | I think it needs to derive from HLLGrammar and use EXPR instead of infix directly. Or can just declare a proto infix, but then the precedence does nothing. | 01:48 | |
benabik is also far more familiar with NQP. | |||
(And parrot-nqp at that.) | 01:49 | ||
01:51
drbean left
|
|||
dalek | ast: c49992e | coke++ | S03-operators/context-forcers.t: pugs fudge |
01:52 | |
02:13
cono left
02:21
dayangkun joined
|
|||
[Coke] | rn: say 1,(1 == 0),2 | 02:30 | |
camelia | rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«1False2» | ||
[Coke] | rn: say 1,(()),2 | 02:31 | |
camelia | rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«12» | ||
[Coke] | rn: say 1,(1==2??3!!()),2 | 02:32 | |
camelia | rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«12» | ||
[Coke] | rn: say (1,(1==2??3!!()),2).perl | ||
camelia | rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«(1, (), 2)» | ||
[Coke] | rn: say (1,(1==2??3!!()),2) == (1,2) | ||
camelia | niecza v24-92-g3961d5d: OUTPUT«False» | ||
..rakudo 5aeaca: OUTPUT«True» | |||
[Coke] | ... there we go. | ||
we have a spec test that assumes rakudo is correct there. | 02:33 | ||
sorear | o_O since when can you use == on Parcels | 02:41 | |
oh, it's numifying them using .elems | 02:42 | ||
rn: say 0+(1,(),2) | |||
camelia | rakudo 5aeaca: OUTPUT«2» | ||
..niecza v24-92-g3961d5d: OUTPUT«3» | |||
sorear | rn: say (1,(),2).elems | ||
camelia | rakudo 5aeaca: OUTPUT«2» | ||
..niecza v24-92-g3961d5d: OUTPUT«3» | |||
sorear | rn: say ().elems | ||
camelia | rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«0» | ||
sorear | rn: say (1,(2,3),4).elems | 02:43 | |
camelia | rakudo 5aeaca: OUTPUT«4» | ||
..niecza v24-92-g3961d5d: OUTPUT«3» | |||
sorear | seems rakudo's Parcel.elems uses .flat.elems semantics while niecza's uses .lol.elems semantics | ||
rn: say (1,(2,3),4).flat.elems | |||
camelia | rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«4» | ||
sorear | r: say (1,(2,3),4).lol.elems # niecza lacks explicit lol unless colomon added it while I was not looking | 02:44 | |
camelia | rakudo 5aeaca: OUTPUT«3» | ||
dalek | ast: 6ef1b5d | coke++ | S (7 files): niecza fudge |
||
[Coke] | only a partial fudging, but that should help for tomorrow's run. | 02:45 | |
(issues opened for most things) | |||
colomon: (>+) and (<+) were two of the biggest issues (caused 108 tests aborted in S03-operators/bag | 02:47 | ||
02:47
BenGoldberg left
02:55
xenoterracide joined
03:00
raiph left
03:17
raiph joined
03:21
EvanTeitelman left
03:32
preflex left
03:34
preflex joined,
ChanServ sets mode: +v preflex,
EvanTeitelman joined
03:38
panchiniak_ joined,
logie joined
03:52
panchiniak_ left,
panchiniak_ joined
03:54
xenoterracide left
04:17
shinobicl_ joined
04:31
shinobicl_ left
04:44
raiph left
04:48
logie left
04:49
EvanTeitelman left
04:50
hummeleBop joined
04:53
logie joined
04:54
cognominal left
|
|||
JimmyZ | I don't know why I can't build rakudo here, hands up after compiling core setting | 04:56 | |
04:56
cognominal joined
|
|||
moritz | \o | 05:02 | |
05:05
hummeleBop left
05:10
panchiniak_ left
|
|||
JimmyZ | Hi, I can't build NQP either : gist.github.com/zhuomingliang/6409404 | 05:17 | |
under strawberry (v5.18.1) built for MSWin32-x64- | 05:18 | ||
seems was broken by 197640def955febde04b49491c7e6ecc3d25a059 | 05:19 | ||
05:28
FROGGS_ left
05:38
iSlug joined
05:39
agre joined
05:41
logie left
05:42
dmol joined
|
|||
JimmyZ | for rakudo, it hans here | 05:42 | |
.\perl6.exe --target=pir --output=src\gen\RESTRICTED.setting.pir src\RESTRICTED | |||
.setting | |||
.\perl6.exe --target=pir --output=lib\lib.pir lib\lib.pm6 | |||
.\perl6.exe --target=pir --output=lib\Test.pir lib\Test.pm | |||
.\perl6.exe --target=pir --output=lib\Pod\To\Text.pir lib\Pod\To\Text.pm | |||
*hangs | |||
the four hangs | 05:43 | ||
I meant four of all | |||
05:51
raiph joined
05:54
jlaire joined
05:56
FROGGS joined
|
|||
FROGGS | morning | 05:57 | |
06:07
muspellsson joined,
muspellsson left
06:09
dmol left
|
|||
dalek | : 81ad7b3 | (Tobias Leich)++ | lib/Perl5/Actions.nqp: regexes return a list when captures are involved This also fixes an issue where matching against an empty string always was true. |
06:21 | |
: b7fd099 | (Tobias Leich)++ | lib/Perl5/Terms.pm: fixed cmp, utf8.P5Str and added pack "U" cmp had two multi candidates with identical signature and utf8.P5Str tries to return an utf8-ecnoded string before it falls back to binary. |
|||
: 68600eb | (Tobias Leich)++ | STATUS.md: status update after pack.t unfudges |
|||
06:27
iSlug left
06:33
slavik joined
06:37
kaleem joined
06:43
sqirrel joined
06:44
salv0 joined
06:48
xenoterracide joined
06:56
xenoterracide left
|
|||
masak | good morning, #perl6 | 06:57 | |
FROGGS | o/ | ||
sorear | o/ | 07:04 | |
07:04
zakharyas joined
|
|||
masak | heh. Adobe Reader is now so advanced that despite best efforts, I can't hide all the crap around the presentation and just have it show me the slide. | 07:05 | |
(that's before I go to full screen mode, so no big deal. but still, kind of a defeat.) | |||
bonsaikitten | why would you still use that? ;) | 07:06 | |
masak | hm, good point. | ||
masak downloads Evince | |||
bonsaikitten | s/evince/okular/ ;) | ||
masak | ...whose slogan is "Simply a document viewer"! win! | ||
ok :) | |||
07:06
domidumont joined
|
|||
JimmyZ | pdf.js ... | 07:07 | |
diakopter | masak: want to implement a pdf interpreter in p6? | ||
JimmyZ | firefox support it :P | ||
masak | diakopter: maybe later. I'm teaching today. | ||
bonsaikitten: can't use okular easily. this is a Windows box, and I won't install KDE on it. | 07:08 | ||
bonsaikitten | masak: oh. I am mildly surprised. | ||
masak | it's not my machine. | ||
we go to a place to teach. | |||
ah, this is much better. | 07:09 | ||
Evince++ | |||
07:10
domidumont left
07:11
domidumont joined
07:14
dmol joined
07:17
xenoterracide joined
07:28
Mouq left
07:29
raiph left
07:34
daxim joined
07:47
Woodi left
07:48
Woodi joined
07:49
fhelmberger joined
08:03
dmol1 joined,
dmol left
|
|||
moritz | \o | 08:08 | |
FROGGS | o/ | 08:10 | |
dalek | rlito: 3badb3c | (Flavio S. Glock)++ | / (3 files): Perlito5 - grammar - block vs. hash |
08:14 | |
08:15
dakkar joined
08:18
dayangkun left,
dayangkun joined
|
|||
dalek | rlito: 11c09f8 | (Flavio S. Glock)++ | / (3 files): Perlito5 - grammar - indirect-object fix |
08:26 | |
08:43
raiph joined
09:00
donaldh joined
09:03
sqirrel left
|
|||
hoelzro | has Perlito been removed from the feature matrix? | 09:10 | |
JimmyZ | Had it been added? | 09:12 | |
hoelzro | I thought I saw it there? | ||
09:12
iSlug joined
|
|||
moritz | I'm pretty sure it's never been there | 09:17 | |
09:17
iSlug left
|
|||
hoelzro | ok, I'm just delusional then =) | 09:18 | |
moritz | happens to all of us :-) | ||
09:33
zakalwe_ is now known as zakalwe
09:37
xinming left
|
|||
timotimo | good *, *! | 09:38 | |
09:39
xinming joined
|
|||
hoelzro | timotimo: ahoy! | 09:41 | |
dalek | : 4faaaa6 | (Tobias Leich)++ | lib/Perl5/Terms.pm: dont return the "ref" for Int, Str, ... |
09:42 | |
: 7959d69 | (Tobias Leich)++ | lib/Perl5/Actions.nqp: subs have an implicit @_ param, default to a lookup |
|||
: 9f4bb8e | (Tobias Leich)++ | STATUS.md: status update |
|||
timotimo | oh wow, that last one just about 1.5x'd your pass rate :) | 09:43 | |
FROGGS | yeah, and I've seen some LHF that will gimme a bunch more :o) | ||
dalek | rlito: d7d8c35 | (Flavio S. Glock)++ | misc/pad.pl: Perlito5 - misc - minimal repl |
09:46 | |
09:58
krunen joined
10:00
raiph left
10:09
SamuraiJack joined
|
|||
timotimo | nice, yapctv uploaded more recordings to youtube | 10:14 | |
masaks regex talk, jnthns moarvm talk | 10:16 | ||
kind of sad they could apparently not get the audio from the speaker mic | 10:17 | ||
FROGGS | timotimo: yeah, but jnthn talk seem to be incomplete | ||
timotimo | oh no! :( | ||
10:18
mtj_ left
10:21
salv0 left
10:23
iSlug joined
|
|||
krunen | lizmat: I'd like to go to Frankfurt please. Is there still room? | 10:26 | |
lizmat | hi krunen , yes, there is still room | 10:27 | |
10:27
ssutch left
|
|||
tadzik | yay, krunen \o/ | 10:27 | |
masak | krunen! \o/ | ||
dalek | rlito: 624a3d3 | (Flavio S. Glock)++ | misc/pad.js: Perlito5 - misc - minimal repl (js) |
||
hoelzro | is that the last spot? | 10:28 | |
lizmat | Roland, the guy who is supplying the venue | ||
krunen | Great! I'm looking forward to digging deeper into the harder stuff. | ||
timotimo | hm, i still need to arrange some travel stuff | ||
lizmat | no, there is still 1 spot available: I have one guy bail out because he had to leave on Sun evening to be back home Monday morning | ||
hoelzro | timotimo: you and me both =/ | ||
lizmat | and couldn't get a flight that wasn't outrageously expensive | 10:29 | |
hoelzro | how late is it expected to go on Sunday? I'd like to be home on Sunday night as well, but I'm flexible enough to go home on Monday if need be | ||
lizmat | also: if you're coming by car to Frankfurt, you will need a Green stciker to be allowed to drive it in the center of Frankfurt | ||
10:29
ssutch joined
|
|||
timotimo | lizmat: i think i may need the hotel room you offered me and have to get there on friday and leave on either sunday evening late or monday | 10:30 | |
lizmat | well, the "how long" bit is a bit hard: | ||
people have said the program description is of a 2 week course | |||
so, I expect it to not end early Sunday afternoon | |||
krunen | Is there a hotel most people stay at? | 10:31 | |
lizmat | but I guess by 19:00 our brains will be fried enough to want to go home | ||
or at least to the hotel | |||
krunen: I have rooms booked at a hotel around the corner from the venue | |||
the accommodation is on the house if you want to share a room :-) | |||
10:33
SamuraiJack_ joined
10:35
dayangkun left,
SamuraiJack left
|
|||
timotimo | yes, jnthns moarvm talk ends when he puts on the 6model explanation slide | 10:37 | |
oooooh wow the autofocus on masaks talk is *horrid* at the beginning | 10:38 | ||
also, it seems like the beginning is missing :( | |||
moritz really loves how infoq reports talks, with two synchronized videos, one for the slides and one for the speaker | 10:39 | ||
timotimo | oh yes. as far as i know the devices you need to grab VGA output for such a thing is very expensive | 10:40 | |
moritz | r: $_ = 'abc'; tr/a/A/; .say | 10:41 | |
camelia | rakudo 5aeaca: OUTPUT«Abc» | ||
moritz | r: $_ = 'abc'; tr/a..c/A..C/; .say | ||
camelia | rakudo 5aeaca: OUTPUT«===SORRY!=== Error while compiling /tmp/vFeQPWtlIbRange missing start character on the leftat /tmp/vFeQPWtlIb:1------> $_ = 'abc'; tr/a..c/A..⏏C/; .say» | ||
moritz | std: $_ = 'abc'; tr/a..c/A..C/; .say | ||
camelia | std 27326bc: OUTPUT«ok 00:00 43m» | ||
moritz | .tell Mouq tr/a..c/A..C/ parsefails on rakudo; want to investigate? | 10:42 | |
yoleaux | moritz: I'll pass your message to Mouq. | ||
10:47
salv0 joined
10:52
ssutch left
|
|||
timotimo | and some questions are missing from the end apparently as well :( | 10:53 | |
lizmat | r: "abc" ~~ m/a(bc){$<caught> = $0}/ # is this supposed to be working, like ever ? | 11:14 | |
camelia | rakudo 5aeaca: OUTPUT«Cannot modify an immutable value in block at /tmp/0CbfMsVWCc:1» | ||
masak | lizmat: only if S05 says so, IMO. | 11:15 | |
lizmat: a case could be made for Match objects having a fixed "shape". | 11:16 | ||
(optimizability, primarily) | |||
if you want to ad-lib things, there's always the .ast namespace. | |||
timotimo | masak: how much time passed in your talk before the live demo started where you compared sed, awk, python, perl5 and perl6? | ||
moritz | most of the time, I think | 11:17 | |
masak | timotimo: between 20 and 30 minutes. | ||
timotimo | aaw :( | ||
masak | failed recording? :/ | 11:18 | |
11:19
nebuchadnezzar left
|
|||
jnthn | Aww, too bad some is missing of the MoarVM talk | 11:39 | |
FROGGS | jnthn: no problem, some of us will here it live and in color in a few days :o) | 11:49 | |
hear* | 11:50 | ||
jnthn | It's more than a few days, but yes, later this month :) | ||
lizmat | :-) | ||
FROGGS | a bit more than a dozon | 11:51 | |
no, exactly that^^ | |||
11:53
donaldh left
|
|||
jnthn needs to finish writing it yet :) | 11:59 | ||
(nearly there, though :)) | |||
12:01
pmurias joined
|
|||
JimmyZ | btw: nqp is broken here, and rakudo compiling hangs here too. | 12:01 | |
see early irclog today | 12:02 | ||
pmurias | jnthn: what would be great if some of you NQP workshop internals notes could be turned into docs | 12:03 | |
lizmat | pmurias: that's one of my motives for having the workshop :-) | ||
12:14
denisboyun joined
|
|||
masak | JimmyZ: that sounds highly irregular. when did it last work? are you able to bisect the problem? | 12:14 | |
JimmyZ | masak: yes, see irclog.perlgeek.de/perl6/2013-09-02#i_7531742 | 12:16 | |
12:21
donaldh joined
|
|||
dalek | ast: fa508be | (Elizabeth Mattijsen)++ | S05- (12 files): More S05 test unfudges, skip->todo and additional tests |
12:21 | |
lizmat | only 103 test files remain to be checked :-) | 12:22 | |
FROGGS | lizmat+=103 :o) | 12:23 | |
pmurias | jnthn: my $ops := self.post_new('Ops', :result(%*REG<cur>)) stores the result of the last thing in ops into %*REG<cur>? | ||
12:29
spider-mario joined
12:32
donaldh left
|
|||
lizmat | r: sub a(&infix:<+>) { ... } # what does this even mean, using an op as a signature ? | 12:32 | |
camelia | rakudo 5aeaca: OUTPUT«===SORRY!===invoke() not implemented in class 'QAST::Want'» | ||
12:32
xenoterracide left
|
|||
lizmat | ( found in t/spec/S06-advanced/lexical-subs.t ) | 12:33 | |
GlitchMr | lizmat, I think it gets subroutine as argument, and dynamically changes &infix:<+>, so inside this function, + means your function. | ||
lizmat | ok, that seems to make sense with the test | 12:35 | |
definitely NYI :-) | |||
masak | JimmyZ: are you able to revert 197640def955febde04b49491c7e6ecc3d25a059 on current nqp master? | 12:40 | |
revert cleanly, that is. | |||
12:41
daxim left
|
|||
moritz | don't revert it, without it zavolaj will bomb again :/ | 12:44 | |
masak | I meant locally. | 12:46 | |
12:46
v joined
|
|||
dalek | ast: aad3319 | (Elizabeth Mattijsen)++ | S06-multi/syntax.t: Removed obsolete test for Multi type object |
12:47 | |
12:47
xinming left
12:48
sqirrel joined
|
|||
jnthn | pmurias: No, it means that $ops.result in the future will yield %*REG<cur>. | 12:48 | |
12:49
xinming joined
|
|||
jnthn | JimmyZ: Are you using mingw? | 12:49 | |
GlitchMr | r: say <<hello <<world hello>> abc>>.perl | ||
camelia | rakudo 5aeaca: OUTPUT«(("hello", "<<"), ("world", "hello").list, (">>", "abc"))» | ||
GlitchMr | n: say <<hello <<world hello>> abc>>.perl | ||
jnthn | JimmyZ: I worked with jaffa4 at YAPC::EU to try and isolate that problem. | ||
camelia | niecza v24-92-g3961d5d: OUTPUT«("hello", "<<world", "hello>>", "abc")» | ||
jnthn | JimmyZ: It boils down to something wrong with Temporal :S | ||
GlitchMr | I'm not sure, but Rakudo seems to do the wrong thing when dealing with <<hello <<world hello>> abc>>.perl | ||
jnthn | The line in the setting that sets $PROCESS::TZ is wrong | 12:50 | |
s/is/goes/ | |||
And somehow hangs | |||
lizmat | FWIW, I've seen that behavipur before | ||
jnthn | GlitchMr: Um, I'm not sure what the output should be but I'm pretty sure it should not be that... :) | 12:51 | |
lizmat | seem to recall it was somehow related to %ENV | ||
JimmyZ | jnthn: yes | ||
masak: I don't have commit bit to push nqp :P | 12:52 | ||
masak: oh | |||
yes ,revert it builds fine | |||
I just get undefined reference to `Parrot_str_ | 12:53 | ||
new_from_cstring' | |||
jnthn | JimmyZ: What platform is this? | 12:54 | |
moritz | JimmyZ: what's your github ID? | ||
jnthn | But no, I don't think reverting is the answer... | ||
JimmyZ | jnthn: strawberry perl 5.18 | ||
moritz: zhuomingliang | |||
12:54
Mouq joined
|
|||
moritz | JimmyZ: you should now have a NQP commit bit. | 12:55 | |
JimmyZ | moritz: thanks | ||
13:00
v left
|
|||
pmurias | jnthn: !dump_str is called on NQPCapture, aren't method with ! supposed to be private | 13:09 | |
13:14
Mouq left
13:15
shinobicl_ joined
|
|||
jnthn | pmurias: In NQP it's just part of the name | 13:16 | |
13:16
Mouq joined
|
|||
jnthn | Rakudo handles it as S12 says, though. | 13:17 | |
Just one of the ways NQP cheats | |||
13:20
shinobicl_ left
13:21
SamuraiJack_ left
|
|||
lizmat wonders whether :$^a really is supposed to be shorthand for a => $^a | 13:21 | ||
13:21
PacoAir joined
|
|||
jnthn | yes | 13:21 | |
lizmat | okidoki :-) | 13:22 | |
jnthn | hm, I seem to recall I fixed that a while back too :) | ||
FROGGS | does :$<a> work yet too? | ||
jnthn | oh, *that* was the one I fixed... | ||
FROGGS | cool :o) | ||
hehe | |||
lizmat | FROGGS: not saying it worked already | ||
jnthn | r: say ({ :$^a }(42)).perl | 13:24 | |
camelia | rakudo 5aeaca: OUTPUT«"a" => 42» | ||
FROGGS | I love it | ||
jnthn | r: say ({ :$:a }(a => 42)).perl | 13:25 | |
camelia | rakudo 5aeaca: OUTPUT«"a" => 42» | ||
jnthn | hehe | ||
pmurias | jnthn: is there a reason why do we cheat this way? | ||
jnthn | pmurias: It keeps NQP simpler, mostly. | 13:26 | |
lizmat revisits a failing test | |||
jnthn | pmurias: Plus inertia. We depend on it being that way in varius places. | ||
Not really worth changing. | |||
13:33
FROGGS left
13:36
FROGGS joined
|
|||
lizmat | r: class A { has $!foo is ref } # is ref simply NYI, or obsolete ? | 13:37 | |
camelia | rakudo 5aeaca: OUTPUT«===SORRY!=== Error while compiling /tmp/rL2SgF6ygaCan't use unknown trait 'is ref' in an attribute declaration.at /tmp/rL2SgF6yga:1------>  expecting any of: rw readonly box_target» | ||
jnthn | What would it even mean in that context? | ||
lizmat | the way I read S06:1926 | 13:38 | |
synopsebot | Link: perlcabal.org/syn/S06.html#line_1926 | ||
lizmat | is that you can put the named parameter into .new and it would bind to that parameter, rather than copying ? | ||
jnthn | Isn't is ref an old name for something else we have now? | 13:39 | |
13:39
daxim joined
|
|||
lizmat | it's still in the spec :-) | 13:39 | |
jnthn | Yeah but | ||
I think it's outdated | |||
is ref used to be a parameter trait | |||
I thought it became something else | |||
I forget what | |||
lizmat | known parameter traits are: rw readonly copy required parcel | 13:40 | |
jnthn | is parcel maybe... | ||
lizmat | rw maybe the one ? | ||
jnthn | Anyway, the idea makes sense, I just think it shouldn't be called that... | 13:41 | |
Dobut ti | |||
I think is ref became is parcel... | |||
13:41
denisboyun left
|
|||
jnthn | TimToady may remember...or searching history may work :) | 13:41 | |
lizmat | fwiw, that is the *only* mention of "is ref" in the spec | 13:43 | |
jnthn | yes | ||
lizmat | running into it because t/spec/S06-traits/misc.t is testing for it | ||
jnthn | Thus why I think it just wasn't updated | ||
pmurias | jnthn: it it known that the dump method on matches is broken? | ||
jnthn | I'm sure it used to exist as a param trait | ||
13:43
awwaiid_ is now known as awwaiid
|
|||
jnthn | pmurias: How so? I was pretty sure I used --target=parse lately... | 13:44 | |
lizmat | changing it to "is parcel" makes the test pass | ||
jnthn | lizmat: What kind of object is it testing it on? | ||
lizmat | scalar | 13:45 | |
sub mods_param_ref ($x is parcel) { $x++; } | |||
jnthn | oh, a parameter | ||
lizmat | mods_param_ref(1) fails | ||
mods_param_ref($foo) works | |||
jnthn | Yes, that confirms it... | ||
JimmyZ | SHA-1: 4bd6b5e958ee5c10cefd15ce762b90db86fd537e | ||
* [S06,S09] rename 'is ref' to 'is parcel' and make it synonymous with \ | |||
jnthn | JimmyZ++ # that really confirms it | ||
JimmyZ | * [S06,S12] make attributive parameters default to 'is copy' binding | ||
make easy way for an attribute to override this with 'is ref' | |||
jnthn | JimmyZ: Which of those commits came firt? | 13:46 | |
*fist | |||
*first | |||
argh! | |||
JimmyZ | note that 4bd6b5e958ee5c10cefd15ce762b90db86fd537e is earlier than the poster | ||
FROGGS | hmmm, shouldn't it be `is rw` then? | ||
jnthn | FROGGS: No, I don't think so. | ||
dalek | ecs: a02e2e1 | (Elizabeth Mattijsen)++ | S06-routines.pod: Parameter trait "is ref" is now "is parcel" |
||
FROGGS | what does `is parcel` anyway? | ||
jnthn | FROGGS: Seem as \foo | ||
pmurias | jnthn: pastie.org/8291343 | 13:47 | |
FROGGS | k | ||
thanks | |||
jnthn | pmurias: that doesnt' help me when I don't have anything handy to run it on :) | ||
dalek | ast: 3c96139 | (Elizabeth Mattijsen)++ | S06-traits/misc.t: Changed "is ref" test to "is parcel" |
13:48 | |
jnthn | (at teaching place) | ||
pmurias | ahh ok | ||
jnthn | But it should work, anyway... | ||
pmurias | jnthn: the output is "- 0: o\n" | 13:49 | |
JimmyZ | s/poster/latter/ | ||
jnthn | I'm just surprised if it's broken 'cus I thought that's what --target=parse uses... | ||
pmurias | so the rest of that is missing | ||
jnthn | ugh | ||
FROGGS | ahh, I had that issue too I think | ||
jnthn | That wants fixing :) | ||
Maybe it's broken for --target=parse but I missed it | |||
dalek | ast: b1a65f0 | (Elizabeth Mattijsen)++ | S06- (12 files): Unfudges, skip -> todo and other clarifications in S06 testing |
13:50 | |
FROGGS | lizmat++ # good work! | ||
13:54
ajr joined
13:55
ajr is now known as Guest48857
13:56
domidumont left,
Guest48857 is now known as ajr_
|
|||
dalek | ast: 890a40a | Mouq++ | S03-metaops/hyper.t: Unfudge .».++ tests |
13:57 | |
13:57
zakharyas left
|
|||
ajr_ | Am I correct in assuming that perl6 is doing some heavy computing at start-up, rather than loading some huge file? | 13:58 | |
If that's the case, would it be possible to cache the result of the calculations, to speed up subsequent loads? | |||
JimmyZ | nope | 13:59 | |
13:59
domidumont joined
|
|||
JimmyZ | why do you think that? | 13:59 | |
jnthn | ajr_: Mostly it's loading and deserializing a bunch of objects (whcih is the cached calculation of the meta-objects, types, etc.) | ||
ajr_ | @jimmyZ - something's taking time to execute. It would have to be a huge file to take that long to load, which suggests that it's processing something. | 14:01 | |
lizmat | ajr_: just parsing the settings takes 2+ minutes already, be glad it doesn't have to do that everytime rakudo starts :-) | 14:05 | |
am I correct in assuming that we never want my %h{Mu}; to work ? | 14:06 | ||
it would mean that all {} access would also have to allow Mu | 14:07 | ||
so I would suggest %h{Mu} to fail at compile time | |||
Mouq | std: $_ = "abc"; tr/a..c/A..C/ | 14:09 | |
yoleaux | 10:42Z <moritz> Mouq: tr/a..c/A..C/ parsefails on rakudo; want to investigate? | ||
14:09
FROGGS left
|
|||
camelia | std 27326bc: OUTPUT«ok 00:00 43m» | 14:09 | |
Mouq | moritz: Why yes, yes I would ;p | ||
14:10
sqirrel left
|
|||
Mouq | moritz++ btw # tr/// implementation | 14:10 | |
What does QAST::SVal.new() create? | 14:11 | ||
Oh. I should just rtfm. github.com/perl6/nqp/blob/master/d...t.markdown | 14:12 | ||
dalek | ast: 6231e15 | (Elizabeth Mattijsen)++ | S11-modules/ (2 files): Unfudges etc. for S11 |
14:21 | |
timotimo | in my experience, SVal works best if you forget to use :value(...) and just plop the string right into the node! | ||
pmurias | that's irony? | 14:22 | |
timotimo | yes | ||
mixed with a side of bitterness | 14:23 | ||
daxim | it's like rain on your wedding day | ||
timotimo | at least that didn't cost me much time, because the error message i got was quite enlightening | ||
14:23
kaleem left
|
|||
dalek | p: b867c93 | (Pawel Murias)++ | t/nqp/79-callercode.t: Expand test 79 to also check callercode works in methods. |
14:26 | |
p: 9318564 | (Pawel Murias)++ | / (2 files): Fix NQPMatch.dump. Add a test that check match methods work correctly. |
|||
lizmat | r: class A { has $!a; method a { Proxy.new( FETCH => method () { $!a } ) } }; say A.new.a # failure seems to be triggered by "method ()' | 14:27 | |
camelia | rakudo 5aeaca: OUTPUT«Can not get attribute '$!a' declared in class 'A' with this object in method <anon> at /tmp/MUfUgkRGLE:1 in sub say at src/gen/CORE.setting:12457 in block at /tmp/MUfUgkRGLE:1» | ||
14:28
donaldh joined
|
|||
timotimo | r: class A { has $!a; method a { Proxy.new( FETCH => method :: () { $!a } ) } }; say A.new.a | 14:28 | |
camelia | rakudo 5aeaca: OUTPUT«Nominal type check failed for parameter ''; expected A but got Proxy instead in method <anon> at /tmp/sZjdfvUSaw:1 in sub say at src/gen/CORE.setting:12457 in block at /tmp/sZjdfvUSaw:1» | ||
timotimo | isn't that how you do anon if you feel forced to put something where its name was supposed to be? | 14:29 | |
lizmat | not sure | ||
timotimo | r: class A { has $!a; method a { Proxy.new( FETCH => method { $!a } ) } }; say A.new.a | ||
camelia | rakudo 5aeaca: OUTPUT«Can not get attribute '$!a' declared in class 'A' with this object in method <anon> at /tmp/kDBfWfT6nA:1 in sub say at src/gen/CORE.setting:12457 in block at /tmp/kDBfWfT6nA:1» | ||
timotimo | r: class A { has $!a; method a { Proxy.new( FETCH => method :: { $!a } ) } }; say A.new.a | ||
camelia | rakudo 5aeaca: OUTPUT«Nominal type check failed for parameter ''; expected A but got Proxy instead in method <anon> at /tmp/1l7oiVWFbp:1 in sub say at src/gen/CORE.setting:12457 in block at /tmp/1l7oiVWFbp:1» | ||
timotimo | dunno. | 14:30 | |
jnthn | An anonymous method declares its own self | 14:33 | |
Which is of type Mu, or perhaps Any | |||
This hides the self that $!a is declared on | 14:34 | ||
lizmat | aha… of course | ||
jnthn | Should really be a compile-time error... | ||
lizmat | then the test is bogus | ||
masak | jnthn: waitwait... even a nested method inside a class? | ||
lizmat | jnthn: are you saying that $!foo is really just self->foo ? | ||
masak | lizmat: if by self->foo you mean "lower-level lookup", then yes. | 14:35 | |
14:35
denisboyun joined
|
|||
lizmat | aha, that explains the recursion :-) | 14:35 | |
timotimo | "wrongcursion" :) | ||
lizmat | in t/spec/S12-attributes/mutators.t | 14:36 | |
masak | "oh-noes-not-againcursion" | ||
lizmat: no, I don't think it explains the recursion... | |||
$.a delegates to $!a but not vice versa. | 14:37 | ||
lizmat | so basically that makes it impossible to have a private attribute $!a in a class and a method "a" referring to $!a | ||
if you specify that as a method, you get the wrong self | 14:38 | ||
and if you don't, you get recursion | |||
timotimo | er, not quite | ||
lizmat | ok, *phew* | ||
timotimo | r: class A { has $!a; method a { Proxy.new( FETCH => sub { $!a } ) } }; say A.new.a | ||
camelia | rakudo 5aeaca: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in sub at /tmp/3YEhhIMDAO:1 in sub say at src/gen/CORE.setting:12457 in block at /tmp/3YEhhIMDAO:1» | ||
lizmat looks deeper into the test | |||
timotimo | r: class A { has $!a; method a { Proxy.new( FETCH => sub ($thing) { $!a } ) } }; say A.new.a | 14:39 | |
camelia | rakudo 5aeaca: OUTPUT«(signal SEGV)» | ||
timotimo | oh, pardon me | ||
i may be full of carp | |||
masak submits rakudobug | 14:40 | ||
14:40
Mouq left
|
|||
timotimo | huh, the proxies *are* supposed to be given anonymous methods | 14:40 | |
masak is surprised | |||
lizmat | blocks seem to work ok as well | 14:41 | |
jnthn | masak: I'm not sure putting it inside a class means it should get the current package as its invocant type... In fact, that would absolutely not work here... | ||
masak | r: class A { has $!a; method a { Proxy.new( FETCH => sub ($thing) { 42 } ) } }; say A.new.a | 14:42 | |
camelia | rakudo 5aeaca: OUTPUT«(signal SEGV)» | ||
jnthn | I hate Proxy... | 14:43 | |
I'm not sure it's possible to make it not be fragile :/ | |||
decommute & | 14:44 | ||
14:48
FROGGS joined
|
|||
FROGGS | olé \o/ | 14:49 | |
dalek | : 2c1d7e9 | (Tobias Leich)++ | / (2 files): put labeled statements in the ast |
14:53 | |
timotimo | oh, labels? | 14:56 | |
lizmat | v5 :-) | ||
timotimo | yes, i saw that | ||
FROGGS | timotimo: that is exactly what Perl6 does too | 14:59 | |
parse label declarations, but goto/last/next/redo LABEL is NYI | |||
tadzik | curiosity: how many people here click the links that synopsebot generates? | ||
timotimo | ah, okay | ||
i occasionally do, tadzik | 15:00 | ||
lizmat 2 | |||
15:00
kaare_ joined
|
|||
FROGGS | r: my $s = 'abc'; $s ~~ tr/a/x/; say $s | 15:00 | |
camelia | rakudo 5aeaca: OUTPUT«xbc» | ||
FROGGS | ohh, that is something I need to steal :o) | ||
tadzik: I do usually | 15:01 | ||
lizmat | tadzik: wouldn't mind it doing RT#12345 as well :-) | 15:02 | |
FROGGS | true | ||
timotimo | i'd like that, yes | ||
FROGGS | $timotimo ~~ s[like] = 'like to do'; # well volunteered! :P | 15:03 | |
tadzik | lizmat: that sounds doable :) | 15:04 | |
15:04
synopsebot left
|
|||
lizmat | cool! | 15:05 | |
15:05
Mouq joined
15:06
synopsebot joined
|
|||
tadzik | RT#12345 | 15:06 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=12345 | ||
tadzik | S1:2 | ||
synopsebot | Link: perlcabal.org/syn/S1.html#line_2 | ||
tadzik | perfect | ||
timotimo | cool :) | ||
FROGGS | hehe | ||
tadzik++ | |||
RT #123 | |||
:o( | |||
tadzik | :| | ||
dalek | ast: d031607 | (Elizabeth Mattijsen)++ | S12- (8 files): Unfudges etc. for S12 |
||
15:06
synopsebot left
|
|||
FROGGS | *g* | 15:06 | |
15:07
synopsebot joined
|
|||
tadzik | I'll just make it sikp RT | 15:07 | |
#1234 | |||
lizmat | 52 more files to check … calling it a day for now | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...ml?id=1234 | ||
tadzik | good enough | ||
FROGGS | tadzik is our #1 ! | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Display.html?id=1 | ||
tadzik | hah | ||
FROGGS | RT #0xEF05BC | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Display.html?id=0 | ||
FROGGS | hehe | ||
lizmat | no permission to view ticket 1 | ||
FROGGS | (joke) | 15:08 | |
15:08
dmol1 left
|
|||
tadzik | A QA walks into a bar. A QA runs into a bar. A QA jumps into a bar. A QA crawls into a bar. | 15:08 | |
JimmyZ | foobar | 15:12 | |
TimToady | the QA fails to note the systematic error of never walking out of a bar | 15:16 | |
moritz | a QA walks into a QA | 15:17 | |
dalek | ast: 992054f | (Elizabeth Mattijsen)++ | S03-metaops/hyper.t: Skip hyper .++ tests, they bomb now |
15:18 | |
timotimo | aaw :( | ||
lizmat | Mouq: you may want to look at S03-metaops/hyper.t | ||
at least on parakudo "(@r = (1, 4, 9))».++;" seems to fail now | 15:19 | ||
Mouq | … | 15:21 | |
Mouq is building parakudo | 15:22 | ||
timotimo | r: (@r = (1, 4, 9))».++ | 15:23 | |
camelia | rakudo 5aeaca: OUTPUT«===SORRY!=== Error while compiling /tmp/M47EHWc15TVariable '@r' is not declaredat /tmp/M47EHWc15T:1------> (@r⏏ = (1, 4, 9))».++ expecting any of: postfix» | ||
Mouq | Err, wow, parakudo, not jarakudo | ||
timotimo | r: (my @r = (1, 4, 9))».++ | ||
camelia | rakudo 5aeaca: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Int' in sub METAOP_HYPER_CALL at src/gen/CORE.setting:15838 in block at /tmp/pNM43DNMqR:1» | ||
Mouq | r: (my @r = (1, 4, 9)).».++ | ||
camelia | rakudo 5aeaca: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Int' in sub METAOP_HYPER_CALL at src/gen/CORE.setting:15838 in block at /tmp/Lz25s0bsoE:1» | ||
Mouq | Hmm | ||
r: .++ # … | 15:25 | ||
camelia | rakudo 5aeaca: ( no output ) | ||
timotimo | another bunch of videos just hit the yapceu youtube account | 15:26 | |
including jnthn++ 's jvm talk :) | |||
FROGGS | ohh cool | ||
bbi41:52 :o) | |||
timotimo | :) | 15:27 | |
same | |||
15:27
domidumont left
|
|||
jnthn | :P | 15:29 | |
Damn, I'm bad for productivity | |||
FROGGS | **g | 15:30 | |
I'm haccking while listening, so dont feel too bad :o) | |||
timotimo | how far did the scheduler work get to the point where tasks being blocked by other tasks are handled cleverly? | 15:35 | |
dalek | ast: 5ceab2c | (Elizabeth Mattijsen)++ | S03-binding/hashes.t: Needed to add a dummy skipped test not not completely skip this file ??? |
||
ast: d20b0d2 | (Elizabeth Mattijsen)++ | S (3 files): Fix the things I unfixed the past hours |
|||
15:37
TimK1 joined
15:41
daxim left
15:46
ajr joined
15:47
ajr_ left,
ajr is now known as Guest3583,
Guest3583 is now known as ajr_
15:48
raiph joined
|
|||
Mouq | r: say 4i; say 4.i | 15:56 | |
camelia | rakudo 5aeaca: OUTPUT«0+4iNo such method 'i' for invocant of type 'Int' in block at /tmp/kRKQ18l7ka:1» | ||
15:57
shinobicl_ joined
15:59
skids left
|
|||
Mouq | r: multi postfix:<𝑖> ($n) { &postfix:<i>($n) }; 4.𝑖 | 15:59 | |
camelia | rakudo 5aeaca: OUTPUT«No such method '𝑖' for invocant of type 'Int' in block at /tmp/X59MGUFqHb:1» | ||
Mouq | r: multi postfix:<𝑖> ($n) { &postfix:<i>($n) }; 4𝑖 | 16:00 | |
camelia | rakudo 5aeaca: ( no output ) | ||
16:00
rindolf joined
|
|||
TimToady | r: multi postfix:<𝑖> ($n) { $n\i }; say 4\𝑖 | 16:02 | |
camelia | rakudo 5aeaca: OUTPUT«0+4i» | ||
16:02
denisboyun left
|
|||
TimToady | for alphabetic postfixes you have to use \ instead of . | 16:02 | |
because the parser prefers to parse . as a normal method dispatch in that case | |||
in general, there are many more method names than alpha postfixes :) | 16:03 | ||
Mouq | Cool. I didn't realize 𝑖 would be seen as an alpha | 16:06 | |
TimToady | P6 is trying to be the first mainstream language that thinks in Unicode | 16:07 | |
rather than in some encoding of Unicode | 16:08 | ||
timotimo | so, were any interesting questions asked after the jvm-rakudo talk? | 16:09 | |
16:09
dakkar left
|
|||
TimToady | don't recall | 16:09 | |
might've run out of time | |||
jnthn++ might have better recall of that | 16:11 | ||
Mouq | r: macro postfix:< ⟼ >($a) { quasi { $_ = {{{$a}}}; } }; 4⟼.++; .say | ||
camelia | rakudo 5aeaca: OUTPUT«Cannot modify an immutable value in any at /tmp/hdvwMQw4zl:1 in block at /tmp/hdvwMQw4zl:1» | ||
16:13
nebuchadnezzar joined
|
|||
Mouq | r: macro postfix:< ⟼ >($a) { quasi { $_ = {{{$a}}}; } }  4⟼.++; .say | 16:13 | |
camelia | rakudo 5aeaca: OUTPUT«Cannot modify an immutable value in any at /tmp/K60llhqJcJ:1 in block at /tmp/K60llhqJcJ:1» | ||
masak | Mouq: $_ would be lexically bound to that quasi scope, so what you're doing won't work without COMPILING:: | ||
(which is NYI) | |||
Mouq | It works in repl... | 16:14 | |
masak | o.O | ||
TimToady | I get: java.lang.ArrayIndexOutOfBoundsException: 4 | 16:16 | |
Mouq | I'm on parakudo. Interestingly it doesn't work if there isn't a newline before it's used, so it is something weird with the repl I think pretty certainly | 16:19 | |
jnthn | I don't think there were time for questions after the JVM talk... | ||
But some people asked me privately afterwards... | 16:20 | ||
pmurias | jnthn: why do we have a ws rxtype? | 16:21 | |
jnthn | pmurias: To facilitate analysis/compilation. It delegates straight off to subrule, iirc. | 16:22 | |
If we see two of 'em in a row in a concat we'd know we could throw away one, though. | 16:23 | ||
(Though, no reegeedx optimizer yet :() | 16:24 | ||
*regex | |||
what the fingers... | |||
dalek | ast: f7a382d | (Elizabeth Mattijsen)++ | S14-roles/parameterized-mixin.t: Fudges for S14 |
||
timotimo | jnthn: i was refering to private questions; just ones that would be interesting to other people and not violate the asker's expectation of privacy of course | 16:26 | |
timotimo is watching the perl 7 version discussion panel | |||
lizmat | timotimo: there was not much discussion | 16:27 | |
pmurias | jnthn: isn't it possible to override the ws rule? | ||
jnthn: so the ws rxtype could be removed? | 16:28 | ||
jnthn | pmurias: I don't see how the first thing you said implies the second. | 16:31 | |
Anyway, it stays. | |||
Note it's only for automatically inserted <.ws> calls. | 16:32 | ||
masak | timotimo: ooh, the panel is online? I hope I did OK... | ||
timotimo | www.youtube.com/watch?v=E_8bjsimLsk | ||
lizmat | n: say ord("") | ||
camelia | niecza v24-92-g3961d5d: OUTPUT«(Any)» | ||
timotimo | i'ven't seen you on stage yet | ||
lizmat | r: say ord("") | ||
camelia | rakudo 5aeaca: OUTPUT«Cannot get character of empty string in method ord at src/gen/CORE.setting:3098 in sub ord at src/gen/CORE.setting:3202 in block at /tmp/JKPDUQJhcJ:1» | ||
masak | timotimo: TimToady and lizmat and I were invited up on stage. | ||
timotimo: I was there in the role of "jnthn isn't here, let's grab this guy" :P | |||
timotimo | hah :) | 16:33 | |
jnthn | masak, the backup jnthn. :) | ||
masak | wfm :P | ||
jnthn | me too :P | ||
pmurias | jnthn: what I mean is that an ws rxtype offers no extra info from an equivalent subrule | ||
timotimo | I like seeing either of you, so I wouldn't complain :) | ||
jnthn | pmurias: It offers the fact that it was inserted automatically | 16:34 | |
pmurias | and how is that imporant for compilation? | ||
* important | |||
jnthn | For code-gen, it's not. For an optimizer, it may be. | 16:35 | |
It's not something I put it; it's been in there for quite a while. I'm guessing Pm has a reason for it to be there. | 16:36 | ||
pmurias | wasn't it treated differently during NFA construction in the past? | ||
jnthn | It may still be | 16:37 | |
But yeah, could be relevant there too... | |||
I'm not seeing a reason to remove it, though. | |||
I mean, you're arguing over a one line method to implement it :/ | |||
16:37
spider-mario left
16:39
skids joined
|
|||
dalek | kudo/nom: bb2d2e2 | (Elizabeth Mattijsen)++ | src/core/Cool.pm: Make "".ord return Any, just like Niecza (unspecced behaviour, afaics) |
16:42 | |
timotimo | i don't think i learnt too much from viewing that, but that's my fault | 16:50 | |
TimToady | it was intended more for consumption by the P5 audience | 16:52 | |
masak | I'm not sure I picked out an intent of the whole thing. | 16:54 | |
timotimo | huh? | 16:55 | |
masak | I understood it as Andrew's attempt to honor the "Future Perl" debate with some of his opinions. which were, in order, "I'm not really serious about this Perl 7 thing", "Please don't remove ~~ from Perl 5", "Hey, how about that Perl 7 thing?" | ||
I can't have been the only one who was confused by that set of messages. | |||
then again, *all* Perl 6 detractors pulled the same "I'm not really serious" line first thing they did. | |||
lizmat | fwiw, I feel that andrew did not want to lose face by removing that item from the agenda | 16:56 | |
but he probably should have | |||
masak | maybe because TimToady made sure to saw them off at the ankles in his keynote. | ||
lizmat | r: say <a b c d>.rotate # should this work, not seeing any spec for it | 16:58 | |
camelia | rakudo 5aeaca: OUTPUT«No such method 'rotate' for invocant of type 'Parcel' in block at /tmp/2uLBgT5buD:1» | ||
lizmat | n: say <a b c d>.rotate # should this work, not seeing any spec for it | ||
camelia | niecza v24-92-g3961d5d: OUTPUT«b c d a» | ||
TimToady | well, I didn't say they couldn't have Perl 7--I just pointed out that it wouldn't have my blessing unless it solved more of the RFCs than Perl 6 does. :) | ||
16:58
denis_boyun joined
|
|||
timotimo | r: my @a = <a b c d>; say @a.rotate; | 16:59 | |
camelia | rakudo 5aeaca: OUTPUT«b c d a» | ||
timotimo | so this is just about parcel having the method, not just Array or List? | ||
lizmat | timotimo: yes | ||
niecza seems to have it, rakudo doesn't | |||
n: say <a b c d>.rotate.WHAT | 17:00 | ||
camelia | niecza v24-92-g3961d5d: OUTPUT«(Parcel)» | ||
timotimo | my ($a, $b, $c) = 1, 2, 3; say ($a, $b, $c); ($a, $b, $c) .= rotate; say ($a, $b, $c); # i think this should work | ||
rn: my ($a, $b, $c) = 1, 2, 3; say ($a, $b, $c); ($a, $b, $c) .= rotate; say ($a, $b, $c); # i think this should work | |||
camelia | niecza v24-92-g3961d5d: OUTPUT«1 2 32 3 1» | ||
..rakudo 5aeaca: OUTPUT«1 2 3No such method 'rotate' for invocant of type 'Parcel' in method dispatch:<.=> at src/gen/CORE.setting:1151 in block at /tmp/HZe_UsVBS0:1» | |||
synopsebot | Link: perlcabal.org/syn/S0.html#line_1 | ||
timotimo | tee hee | ||
tadzik | what :) | 17:01 | |
ah :D | |||
jnthn | ahaha.. | 17:02 | |
lizmat | guess we need a \b (or |w) before the S | 17:03 | |
cycling and dinner& | 17:04 | ||
masak | rn: say "S02" ~ ":42" | ||
camelia | rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«S02:42» | ||
synopsebot | Link: perlcabal.org/syn/S02.html#line_42 | ||
masak | cute. | ||
timotimo | tadzik: so, what was the latest status of sockets on jvm? | ||
tadzik | timotimo: they work :) | 17:06 | |
donaldh++ is now working on making them better | |||
timotimo | oh! | ||
i did not realize! | |||
tadzik | they aren't merged | ||
timotimo | what's the next thing on the road to betterness? | ||
tadzik | until we have open(..., $p) I can't tell if spectests pass | 17:07 | |
timotimo | ah, that's tough :( | ||
tadzik | LWP::Simple works with them sometimes | ||
timotimo | ... sometimes :/ | ||
tadzik | yeah | ||
17:16
pmurias left
17:19
TimK1 left
|
|||
Mouq | Is @r».++ eqv in terms of results to @r.map: -> $a is copy {$a.++} ? | 17:21 | |
Oh wait, no | |||
benabik | <-> $a | ||
(Or equiv -> $a is rw) | |||
17:22
FROGGS left
|
|||
Mouq | r: (my @r = (1, 4, 9)).map: <-> $a {$a.++}; say @r | 17:22 | |
camelia | rakudo bb2d2e: OUTPUT«2 5 10» | ||
Mouq | benabik.++ | ||
17:24
FROGGS joined
|
|||
Mouq | r: 100{} | 17:25 | |
camelia | rakudo bb2d2e: ( no output ) | ||
17:26
fhelmberger left
|
|||
Mouq | r: 100{0} | 17:26 | |
camelia | rakudo bb2d2e: OUTPUT«postcircumfix:<{ }> not defined for type Intcurrent instr.: 'throw' pc 389528 (src/gen/CORE.setting.pir:165044) (src/gen/CORE.setting:10183)called from Sub 'sink' pc 425588 (src/gen/CORE.setting.pir:178293) (src/gen/CORE.setting:11572)called from Sub 'MAIN' pc 4… | ||
dalek | : b147be0 | (Tobias Leich)++ | / (2 files): wire tr/// to .trans, moritz++ |
17:28 | |
hoelzro | ticket purchased! | 17:29 | |
\o/ | |||
masak | ticket... to what? LWP::Simple? | 17:30 | |
hoelzro | Frankfurt::Workshop | ||
masak | \o/ | ||
17:30
GlitchMr left
|
|||
cognominal | itou | 17:36 | |
17:41
GlitchMr joined
17:44
btyler joined
17:49
Guillaume2 joined
|
|||
Guillaume2 | hey | 17:49 | |
masak | aloha. | ||
Guillaume2 | i smoked a joint | ||
im in a caf. | |||
café | |||
masak looks for op | |||
17:49
Rotwang joined
17:50
ChanServ sets mode: +o masak,
Guillaume2 was kicked by masak (Guillaume2)),
ChanServ sets mode: -o masak,
Guillaume2 joined
|
|||
Guillaume2 | why did you kick me , poor sinner that i am ?? | 17:50 | |
masak | hm, or should that be a kickban... | ||
17:51
ChanServ sets mode: +o masak,
masak sets mode: +b *!*Guillaume@206.108.166.*,
Guillaume2 was kicked by masak (Guillaume2)),
ChanServ sets mode: -o masak
|
|||
moritz | masak++ | 17:52 | |
flussence | «too few arguments: 0 passed, 138051968 expected»... get outta here REPL, I'm not typing all those in! | 17:53 | |
17:53
SamuraiJack_ joined
|
|||
jnthn | flussence: GO FOR IT! | 17:53 | |
moritz | flussence: nothing easier than that: my @args := 1 xx 138051968; foo(|@args); | ||
masak | to those who felt I crossed a line in kickbanning our weedy friend, he just proved to me on privmsg where his continued presence on the channel would lead... | 17:54 | |
flussence: "go home REPL, you're drunk" :) | 17:55 | ||
jnthn | masak: If you'd got consensus with somebody else, at least it woulda been a joint decision... | ||
moritz groans | 17:56 | ||
masak | jnthn: I would say I "weeded him out" quite quickly. | 17:58 | |
flussence | so I've been sitting on a beach for most of the day poking at the code for a HTML5 entities module... :) | ||
Mouq | At least you were blunt about it. | ||
jnthn | masak: You toke him rapidly indeed. | 17:59 | |
ajr_ | So you smoked him. | ||
masak | ah, #perl6. it's nice to come home to you after a day's work :) | 18:00 | |
diakopter | flussence: you got it all figured out? :) | ||
flussence | it turns out that rakudo[parrot] takes *15* minutes just to decode/.perl.say the JSON file containing the entity list... rakudo[jvm] is about 3 times as fast | ||
moritz | that's still not awesome | ||
flussence: how big is the file? | 18:01 | ||
flussence | pretty big, about 2230 items | ||
diakopter | *gag* | ||
only 3x as fast?! | |||
18:02
itz_ joined
|
|||
diakopter | *whimper* | 18:02 | |
flussence | well that's including the startup time... ;) | ||
ajr_ | Did you use ~~? | 18:03 | |
18:03
ajr_ left
18:04
ssutch joined,
ajr joined,
itz left,
ajr is now known as Guest94427
|
|||
flussence | (the JSON's at www.whatwg.org/specs/web-apps/curre...ities.json if anyone is curious. They seem to be going the NFG route in a few places...) | 18:06 | |
moritz | 148K | 18:07 | |
TimToady | Q: What's either better or worse than a troll? A: A stoned troll. | 18:08 | |
masak | :) | ||
18:09
Quom joined
18:10
domidumont joined
|
|||
lue | (depends on your definition of "being stoned") | 18:10 | |
18:12
Mouq left,
Quom is now known as Mouq
18:13
dmol joined
|
|||
timotimo | i guess that's why it's "either" | 18:14 | |
diakopter | masak cast the first stone | 18:15 | |
TimToady | A search of the appropriate historical records indicates that hobbits were throwing stones long before you were born. | 18:16 | |
18:22
Mouq_ joined
18:23
Mouq left,
prevost joined
18:24
Mouq_ left
18:25
GlitchMr left
18:27
GlitchMr joined
18:34
GlitchMr left
18:35
ssutch left
|
|||
flussence | rn: say "\x1f63e".encode('utf16').values | 18:39 | |
camelia | rakudo bb2d2e: OUTPUT«55357 56894» | ||
..niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: System.ArgumentException: Encoding name 'utf16' not supportedParameter name: name at System.Text.Encoding.GetEncoding (System.String name) [0x00000] in <filename unknown>:0  at Builtins.encode (System.String inp, System.String enc… | |||
flussence | rn: say "\x1f63e".encode('utf-16').values | ||
camelia | rakudo bb2d2e: OUTPUT«55357 56894» | ||
..niecza v24-92-g3961d5d: OUTPUT«Buf.new(...)» | |||
18:39
ssutch joined
|
|||
flussence | I have absolutely no idea how to (or whether I can) work with utf-16 in niecza, and it's a prerequisite for the JSON stuff I'm doing... | 18:40 | |
timotimo | rn: '\xff\xfe\xf6\x00'.decode('utf16').say | 18:41 | |
camelia | niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Unable to resolve method decode in type Str at /tmp/yNXX31cK7t line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576)  at /home… | ||
..rakudo bb2d2e: OUTPUT«No such method 'decode' for invocant of type 'Str' in block at /tmp/p0mFauMBu3:1» | |||
timotimo | rn: utf16.new(0xff, 0xfe, 0xf6, 0x00).decode('utf16').say | ||
camelia | niecza v24-92-g3961d5d: OUTPUT«===SORRY!===Undeclared routine: 'utf16' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 36)  at /ho… | ||
..rakudo bb2d2e: OUTPUT«VMArray: index out of bounds in method decode at src/gen/CORE.setting:4882 in block at /tmp/oK1cPdwVkc:1» | |||
timotimo | rn: Buf.new(0xff, 0xfe, 0xf6, 0x00).decode('utf16').say | ||
camelia | rakudo bb2d2e: OUTPUT«ö» | ||
..niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Cannot call new; none of these signatures match: Mu, *%_ at /tmp/lqCgSJMMxh line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @… | |||
timotimo | rn: Buf.new((0xff, 0xfe, 0xf6, 0x00)).decode('utf16').say | 18:42 | |
camelia | niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Cannot call new; none of these signatures match: Mu, *%_ at /tmp/8fLOSyV7ng line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @… | ||
..rakudo bb2d2e: OUTPUT«ö» | |||
timotimo | well, what can i say? :\ | ||
rn: (0xff, 0xfe, 0xf6, 0x00).buf.decode('utf16').say | 18:43 | ||
camelia | niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Unable to resolve method buf in type Parcel at /tmp/dCFHBZ52HQ line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576)  at /home… | ||
..rakudo bb2d2e: OUTPUT«No such method 'buf' for invocant of type 'Parcel' in block at /tmp/PBvrx6DaXV:1» | |||
flussence | r: utf16.new("\x1f63e".encode('utf-16').values).perl.say | ||
camelia | rakudo bb2d2e: OUTPUT«utf16.new(55357, 56894)» | ||
flussence | r: utf16.new("\x1f63e".encode('utf-16').values).decode.ords.say | ||
camelia | rakudo bb2d2e: OUTPUT«VMArray: index out of bounds in method decode at src/gen/CORE.setting:4882 in block at /tmp/kGQ4SnJlh8:1» | ||
flussence | blargh. | ||
18:43
jnthn left
|
|||
flussence | r: uint16.new("\x1f63e".encode('utf-16').values).decode('utf-16').ords.say | 18:43 | |
camelia | rakudo bb2d2e: OUTPUT«Default constructor for 'uint16' only takes named arguments in method new at src/gen/CORE.setting:822 in method new at src/gen/CORE.setting:817 in block at /tmp/ZvT6r8bNz2:1» | ||
flussence | r: uint16.new(|("\x1f63e".encode('utf-16').values)).decode('utf-16').ords.say | 18:44 | |
camelia | rakudo bb2d2e: OUTPUT«Default constructor for 'uint16' only takes named arguments in method new at src/gen/CORE.setting:822 in method new at src/gen/CORE.setting:817 in block at /tmp/8gdn6TI1Qb:1» | ||
flussence | r: Buf[uint16].new("\x1f63e".encode('utf-16').values).decode('utf-16').ords.say | ||
camelia | rakudo bb2d2e: OUTPUT«VMArray: index out of bounds in method decode at src/gen/CORE.setting:4755 in block at /tmp/rJ4xaVSo8s:1» | ||
18:44
jnthn joined
|
|||
flussence | r: say Buf[uint16].new(55357, 56894).decode('utf-16').ords | 18:44 | |
camelia | rakudo bb2d2e: OUTPUT«VMArray: index out of bounds in method decode at src/gen/CORE.setting:4755 in block at /tmp/zKGGTO3Nen:1» | ||
flussence | r: say Buf[uint16].new([55357, 56894]).decode('utf-16').ords | 18:45 | |
camelia | rakudo bb2d2e: OUTPUT«VMArray: index out of bounds in method decode at src/gen/CORE.setting:4755 in block at /tmp/YpXJh9reuv:1» | ||
flussence | r: say Buf[uint16].new([55357, 56894]) | ||
camelia | rakudo bb2d2e: OUTPUT«Buf:0x<d83d de3e>» | ||
flussence | uh... | ||
r: say Buf[uint16].new([55357, 56894]).decode('utf16') | |||
camelia | rakudo bb2d2e: OUTPUT«VMArray: index out of bounds in method decode at src/gen/CORE.setting:4755 in block at /tmp/spNvFguwVy:1» | ||
timotimo | oh | ||
is this about uint not working in general? | |||
flussence | this *was* working in my local copy of JSON::Tiny... I've got tests and everything | 18:46 | |
r: say Buf[uint16].new([0xD835, 0xDCB7]).decode('utf16') | |||
camelia | rakudo bb2d2e: OUTPUT«VMArray: index out of bounds in method decode at src/gen/CORE.setting:4755 in block at /tmp/xZ4eVNMsne:1» | ||
flussence | something's gone screwy here :/ | 18:47 | |
18:47
Guest94427 left,
ajr_ joined
|
|||
flussence | yeah, I just finished updating rakudo and now it's stopped working | 18:47 | |
donaldh | tadzik: timotimo: making sockets on JVM better goes via worse first :-/ | 18:48 | |
timotimo | i see | ||
donaldh | meaning that I have sync client sockets working using the same NIO ops as we use for files. | 18:49 | |
18:49
Mouq joined
|
|||
donaldh | But I have not got server or async sockets implemented on NIO yet. | 18:50 | |
moritz | has anybody tried panda on jakudo? | ||
Mouq | n: (0xff, 0xfe, 0xf6, 0x00).map({Buf.new($_)}).decode('utf16').say | 18:51 | |
camelia | niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Cannot call new; none of these signatures match: Mu, *%_ at /tmp/PNY7WGaTKt line 1 (ANON @ 4)  at <unknown> line 0 (KERNEL map @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 370 (Any.map @ 4)  at /tmp/PNY7WGaTKt line 1 … | ||
18:51
SamuraiJack_ left
|
|||
donaldh | moritz: yes. Very close to working, with a couple of tweaks. | 18:53 | |
moritz: panda is hard-coded to compile to pit and to copy pir files during install. | |||
pir even | |||
tweaking pit to jar was enough to get bootstrap to work. | 18:55 | ||
darned auto correct | |||
jnthn | You have auto cat rectal on your IRC client?! | 18:56 | |
18:57
jferrero is now known as JoaquinFerrero
|
|||
donaldh | MacOS is generous with its auto corrupting text widgets. | 18:57 | |
FROGGS | wut? | ||
jnthn | eek :) | ||
arnsholt | I have no problems with autocorrect on OS X. OTOH, I spend 90% of the time looking at a terminal window =D | 18:58 | |
geekosaur points at System Preferences > Language & Text > Text | 18:59 | ||
donaldh | geekosaur++ iirc that global setting didn't used to exist. | 19:00 | |
geekosaur | it was elsewhere in lion | 19:01 | |
or maybe it was SL that it was different. whatever version they added pervasive autoincorrect to | |||
I keep looking for it under Keyboard initially because that's where it used to live at one point | |||
donaldh | I knew the option was available in the context menu of every text area but I think there was no way to persist preference. | ||
19:02
rindolf left
19:10
shinobicl_ left
19:21
ssutch left
19:28
logie joined,
domidumont left
19:30
GlitchMr joined
|
|||
GlitchMr | r: macro double($value) { quasi { {{{$value}}}; {{{$value}}}; Nil } }; double print "lol"; | 19:31 | |
camelia | rakudo bb2d2e: OUTPUT«lollol» | ||
GlitchMr | Interesting. | ||
masak | how so? | ||
GlitchMr | Well, it isn't. | 19:32 | |
masak | sounds like we're in agreement. | 19:33 | |
flussence | r: say "\x1f63e".encode('utf-16').values | 19:34 | |
camelia | rakudo bb2d2e: OUTPUT«55357 56894» | ||
flussence | on jvm, those have become *signed* ints :( | ||
GlitchMr | Well, it's not that JVM has unsigned values. | 19:35 | |
(unless I'm mistaken) | 19:36 | ||
flussence | yeah but this all *worked* a few days ago... I'm wondering if 2d5abcaedb caused it | ||
GlitchMr | Still, I don't understand why Java developers decided to not implement unsigned types. | 19:37 | |
flussence | and besides, jvm repl says they're Ints with a capital I, so wraparound shouldn't be happening | ||
sorear | java has one unsigned type (char aka unsigned short) | 19:38 | |
GlitchMr | I know about 'char' | ||
But it's useless. | |||
sorear | GlitchMr: space constraints in the 1-byte opcode set have a lot to do with it, I think | 19:39 | |
the JVM has a lot more problems than the CLR with opcode space because the Java people originally wanted to directly execute bytecodes with a type-ignorant interpreter | |||
flussence | (aren't there some arm chips that actually do that?) | 19:40 | |
19:40
EvanTeitelman joined
19:42
ajr_ left
|
|||
GlitchMr | "1-byte opcode set" | 19:43 | |
I'm not sure if this is bad or worse. | 19:44 | ||
19:44
ssutch joined
|
|||
sorear | well, the short version is "hysterical raisins" | 19:45 | |
GlitchMr | Just like generics implemented using type erasure, causing broken implementation of generics. | ||
arnsholt | All the Java integer types are signed, but the VM specs the representation (twos complement, IIRC) as well, so you can fake signedness | 19:46 | |
sorear | and there's no reason they couldn't have implemented unsigned types in the *compiler* - actually the VM uses two's complement so everything except division would more or less just work, with a few bitmasks | 19:47 | |
(why did it take the world so long to standardize on binary two's complement?) | |||
GlitchMr | Two's complement is already sort of standard. | 19:49 | |
moritz | (why did it take the world so long to standardize on UTF-8?) | ||
sorear | GlitchMr: that didn't happen until around 1980 | 19:50 | |
GlitchMr | 1980 doesn't count now, does it? | ||
19:50
BabsSeed joined
|
|||
sorear | why weren't the advantages already obvious in 1940, is what I'm tangentially asking | 19:50 | |
masak | they probably were, to at least some. | 19:51 | |
flussence | on further poking, all heck's broken loose in my repl... | ||
> say ("\x1f63e".encode("utf$_").gist for 8, 16, 32) | |||
Buf:0x<-10 -61 -68 -42> Buf:0x<-27c3 -21c2> Buf:0x<1f63e> | |||
arnsholt | Probably, but in 1940 storage costs were completely different as well | ||
GlitchMr | Sign bit is easier when you print negative integer. | ||
flussence | (...that's jvm, and parrot:) | ||
> say ("\x1f63e".encode("utf-$_").gist for 8, 16, 32) | |||
encoding #-1 not found | |||
moritz | and then there's BCD and the love for 7-segment displays... | 19:52 | |
GlitchMr | BCD is only for printing. | ||
FROGGS | r: say (("utf-$_").gist for 8, 16, 32) | ||
camelia | rakudo bb2d2e: OUTPUT«utf-8 utf-16 utf-32» | ||
moritz | iirc some bar code scanners use it too | ||
GlitchMr | Well, it makes sense, considering the number is already in BCD. | ||
jnthn | Didn't/doesn't x86 support Binary Coded Decimal? :) | 19:53 | |
timotimo | i think it does | ||
FROGGS | flussence: works on my box (rakudo@parrot HEAD) | ||
GlitchMr | I know 65816 support BCD. | ||
supports* | |||
flussence | jnthn: I've read that POWER does, don't think x86 does (at least in its basic instruction sets)... | ||
it's probably in some SSE99999 extension somewhere... | 19:54 | ||
r: say ("\x1f63e".encode("utf-$_").gist for 8, 16, 32) | |||
sorear | x86 has limited support for BCD arithmetic | ||
camelia | rakudo bb2d2e: OUTPUT«encoding #-1 not found in method encode at src/gen/CORE.setting:5851 in block at /tmp/e9jNPJEnGI:1» | ||
sorear | SSE? nah, this is taking up space in the 1-byte 8086 legacy instruction set | ||
FROGGS | r: say (-> $_ { "\x1f63e".encode("utf-$_").gist } for 8, 16, 32) | 19:55 | |
camelia | rakudo bb2d2e: OUTPUT«encoding #-1 not found in method encode at src/gen/CORE.setting:5851 in block at /tmp/Hy9IQ8WyIS:1» | ||
sorear | amd64 booted them though | ||
GlitchMr | BCD causes bugs. | ||
PS3 had once bricked for one day because it stored the time in BCD. | |||
day* | 19:56 | ||
sorear | the design of the eniac arithmetic system is pretty funny in retrospect | 19:57 | |
bcd? try 1-of-10 binary coding | |||
flussence | is... that what it sounds like? | ||
19:58
Guillaume2 joined
|
|||
Guillaume2 | why did you guys kick me earlier ? | 19:58 | |
because i said I smoked a joint | |||
who cares | |||
what was your point ??? | 19:59 | ||
19:59
ChanServ sets mode: +o masak,
masak sets mode: +b *!*Guillaume@*.dsl.bell.ca,
Guillaume2 was kicked by masak (Guillaume2))
|
|||
GlitchMr | Who is that guy anyway? | 20:00 | |
flussence | .oO( I think the point was to nip bad behaviour in the bud ) |
||
masak | ...as a general note, he keeps being obscene to me over privmsg. | ||
20:00
ChanServ sets mode: -o masak
|
|||
GlitchMr | Oh, I see, spamming over PM. | 20:00 | |
moritz | fwiw "who cares" is exactly the point | ||
timotimo | obscene! | 20:01 | |
masak | that is not an exaggeration. | ||
timotimo | in that case, off with 'is heeeeeead! | ||
masak | anyway, points to the guy for getting a rhyme in between lines 2 and 4. | 20:02 | |
timotimo | it would have been better to just quote lines from "i smoke to joints" | 20:03 | |
(of which there is a lovely version by richard cheese) | |||
GlitchMr | Interesting, ckknight.github.io/gorillascript/ has syntactic macros, and is actually entirely defined in terms of macros. | 20:04 | |
geekosaur came very close to quoting it the first time they were in here | 20:05 | ||
masak .oO( I would've hoped something called "gorillascript" were defined entirely in terms of bananas ) | 20:07 | ||
moritz | ook ook! | 20:08 | |
masak | Jarkko, is that you? :P | ||
tadzik | oh, Richard Cheese :D | 20:09 | |
20:09
raiph left
|
|||
lizmat just realized that if a test-file is opened in vi, you cannot spectest it | 20:10 | ||
timotimo | .... you can't? | ||
lizmat suddenly realizes that that is not true | 20:11 | ||
*sigh* | |||
masak | tadzik: how does Richard Cheese enter the picture? | ||
there's a "cheesescript", too? | |||
flussence | okay, my laptop's running rakudo 2013.08-3-g7cb364b which works fine, HEAD currently doesn't... | 20:12 | |
time to go do this bisect thing I guess... | |||
timotimo | masak: the thing i said about the "smoke two joints" song | ||
tadzik | masak: spotify:track:3F8C4lBQBb1prDTockGa0p :) | ||
moritz | lizmat: I've had some weird interactions with vim saving files and fudge then deleting the source file, or something | ||
masak | tadzik: dz :) | 20:13 | |
lizmat | so I thought I'd optimize Parcel.elems: | ||
- method elems() { self.flat.elems } | |||
+ method elems() { nqp::elems($!storage) } | |||
oddly enough, this causes quite some spectest errors | 20:14 | ||
masak | interesting. why? | 20:15 | |
moritz | it's the .flat that makes a difference | ||
((1, 2), (3, 4)) | |||
.flat.elems is 4, nqp::elems($!storage) is 2 | |||
I really wish we had at least one primitive and non-magical list-y type in Perl 6 | 20:16 | ||
lizmat | surely we must have a better way to find out the number of elements without having to clone a potentially large list ? | ||
moritz | like an eager, non-flattening array | ||
benabik | Walk it without cloning? | ||
lizmat | yes, I guess that would be it | ||
r: say ((1,2,3,4),(5,6),[7.8]).elems | 20:18 | ||
camelia | rakudo bb2d2e: OUTPUT«7» | ||
lizmat | so only pairs are flattened ? | ||
benabik | s/pair/parcel | ||
lizmat | parcels, right | 20:19 | |
duh | |||
moritz | r: say ((1, 2, 3, 4).item, 5).elems | 20:20 | |
camelia | rakudo bb2d2e: OUTPUT«2» | ||
moritz | only non-item parcels :-) | ||
flussence | rn: say ((1,2,3,4),(5,6),[7,8]).elems | ||
camelia | niecza v24-92-g3961d5d: OUTPUT«3» | ||
..rakudo bb2d2e: OUTPUT«7» | |||
moritz | r: say ((my @ = 1, 2, 3, 4), 5).elems | ||
camelia | rakudo bb2d2e: OUTPUT«5» | ||
moritz | only non-item list-like types | ||
benabik | [7,8] is an item? | 20:21 | |
moritz | yes | ||
curlies and brackets are items | 20:22 | ||
and parens and @ sigils flatten | |||
lizmat | r: say (1,2,3).WHAT; say (1,2,3).item.WHAT # how to see the diff between (1,2,3) and (1,2,3).item ? | ||
camelia | rakudo bb2d2e: OUTPUT«(Parcel)(Parcel)» | ||
jnthn | Be careful. If you .elems a Parcel with something in it that's Iterable, it'll reify the iterator as part of working out the elems count. If you don't keep that around, you'd end up re-evaluating it later. | 20:23 | |
moritz | lizmat: there's no neat p6-level introspection for that :( | ||
nqp::iscont is useful inside the compiler | 20:24 | ||
r: say nqp::iscont((1, 2, 3)) | |||
camelia | rakudo bb2d2e: OUTPUT«0» | ||
moritz | r: say nqp::iscont((1, 2, 3).item) | ||
camelia | rakudo bb2d2e: OUTPUT«1» | ||
moritz | we really need a .flattens or .is-item method or so | 20:25 | |
lizmat abandons the Parcel.elems idea for now | |||
moritz | rakudo has a .flattens iirc, but it means something else | ||
jnthn | lizmat: I'm somewhat doubtful that Parcel.elems shows up as a hot-path (though happy to see a profile that shows otherwise), or that it's easy to optimize without duplicating a bunch of list handling logic. | 20:27 | |
lizmat | jnthn: I was looking at how it was done, and didn't take the flattening into account | 20:28 | |
jnthn | *nod* | ||
lizmat | so a saw LHF, that now appears to be hanging higher | ||
jnthn | Aye :) | ||
lizmat | back to Parcel.rotate | 20:29 | |
rn: say <a b c d e>.rotate | |||
camelia | niecza v24-92-g3961d5d: OUTPUT«b c d e a» | ||
..rakudo bb2d2e: OUTPUT«No such method 'rotate' for invocant of type 'Parcel' in block at /tmp/Nanpza7rRm:1» | |||
lizmat | rn: say ((1,2),(3,4).rotate | ||
camelia | niecza v24-92-g3961d5d: OUTPUT«===SORRY!===Unable to parse parenthesized expression at /tmp/WouXttb_LY line 1:------> say (⏏(1,2),(3,4).rotateCouldn't find final ')'; gave up at /tmp/WouXttb_LY line 1 (EOF):------> say ((1,2),(3,4).rotate[… | 20:30 | |
..rakudo bb2d2e: OUTPUT«===SORRY!=== Error while compiling /tmp/VM5oucfInlUnable to parse expression in parenthesized expression; couldn't find final ')'at /tmp/VM5oucfInl:1------> say ((1,2),(3,4).rotate⏏<EOL> expecting any of: method a… | |||
lizmat | rn: say ((1,2),(3,4)).rotate | ||
camelia | rakudo bb2d2e: OUTPUT«No such method 'rotate' for invocant of type 'Parcel' in block at /tmp/ffgkMhe101:1» | ||
..niecza v24-92-g3961d5d: OUTPUT«3 4 1 2» | |||
lizmat | seems like niecza isn't flattening | ||
rn: say ((1,2),(3,4)).elems | |||
camelia | rakudo bb2d2e: OUTPUT«4» | ||
..niecza v24-92-g3961d5d: OUTPUT«2» | |||
lizmat | so this is a niecza error ? | ||
jnthn | Believe so | 20:31 | |
We tend to default to list semantics rather than lol semantics without an explicit lolization | |||
lizmat | rn: say ((1,2),(3,4)).list.rotate.Parcel | 20:33 | |
camelia | niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Unable to resolve method Parcel in type Parcel at /tmp/MsnTC09CO8 line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576)  at /h… | ||
..rakudo bb2d2e: OUTPUT«3 4 1 2» | |||
lizmat | rn: say ((1,2),(3,4)).list.rotate.Parcel.perl | ||
camelia | niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Unable to resolve method Parcel in type Parcel at /tmp/9ci8kD5vQb line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576)  at /h… | ||
..rakudo bb2d2e: OUTPUT«((3, 4), (1, 2))» | |||
lizmat abandons Parcel.rotate for the moment as well | 20:36 | ||
20:38
pmurias joined
|
|||
timotimo | do i want to see "StrayTaoist. perl 5 + moose = perl 7"? | 20:40 | |
pmurias | nqp: grammar ABC { token TOP { foo {make 123;}} }; say('ast:',ABC.parse('foo').ast); | ||
camelia | nqp: OUTPUT«ast:» | ||
pmurias | is this correct? | ||
donaldh | FROGGS: Fixing gist.github.com/FROGGS/ebdc0c7809d1b2902533 requires transforming @*INC to absolute paths before use. | ||
FROGGS: It needs to be done in ModuleLoader.search_path. I don't know if it's possible to call IO::Spec.rel2abs from ModuleLoader, which is pre-setting. | 20:41 | ||
flussence | r: say ("\x1f63e".encode("utf-$_").gist for 8, 16) | ||
camelia | rakudo bb2d2e: OUTPUT«Buf:0x<f0 9f 98 be> Buf:0x<d83d de3e>» | ||
pmurias | rakudo: grammar ABC { token TOP { foo {make 123;}} }; say('ast:',ABC.parse('foo').ast); | ||
camelia | rakudo bb2d2e: OUTPUT«ast:123» | ||
flussence | okay, it was utf-32 causing parrot to freak out. | ||
jnthn | pmurias: Rakudo has it correct. | 20:42 | |
pmurias: Could either fix it in NQP or call it a limitation ;) | 20:43 | ||
pmurias | jnthn: how am I supposed to work around it? | ||
20:43
prevost left
|
|||
jnthn | pmurias: Well, make is typically done in action methods. | 20:43 | |
pmurias: It works out fine there. | 20:44 | ||
pmurias | would it be an easy fix? | 20:47 | |
jnthn | pmurias: If we take the approach I did in Rakudo, it makes every Cursor a word bigger. | ||
And I can't think of another one. | |||
20:48
kaare_ left
|
|||
pmurias | could we make it raise an error? | 20:49 | |
or a warning? | |||
jnthn | Not especially easily | 20:50 | |
20:56
TimK1 joined
|
|||
pmurias | jnthn: I was just trying to use it to demonstrate a different bug, so it's not particularly important for me | 20:58 | |
Mouq | r: slang Hip::6; | ||
camelia | rakudo bb2d2e: OUTPUT«===SORRY!===Name Hip:: ends with '::' and cannot be used as a package name» | ||
Mouq | r: slang Gangster; | ||
camelia | rakudo bb2d2e: OUTPUT«===SORRY!===No such method 'new_type' for invocant of type 'NQPMu'» | ||
Mouq | n: slang Hindi; | 20:59 | |
camelia | niecza v24-92-g3961d5d: OUTPUT«===SORRY!===slang at /tmp/fbp7J8xVl_ line 1:------> slang Hindi⏏;Unable to resolve method name in type Any at /tmp/fbp7J8xVl_ line 1:------> slang Hindi⏏;Unable to resolve method close in type… | ||
Mouq | rn: class BDSMer { has $.partner; method cuff ( BDSMer $p is rw ) { $.partner := $p } } | 21:02 | |
camelia | rakudo bb2d2e: OUTPUT«===SORRY!=== Error while compiling /tmp/HqJYLZ3XqlCannot use bind operator with this left-hand sideat /tmp/HqJYLZ3Xql:1------> f ( BDSMer $p is rw ) { $.partner := $p ⏏} } expecting any of: postfix» | ||
..niecza v24-92-g3961d5d: OUTPUT«===SORRY!===Cannot use bind operator with this LHS at /tmp/E1Uc3xcRoi line 1:------> ff ( BDSMer $p is rw ) { $.partner := $p⏏ } }Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting li… | |||
Mouq | std: class BDSMer { has $.partner; method cuff ( BDSMer $p is rw ) { $.partner := $p } } | 21:04 | |
camelia | std 27326bc: OUTPUT«ok 00:00 46m» | ||
jnthn | Access your partner privately to bind. | 21:05 | |
21:05
agre left
|
|||
jnthn | $!partner | 21:05 | |
Mouq | Ah, okay. Thanks jnthn | ||
I guess Camelia's a little young to see that sort of thing happen publicly | 21:06 | ||
timotimo | so the talk "perl5 + moose == perl7" begins with the claim that perl6 killed perl5 :| | ||
masak | timotimo: that seems to be an excellent first step to proving that Perl 5 + Moose == Perl 7 :P | 21:07 | |
jnthn | r: multi infix:<+>('Perl 5', 'Moose') { 'Perl 7' }; say 'Perl 5' + 'Moose' | 21:08 | |
camelia | rakudo bb2d2e: OUTPUT«Perl 7» | ||
timotimo | :) | ||
21:09
xenoterracide joined
|
|||
masak | r: multi infix:<==>('Perl 5', 'dead') { True }; say 'Perl 5' == 'dead' | 21:11 | |
camelia | rakudo bb2d2e: OUTPUT«True» | ||
lizmat | r: my FatRat $a=0.1 # do we need to cast a type here ? | 21:12 | |
camelia | rakudo bb2d2e: OUTPUT«Type check failed in assignment to '$a'; expected 'FatRat' but got 'Rat' in block at /tmp/_KIeMVvQI8:1» | ||
dalek | ast: 3dc96a5 | flussence++ | S32-str/encode.t: Add some utf16 tests |
||
flussence | I think I fudged those properly... poke me if not | 21:13 | |
.decode is broken on one VM, .values is broken on the other :( | 21:15 | ||
yoleaux | is broken on one VM, .values is broken on the other :( | ||
flussence | grr | ||
timotimo | :D | ||
lizmat | .decode echo | ||
yoleaux | echo | ||
timotimo | .decode üöä | 21:16 | |
yoleaux | üöä | ||
timotimo | what does it even ... | ||
lizmat | .decode \x2205 | ||
yoleaux | \x2205 | ||
timotimo | .decode .-.. -.-. ..-.- .-. | ||
yoleaux | .-.. -.-. ..-.- .-. | ||
flussence | decodes its input to utf8, obviously | ||
timotimo | that must be it | ||
pmurias | jnthn: I have mangaged to creat a test which fails due to the 'ws' rxtype being used: pastie.org/8292575 | 21:19 | |
jnthn: so now I'm arguing over one incorrect line of code ;) | |||
21:22
denis_boyun left
21:27
Rotwang left
21:30
pecastro_ joined,
pecastro left
21:34
adu joined
21:35
adu left
|
|||
dalek | ast: b2c3056 | (Elizabeth Mattijsen)++ | S32-str/chop.t: Remove tests for multiple items to be chopped |
21:36 | |
lizmat | tests originate from 2008, aka 5+ years ago, and seem to have no bearing on reality or the future | 21:37 | |
21:40
btyler left
21:41
btyler joined
|
|||
donaldh | S32-io says that select is gone. Is it specced how a listen socket should be tested to see if it is ready for accept() ? | 21:42 | |
JVM supports blocking and non-blocking behaviour for accept(). | 21:43 | ||
masak | lizmat: seems to be a Perl 5 feature. | ||
lizmat | indeed… wow, learned some P5 today | 21:44 | |
donaldh will implement blocking accept for now. | 21:45 | ||
masak | lizmat: I don't think that's a reason to implement it in Perl 6, though ;) | 21:46 | |
donaldh thinks we will get much more mileage out of AsynchronousServerSocketChannel and Future / CompletionHandler. | 21:47 | ||
'night o/ | 21:49 | ||
21:49
donaldh left
21:51
PacoAir left
21:53
xenoterracide left
|
|||
dalek | rl6-roast-data: 562ddc4 | coke++ | / (5 files): today (automated commit) |
21:54 | |
21:55
Mouq left
|
|||
lizmat | 98.1% for JVM, with 200+ more fails: must have been my unfudging :-( | 21:57 | |
21:59
Mouq joined
22:06
dmol left
|
|||
masak | 'night, #perl6 | 22:16 | |
Mouq | r: gist.github.com/Mouq/6417756 | 22:17 | |
camelia | rakudo bb2d2e: OUTPUT«===SORRY!=== Error while compiling /tmp/GY9tUvEBmz'Recursive::Stub' cannot inherit from 'Recusive' because it is unknown.Did you mean 'Recursive'?at /tmp/GY9tUvEBmz:3------> » | ||
Mouq | 'night masak | ||
r: gist.github.com/Mouq/6417756 | 22:18 | ||
camelia | rakudo bb2d2e: OUTPUT«===SORRY!=== Error while compiling /tmp/X11tuonI9BVirtual call $.r may not be used on partially constructed objectsat /tmp/X11tuonI9B:7------> $.r⏏ = Recursive::Stub.new; expecting any of: statement list … | ||
Mouq | Bluh | 22:19 | |
r: gist.github.com/Mouq/6417756 | |||
camelia | rakudo bb2d2e: ( no output ) | ||
22:23
Mouq left
|
|||
timotimo | lizmat: are you sure? it doesn't seem like there's any sign of test files crashing or something, so a skip -> todo wouldn't have done that | 22:25 | |
fwiw, the rakudo.jvm pass rate has apparently gone up | 22:26 | ||
lizmat | ok, but then why is JVM dropping in %? | ||
timotimo | about 150 less skips | ||
ah, interesting | |||
the number of tests specced has increased dramatically | |||
i never did understand that part. | 22:27 | ||
about 40 more "planned", but a bit more than 300 more specced | |||
S03 gained almost all of those spec additions it seems | |||
22:31
bluescreen10 joined
|
|||
jnthn | 'night | 22:31 | |
cognominal | As an experiment I rewrote sort this way but I got an ambiguous call message when calling with a block : multi sub sort(Callable $cmp, *@values) { @values.sort($cmp) } | 22:33 | |
multi sub sort(*@values) { @values.sort } | |||
I thought that the first multi would win being more specific. | 22:34 | ||
Am I wrong? | |||
sorear is still quite bothered by the fact that you can't sort an array using &sort if it may contain objects that do Callable | |||
lizmat | gnight #perl6! | 22:35 | |
cognominal | sorear, on that case you need an explicit sort routine, so your Callable are starts at the second argument, so this is not a problem. | 22:37 | |
Or am I wrong again? | |||
s/are starts/args start/ | 22:38 | ||
sorear | cognominal: yeah, you can work around it with sort &[cmp], @array | ||
cognominal | Callable are not sorthable witout an explicit sort. They don't even have all a name. | 22:40 | |
Any way the current definition of sort is very much perl5 like with explicit shift of an argument :( | 22:41 | ||
22:41
xenoterracide joined
|
|||
sorear | Callable is a role. Nothing prevents you from defining a sortable class, then months later coming up with a reasonable notion of postcircumfix:<( )> for it | 22:42 | |
You add 'does Callable' and bam! your sorts break. | |||
cognominal | indeed | 22:43 | |
22:44
Mouq joined
22:45
Mouq left
22:47
raiph joined
22:48
arlinius left
22:54
xenoterracide left
23:04
cognominal left,
cognominal joined
23:06
benabik left
|
|||
tadzik | ahaahahah. "Is Odo your first or last name?" "Yes." DS9++ | 23:12 | |
23:13
benabik joined
23:36
pmurias left
23:43
iSlug left
|
|||
timotimo | so DSA? | 23:44 | |
tadzik | :) | 23:45 | |
sorear | debian sec advisory? digital signature algorithm? | ||
23:45
xenoterracide joined
|