»ö« 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:00
ajr_ left
00:02
Hor|zon joined
00:06
chenryn joined,
Hor|zon left
00:08
erkan joined
00:09
erkan left,
erkan joined
00:11
immortal left
00:15
fhelmberger joined
00:18
chenryn left
00:20
fhelmberger left
00:30
chipotle left
|
|||
tony-o | lue: is Pod::Walker still intended for use? | 00:30 | |
lue | I faintly recall someone writing a better form of it, but I think it's still usable :) . | 00:31 | |
00:35
chipotle joined
00:52
rmgk left
00:55
rmgk joined
01:01
lizmat_ joined,
lizmat left
01:13
fuad joined
01:17
Sqirrel left,
Sqirrel joined
01:21
colomon left
01:22
colomon joined
01:36
fuad left
01:38
BenGoldberg left
|
|||
pmichaud | r: say {foo => (1,2,3).map: {$_}}.perl | 01:44 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«{"foo" => (1, 2, 3).list.item}» | ||
01:48
xinming_ left,
xinming joined
02:03
Hor|zon joined
02:07
Hor|zon left
|
|||
pmichaud | p6: my @a; @a.push: $("one,two,three".split(',')); say @a | 02:22 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«one two three» | ||
02:28
chenryn joined
02:29
kyun joined
|
|||
gtodd | what is $(... (split('')) ? | 02:42 | |
a list , a function , a list comprehension :-\ | 02:43 | ||
a on list item in itemized context with a split method "inside" ? | 02:45 | ||
one list | |||
() is list context ... $() itemized or item context ... but you put a function inside the itemized context that acts on the items? | 02:48 | ||
m: my @a; @a.push: $("one,two,three".comb); say @a | |||
camelia | rakudo-moar fd017a: OUTPUT«o n e , t w o , t h r e e» | ||
gtodd | my @a; @a.push: $("one,two,three".comb); say @a ; say @a.elems | ||
m: my @a; @a.push: $("one,two,three".comb); say @a | 02:49 | ||
camelia | rakudo-moar fd017a: OUTPUT«o n e , t w o , t h r e e» | ||
gtodd | m: my @a; @a.push: $("one,two,three".comb); say @a ; say @a.elems | ||
camelia | rakudo-moar fd017a: OUTPUT«o n e , t w o , t h r e e1» | ||
gtodd | oh right | ||
m: my @a; @a.push: $("one,two,three".comb); say @a.elems | 02:51 | ||
camelia | rakudo-moar fd017a: OUTPUT«1» | ||
gtodd | because @a is on one item list | ||
m: my @a; @a.push: $("one,two,three".split(',')); say @a; say @a.elems | 02:52 | ||
camelia | rakudo-moar fd017a: OUTPUT«one two three1» | ||
02:53
noganex joined
|
|||
tony-o | is there a spec for Pod type? | 02:55 | |
02:56
noganex_ left
|
|||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(1..*); | 02:57 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«True» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(|(1..*)); | 02:58 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«False» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(1,2,3,4..*); | 03:03 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«Nil» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(1,2,3,(4..*)); | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«Nil» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(1..5); | 03:04 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«Nil» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(1,2,3,(4..*)); | 03:05 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«Nil» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(|(1,2,3,(4..*))); | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«Nil» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(|(4..*)); | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«False» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(|(1,4..*)); | 03:06 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«Nil» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(|(Nil,4..*)); | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«Nil» | ||
pmichaud | r: sub g(*@v) { say @v[^5]; }; g(|(Nil,4..*)); | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«4 5 6 7 8» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(4..*); # correct | 03:08 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«True» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g('a',4..*); # correct | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«Nil» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(|('a',4..*)); # correct | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«Nil» | ||
pmichaud | r: sub g(*@v) { say @v.infinite; }; g(|(4..*)); # incorrect | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«False» | ||
colomon | Shouldn't you be asleep? | 03:12 | |
colomon hopes pmichaud++ has a very productive weekend | 03:13 | ||
pmichaud | I slept already for a while... I'm reviewing list-related tickets now. I'm about to head back to sleep for ~3 hrs | 03:16 | |
colomon | Sounds like a good plan. | 03:17 | |
colomon thinks he slept in three four hour shifts the first night when he flew to Switzerland. | 03:19 | ||
pmichaud | anyway, time for sleep -- bbl. | 03:23 | |
03:42
yeahnoob joined
03:44
JimmyZ joined
04:04
Hor|zon joined
04:09
Hor|zon left
04:16
fhelmberger joined
04:20
fhelmberger left
04:23
araujo left
04:27
Brian_ joined
04:31
flaviusb joined
04:33
chenryn left
04:45
ggoebel1111116 joined
04:47
ggoebel1111115 left
04:49
bob_spoonmongler joined
04:58
avuserow joined
04:59
Brian_ left
05:03
chenryn joined
05:08
chenryn left
05:10
chenryn joined
|
|||
dalek | c: df28d11 | moritz++ | lib/Language/classtut.pod: [classtut] small consistency fix |
05:27 | |
05:38
atroxaper joined
|
|||
dalek | c: 2a132e3 | moritz++ | lib/Language/classtut.pod: [classtut] general cleanup * avoid unneccessary parens; instead explain coercive array assignment * mention .^name * avoid .join on a list of type objects |
05:39 | |
05:42
_slade_ left
|
|||
pmichaud | r: say 3[0] | 05:44 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«3» | ||
pmichaud | say 3.kv | 05:45 | |
r: say 3.kv | |||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«0 3» | ||
dalek | ast: 42fdb20 | pmichaud++ | S02-types/flattening.t: [S02] Remove bogus comment about "3[0] and 3.kv should fail". They're legal. |
05:47 | |
05:57
chenryn left,
atroxaper left
|
|||
dalek | c: 97bd999 | moritz++ | lib/Language/regexes.pod: [regxes] cleanup, wording improvements |
05:57 | |
c: 7fba5cf | moritz++ | lib/Language/regexes.pod: explain alternations |
05:58 | ||
pmichaud | r: ((1,2), (3,4), (5,6)).roll | 05:59 | |
camelia | ( no output ) | ||
pmichaud | r: ((1,2), (3,4), (5,6)).roll.say | ||
camelia | rakudo-parrot fd017a: OUTPUT«1 2» | ||
..rakudo-moar fd017a: OUTPUT«5 6» | |||
pmichaud | r: ((1,2), (3,4), (5,6)).pick.say | 06:00 | |
camelia | rakudo-parrot fd017a: OUTPUT«1 2» | ||
..rakudo-moar fd017a: OUTPUT«5 6» | |||
pmichaud | r: ((1,2), (3,4), (5,6)).sort.perl.say | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«((1, 2), (3, 4), (5, 6))» | ||
pmichaud | r: ((1,2), (3,4), (5,6)).join.perl.say | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«"123456"» | 06:01 | |
pmichaud | r: ((1,2), (3,4), (5,6)).elems.say | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«3» | ||
pmichaud | r: ((1,2), (3,4), (5,6)).list.elems.say | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«3» | ||
pmichaud | hrm. | 06:02 | |
moritz | r: ((1, 2), (3, 4), (5, 6)).flat.elems.say | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«6» | ||
pmichaud | I'm trying to remember/discover when that changed. I remembered it that .elems always flattened | ||
moritz | pmichaud: the current dogma seems to be that .list decontainerizes the invocant, and .flat flattens out parcels | ||
pmichaud: iirc it was fairly recently | 06:03 | ||
pmichaud: when TimToady++ started hacking list-y things in rakudo | |||
(that is, on the order of 1-5 months or so :-) | |||
pmichaud | which means Rule 2 came into play :) | ||
yeah, that's a change from previous years | 06:04 | ||
okay, so .map flattens, .join flattens, but the rest do not? | |||
moritz | commit ef380d29f9ff94ac2a1b5316bd014306945d045d | ||
Author: TimToady [email@hidden.address] | |||
Date: 2014-09-02 00:32:36 -0700 | |||
Parcel no longer autoflattens for .elems or .[] | |||
pmichaud | oh, or for .[] ! | ||
that's..... interesting. | |||
that's a significant change. | 06:05 | ||
moritz | that's the reason that .roll and .pick work the way they do | ||
pmichaud | that's a very significant change from what was previously spec'd. | ||
06:05
Hor|zon joined
|
|||
moritz | though IMHO it would be consisten to make .join behave the same way | 06:05 | |
agreed | |||
it means that autoflattening is no longer the default in many circumstances | |||
pmichaud | I will have to do a major update of my internal mental model for that | 06:06 | |
but .map still flattens? | |||
moritz | m: say ((1, 2), (3, 4), (5, 6)).map(*.perl).join: ' ' | ||
camelia | rakudo-moar fd017a: OUTPUT«1 2 3 4 5 6» | ||
moritz | yes | 06:07 | |
pmichaud | okay. | ||
moritz | m: say ((1, 2), (3, 4), (5, 6)).tree.map(*.perl).join: ' ' | ||
camelia | rakudo-moar fd017a: OUTPUT«(1; 2).item (3; 4).item (5; 6).item» | ||
moritz | m: say ((1, 2), (3, 4), (5, 6)).lol.map(*.perl).join: ' ' | ||
camelia | rakudo-moar fd017a: OUTPUT«$(1, 2) $(3, 4) $(5, 6)» | ||
pmichaud | yes, this changes a bunch of semantics from what I had remembered | ||
and means we can close out quite a few rt tickets | 06:08 | ||
anyway, time for breakfast here... bbiaw | 06:09 | ||
06:10
Hor|zon left
06:11
kaare_ joined
06:16
notfix is now known as xfix,
chenryn joined
06:20
gfldex joined,
yeahnoob left
|
|||
pmichaud | ".list decontainerizes the invocant"... does that really mean that it de-itemizes it? (i.e., .list returns something that is flattenable) | 06:21 | |
moritz | pmichaud: yes | 06:23 | |
m: .say for $(1, 2, 3) | |||
camelia | rakudo-moar fd017a: OUTPUT«1 2 3» | ||
moritz | m: .say for ($(1, 2, 3)).list | ||
camelia | rakudo-moar fd017a: OUTPUT«123» | ||
pmichaud | so yeah, de-itemize is more accurate I think | 06:24 | |
06:27
rindolf joined
|
|||
moritz | right, containers are mostly an implementation detail of how itemization currently works | 06:27 | |
pmichaud | m: say ((1,2), (3,4), (5,6)).tree.WHAT | 06:28 | |
camelia | rakudo-moar fd017a: OUTPUT«(LoL)» | ||
pmichaud | m: say ((1,2), (3,4), (5,6)).tree.perl | ||
camelia | rakudo-moar fd017a: OUTPUT«(1, 2; 3, 4; 5, 6).item» | ||
pmichaud | hmmm, I wouldn't have expected that final .item | 06:29 | |
moritz | I guess that's debatable | ||
pmichaud | m: say ((1,2), (3,4), (5,6)).tree(*).perl | ||
camelia | rakudo-moar fd017a: OUTPUT«(1, 2; 3, 4; 5, 6).item» | ||
pmichaud | I'll have to look at that later... need breakfast | 06:30 | |
bbl | |||
moritz | that is, I wouldn't object to removing it (from the top of my head) | ||
06:32
mauke joined,
yeahnoob joined,
rindolf left
06:34
darutoko joined
06:39
rindolf joined
06:45
rurban joined
|
|||
timotimo | o/ | 06:45 | |
wow, pm, you can survive on this little sleep? | 06:46 | ||
mauke | good morning | 06:47 | |
timotimo | hoelzro: you don't need MAIN_HELPER to provide any features in order to make subcommander cool; you can completely replace it, at that point the original doesn't even run any more :) | ||
06:47
crab joined
06:48
rurban left
|
|||
timotimo | tony-o, BSc_tadzik, precompiling things will splatter CUIDs all over, which include the timestamp; unless you build both files at exactly the same time (and i really do mean exactly), they are going to differ | 06:49 | |
06:50
azawawi joined
|
|||
azawawi | good morning #perl6 | 06:50 | |
timotimo | oh i understand now | 06:51 | |
(re pm's sleep) | |||
dalek | c: 775f199 | moritz++ | lib/Language/regexes.pod: [regexes] describe capturing and groups |
||
06:52
FROGGS joined
|
|||
timotimo | azawawi: re "ipython notebook", it'd be quite nice if we could actually have a rakudo version that speaks the ipython wire protocol | 06:54 | |
that way we get the actual ipython notebook and don't have to re-invent it | |||
06:58
Ven joined
|
|||
Ven | o/, #perl6 | 06:58 | |
timotimo | o/ | 06:59 | |
07:00
crab left
|
|||
dalek | c: e3fec75 | moritz++ | lib/Language/regexes.pod: Elaborate on capture numbering |
07:05 | |
07:05
molaf_ joined,
Ven left
07:08
perl6blows joined
|
|||
perl6blows | why shud I use perl6 when I can use ruby | 07:08 | |
moritz | perl6blows: faq.perl6.org/#features | 07:09 | |
mauke | you shouldn't | ||
07:09
molaf left
07:11
perl6blows left
|
|||
timotimo is off to breakfast and venue | 07:11 | ||
07:13
lizmat_ left
07:20
yeahnoob left
07:31
molaf_ left
07:32
pepl joined
07:33
yeahnoob joined
07:46
lizmat joined
|
|||
pmichaud | timotimo: (sleep) the short answer is yes, I can survive on very little sleep. :) | 07:49 | |
07:55
Ven joined
|
|||
Ven | Jnthn time o/ | 07:55 | |
TimToady | just about | 07:56 | |
Ven | technical issues time o/ | 07:58 | |
timotimo | aye, jnthn time! | ||
TimToady slept 10 hours | 08:00 | ||
picture of Hong Kong | 08:01 | ||
08:06
Hor|zon joined
08:09
leont_ joined
|
|||
leont_ | timotimo: wiki.gnome.org/action/show/Project...rospection | 08:10 | |
08:11
Hor|zon left
08:12
woolfy joined
|
|||
timotimo | thank you | 08:13 | |
now please build a module for that <3 | |||
Ven | is perlgeek.de/en/article/5-to-6 still maintained? | 08:14 | |
timotimo | we could probably do a pass over it again some time soon | ||
.o( after the GLR? :) ) | |||
.o( during the hackathon? ) | 08:15 | ||
Ven | is it good to link it? | ||
08:15
laben joined
|
|||
laben | hello #perl6, having a good time? | 08:15 | |
timotimo | i liked that document last time i looked at it. i liked it a lot. | ||
(just because it makes perl5 look so bad :P ) | |||
Ven | Okay, putting it there. | 08:16 | |
laben | Ven: did you get my memos from the other day? | 08:17 | |
timotimo | about TPS reports? | ||
Ven | laben: you mean from the learnx? | ||
laben | Ven: yep | ||
Ven | or, er, for the* | ||
I think I fixed those, didn't I? | 08:18 | ||
laben | Ven: i'll check straight away | ||
Ven | alright. | ||
08:19
chenryn left
|
|||
laben | Ven: is this right? i don't understand... "$a ! $b ! $c; # with a list-associative `!`, this is `infix:<>`" | 08:21 | |
Ven notes it down | 08:22 | ||
laben | Ven: about "is" and traits, there's nothing? | ||
Ven | laben: there's a very small part | 08:23 | |
laben | Ven: mh, i saw that now, but that's indeed ermetic. except synopses, where could i learn more? | 08:24 | |
JimmyZ | "Using Perl 6" pdf | 08:25 | |
Ven | That might be a bit out of the scope of the tutorial... | ||
maybe I'll add a little bit | |||
08:26
lizmat left
|
|||
laben | Ven: thanks, because when i read "`is rw`, is simply a dispatch to a function with this signature: # sub trait_mod:<is>(Routine $r, :$rw!) {}" i was like WTH does this mean? dispatch? to a function? | 08:27 | |
Ven | multi dispatch is explained earlier, isn't it? | ||
laben | yes, but in the context of "is" it's not clear | 08:28 | |
Ven | can you be a *little bit* more particuliar? | ||
I think I see where you're going, but confused at the same time | |||
08:29
molaf joined
08:30
anaeem1 joined
|
|||
laben | to be more specific, i think i understand now that "is rw" is a dispatch (a "call") to a function named trait_mod:<is>, but that was not really clear because you do not expect such a thing in that position | 08:30 | |
pepl | apw2014 lightning talks schedule: act.useperl.at/apw2014/event/1616 | ||
TimToady | laben: indeed, we try to confuse declaration with execution quite frequently :) | 08:31 | |
laben | maybe it would be clearer to add a line that says something like "adding a trait with is automatically calls the trait-builder function" | ||
Ven | monitors and actors :o) | 08:32 | |
pepl++ | |||
laben | monitors? | 08:33 | |
mauke | asianitinerary.com/wp-content/uploa...Lizard.jpg | 08:34 | |
laben | mauke: so cute XD | 08:35 | |
JimmyZ | so many perl 6 lightning talk ... | ||
timotimo | that animal has a pretty cool pattern on it | ||
laben | oh btw, i couldn't find any info even in the synopses about a part of Signatures. I found, even in the docs, some params writtes as Str:D or Str:U. What do those mean and where are they documented? | 08:39 | |
Ven | laben: might want to look at s06 | ||
timotimo | "type smiley" | ||
Ven | they're for type objects. :U undefined | ||
(like Int). :D defined (like 5) | 08:40 | ||
08:41
molaf left
|
|||
laben | i'm pretty sure i read that entire synopse without finding anything. I'll reread it | 08:41 | |
timotimo | we should have "type smiley" in the S99 and link to the right synopsis for the explanation | 08:42 | |
Ven | mmh. maybe it's not in s06? | 08:44 | |
laben: perlcabal.org/syn/S12.html#Abstract...rete_types | 08:45 | ||
C tags yay :) | |||
timotimo | yays | ||
laben | Ven: thanks, i did not find anything in the S06, but it's true i did not read S12, i wasn't expecting it to be there | 08:46 | |
08:47
gfldex left
|
|||
laben | Ven: that seems to be an easy little thing to be added to your guide, no? | 08:48 | |
timotimo | good talk | ||
jnthn++ | |||
Ven | jnthn++ # great talk | 08:49 | |
laben: I'm currently seated at APW, but be sure I have notepad with your remarks written | |||
timotimo can confirm :) | |||
08:50
chenryn joined
|
|||
laben | Ven: no problems, i believe you :) | 08:50 | |
08:52
lizmat joined
|
|||
jnthn | phew, I survived my talk :) | 08:52 | |
timotimo | now i know what daxim_ looks like! | 08:53 | |
FROGGS | jnthn: so I can implement the slang keyword in 5 minutes? :o) | ||
timotimo | jnthn: something (or someone ... possibly me) apparently broke the GTK::Simple::Scheduler; the bit of code added to g_idle_add doesn't get called for some reason >_< | ||
08:55
chenryn left
|
|||
timotimo | oh | 08:55 | |
it's supposed to return 1 if it wants to be called again, and it doesn't seem to do that ATM | |||
Ven glances over timotimo's shoulder | |||
jnthn | FROGGS: Well, the syntax... :P | ||
The semantics may be a little more work ;) | 08:56 | ||
pmichaud | on perlcabal.org/syn/, I _really_ want to get rid of the text that says "The Synopsis documents are to be taken as the formal specification for Perl 6 implementation". Normally I'd just do it and cite "forgiveness" > "permission", but it's just heavy-handed enough that I want to hear if anyone here objects first. :) | ||
TimToady | <crickets> | 08:57 | |
jnthn | <footballs> | ||
lizmat | fwiw, I think the synopses and tests in roast serve different purposes | ||
JimmyZ is waiting for the pdf ... | |||
lizmat | which should be in sync | ||
jnthn | oh, right... :) | ||
pmichaud | I'll do the commit and if anyone disagrees they can revert | ||
(and I'll put that in the commit message) | |||
TimToady | the synopses are guidelines for writing tests :) | 08:58 | |
lizmat | which would imply that the tests are leading ? | ||
pmichaud | I don't think there's a true "leader". | 08:59 | |
timotimo | oh! | ||
TimToady | it's a whirlpool | ||
pmichaud | sometimes the design documents light the way. sometimes it's implementation. sometimes it's tests | ||
timotimo | i think my code may just not give the event loop an opportunity to idle | ||
pmichaud | the tests are the most formal component, however, and they provide a machine-computable way of checking compliance with the spec | ||
jnthn | jnthn.net/papers/2014-apw-objects-c...rrency.pdf | ||
JimmyZ: ^^ | |||
lizmat | jnthn: wrt to Monitors: am I correct in understanding that P5 shared hash semantics could be implemented with a Monitor on a Hash ? | 09:00 | |
TimToady | it's the agreement of spec, tests, and implementation that kinda defines Perl 6 | ||
JimmyZ | jnthn: Thanks! | ||
timotimo | the idle handler only gets called once ... | ||
TimToady | but at some point we have to say "this implementation is good enough" | ||
JimmyZ | oh, the pic of Hong Kong | 09:01 | |
jnthn | JimmyZ: Yes, it was the latest holiday snap I liked enough to use for a talk front slide :) | ||
JimmyZ | awesome | 09:02 | |
TimToady | mine were all awful, so I had to use lots of 'em :) | ||
jnthn | That one was a small pain to take 'cus it needed a long exposure time but it was windy enough to rock the camera... | 09:03 | |
TimToady | faking tripods is a useful skill | 09:04 | |
jnthn | lizmat: You could put a hash inside a monitor and delegate various methods... | ||
Ven | .o( I am a professional tripod faker ) | ||
lizmat | and basically hide that in a trait | ||
TimToady | would probably have to use a tie to get a method interface though... | 09:05 | |
jnthn | Well, though the obvious way to do it is SharedHash type and then we implement the use of "is" on a variable to specify the implementing type | ||
Then it's just my %h is SharedHash; | |||
lizmat | yup | ||
TimToady | or are we talking P6 now? | ||
jnthn | But yep, very do-able module :) | ||
lizmat | I know some P5 people will like that ? | ||
jnthn | lizmat: Will they? :) | ||
lizmat: Well, if it's a module those who like it can use it. :) | 09:06 | ||
TimToady | 'my %h :SharedHash;' in p5 | ||
jnthn | I'm not proposing montor for core | ||
TimToady | or have they stolen 'is' yet? | ||
09:06
chenryn joined
|
|||
jnthn | And I'm really not wanting actor in there 'cus there's more than one sane way to implement those :) | 09:06 | |
TimToady | and I mean "stolen" in the nicest possible way :) | ||
jnthn | ooh, cake break :) | 09:07 | |
mauke | nope, no 'is' builtin :-) | ||
09:07
bjz joined
|
|||
lizmat | TimToady: 'my %h :shared' in P5 | 09:07 | |
jnthn: I disagree with not wanting Monitor and Actor in core | 09:08 | ||
there should be a simple version of this functionality in core for everybody to use | |||
without having to resort to having to install modules | |||
mephinet | fwiw: switching from parrot to moarvm solved the segfault I received yesterday | 09:10 | |
mephinet is happy and head off for coffee | |||
laben | uh oh, Inline::Perl5 doesn't pass unit test inherit.t and Flower doesn't build anymore | ||
mephinet | s/head/heads/ | ||
09:10
Mso150 left
|
|||
laben | wth now it builds | 09:12 | |
JimmyZ | there is a good actor names akka in scala world.. | 09:14 | |
laben | nine: are you here? | 09:15 | |
JimmyZ | and it's not in the scala core , iirc | ||
we can have a actor in rakudo star , not in the core :P | 09:17 | ||
09:17
rmgk left
09:19
rmgk joined
|
|||
dalek | : 0b23d38 | pmichaud++ | docs/feather/syn_index.html: Reword the text of perlcabal.org to diassociate "synopsis" and "spec". I've long felt that since the synopses contain quite a lot of speculation, treating them as "formal specification" is not correct. And Synopsis 1 has long indicated that Perl 6 compliance is defined by the official test suite, and not by compliance with the synopses or an implementation. So, in the spirit of "forgiveness" > "permission" this commit is a somewhat heavy-handed declaration that "synopses are not the formal specification". If there's a consensus that this is taking things too far, feel free to revise or revert this commit until a consensus can be reached. |
09:22 | |
timotimo | pepl: can you change the german title of my lightning talk to "I've got some more game-dev stuff to show you (than tadzik did already)"? | 09:24 | |
i intended to give it in english anyway | |||
might as well let the people know what it's going to be about without needing them to google-translate it first | |||
BSc_tadzik | :) | 09:29 | |
yoleaux | 10 Oct 2014 22:57Z <tony-o> BSc_tadzik: gist.github.com/tony-o/b8eca866073128527c15 | ||
timotimo | i'm quite dissatisfied with the quality of my code :\ | 09:31 | |
TimToady | pmichaud: well, but maybe then you shouldn't believe S01 when it says that :P | ||
09:40
lizmat left
|
|||
dalek | : 79e11c0 | (Tobias Leich)++ | docs/feather/syn_index.html: fix typo (offiical => official) |
09:41 | |
pepl | timotimo: updated your talk | ||
timotimo | thanks | 09:44 | |
09:45
yeahnoob left
|
|||
Ven thinks scala's akka is pretty bad | 09:49 | ||
...because it's Any => Any | |||
09:51
cognome left
|
|||
TimToady | FROGGS: "LTM prefers literals over cclasses", last I looked, this was not yet implemented in rakudo | 09:52 | |
09:55
kyun left
|
|||
timotimo | daxim needs to build a few cool webby things for rakudo :3 | 09:55 | |
JimmyZ | Is there any better one? :) | 09:56 | |
woolfy | timotimo: needs to -> let's beg him please to do so... (daxim reacts negatively to "you need to do", as would I)... -> beg beg beg beg :-) | 09:57 | |
09:57
virtualsue joined
|
|||
timotimo | oh, yes, please interpret my comment as begging | 09:57 | |
09:57
virtualsue left
|
|||
woolfy | will do | 09:58 | |
timotimo | daxim shall interpret it that way, too | 09:59 | |
woolfy | of course he will (and maybe the begging works) | 10:00 | |
10:01
anaeem1 left
|
|||
timotimo | :) | 10:02 | |
10:03
tinyblak joined
10:04
cognome joined
10:07
Hor|zon joined
10:08
Ven left,
Ven joined
10:09
cognome left
10:11
Ven left
10:12
Hor|zon left
10:13
Ven joined
|
|||
azawawi finds a performance bottleneck in JSON::Tiny | 10:21 | ||
rakudo-moar: use JSON::Tiny; my $output = ""; my %s = %( "output" => $output; ); say to-json(%s); | 10:25 | ||
camelia | rakudo-moar fd017a: OUTPUT«===SORRY!===Could not find JSON::Tiny in any of: /home/p6eval/rakudo-inst-1/languages/perl6/lib, /home/p6eval/rakudo-inst-1/languages/perl6» | ||
10:26
JimmyZ left
|
|||
azawawi | JSON::Tiny becomes so slow when you add \n to output and farabi6 does that a lot when running user script, requests become slow. | 10:26 | |
timotimo | oh, like a string concatenation that adds a single "\n" to a long string will be super slow? | 10:27 | |
azawawi | use JSON::Tiny; my $output = ""; my %s = %( "output" => $output; ); say to-json(%s); | ||
# 0.97413444 | 10:28 | ||
use JSON::Tiny; my $output = "\n" x 1000; my %s = %( "output" => $output; ); say to-json(%s); | |||
# 3.2059284 second(s) | |||
timotimo | oh | 10:29 | |
azawawi | {"\n" x 1000} is fast compared to the to-json call | ||
timotimo | so it's escaping that's unbearably slow? | ||
well it'd have to be '\n' x 1000 | |||
moritz | possibly tr or s being slow | 10:30 | |
10:31
kurahaupo_ joined
|
|||
timotimo | aye | 10:31 | |
10:33
peteretep joined
|
|||
peteretep will be doing his MSc project on a design for CPAN 6 | 10:34 | ||
So I guess I'll be here more often | |||
peteretep waves | |||
10:35
immortal joined
|
|||
moritz | \o peteretep | 10:36 | |
peteretep: also implementation? or just design? | |||
10:36
chenryn left
|
|||
peteretep | Design, and implementation of the PAUSE component, rather than other tooling | 10:37 | |
azawawi | i just added time spent running the script text and some ajax loaders feather.perl6.nl:3030/ | ||
peteretep | Specificially I would like it to be able to support Panda and cpanm out of the box | 10:38 | |
10:38
erkan left
|
|||
peteretep | moritz: The guidinging motivation I make is that CPAN6 was over-designed, the current text-file with Perl6 modules is under-designed, and I intend to find a middle design, and then implement it and gather feedback | 10:38 | |
I have a year to complete | |||
moritz | peteretep: sounds good | 10:39 | |
peteretep | moritz: Let's see :-) | 10:40 | |
I have pumped enough cash in to this MSc at this point, and have a strong desire to maintain my grade average | |||
So it /must/ happen, rather than me just wanting it to ;-) | |||
10:41
laben left
|
|||
moritz | peteretep: I'm sure folks in here will be happy to discuss things with you, if you want to | 10:42 | |
peteretep: and the current ecosystem thingy (text file with links of URL) was just because nobody wrote something better :-) | |||
10:43
tinyblak left
|
|||
peteretep | moritz: Absolutely. That works to my advantage a great deal | 10:44 | |
moritz: In terms of being able to contrast the CPAN6 approach, the ecosystem thingy, as part of the report | |||
moritz | so there won't be resistance to replace it with something better, as long as that better thing works :-) | ||
azawawi | pbrd.co/1tjKrEN # latest farabi6 with script time spent and various UI enhancements | ||
moritz | azawawi++ # nice | 10:45 | |
peteretep | It's a software engineering MSc, so being able to contrast the approaches taken has quite a lot of meat | ||
10:46
firefish5000 joined
|
|||
azawawi | moritz: thanks :) | 10:47 | |
moritz | time perl6-m -e 'use JSON::Tiny; to-json({ a => ("a" x 10000)}) => 0.32s | ||
time perl6-m -e 'use JSON::Tiny; to-json({ a => ("\n" x 10000)})' => 13.6s | |||
moritz starts the profiler | 10:48 | ||
adding --profile only makes it 2s faster | |||
wow, it spends 51% of its time in index | 10:49 | ||
azawawi | moritz: 32s on my AMD FX-8150 lol | 10:55 | |
azawawi disabled AMD FX-8150... cant unleash its powers because of faulty heatsink | |||
moritz | azawawi: I have a local patch that halves the relevant calls to index, which should speed up the whole thing by 25% | 10:56 | |
azawawi: not great, but not bad for 10min hacking :-) | 10:57 | ||
building/testing now | |||
azawawi | paste it plz... i will try it... farabi6 using json-tiny a lot :) | ||
using=uses | |||
moritz | azawawi: gist.github.com/moritz/b4167b60f7baf97d8330 | 10:58 | |
(rakudo patch) | |||
will push as soon as the tests show that it doesn't break stuff | 10:59 | ||
11:01
chenryn joined
11:04
anaeem1_ joined,
tinyblak joined
|
|||
moritz | it's not significantly faster :( | 11:07 | |
wtf :( | 11:08 | ||
11:14
laben joined
|
|||
laben | mh, what would be the best way to name a module which serves as binding to libpng? Png::Libpng? Libpng? Native::Libpng? | 11:14 | |
BSc_tadzik | perhaps like in Perl 5, metacpan.org/release/Image-PNG-Libpng | 11:16 | |
laben | good enough, i guess | 11:17 | |
11:17
tinyblak_ joined
11:19
tinyblak left
|
|||
peteretep | laben: Does it include libpng? | 11:22 | |
moritz | azawawi: now trying a different patch :-) | 11:26 | |
11:27
bjz left,
laben left,
lizmat joined
|
|||
pmichaud | r: &infix:<[max]>(|(1..*)) | 11:30 | |
camelia | rakudo-moar fd017a: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: &infix:<[max]> used at line 1. Did you mean '&infix:<max>', '&infix:<x>', '&infix:<min>'?» | ||
..rakudo-parrot fd017a: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: &infix:<[max]> used at line 1. Did you mean '&infix:<max>', '&infix:<mod>', '&infix:<cmp>'?» | |||
pmichaud | r: say &infix:<max>(|(1..*)) | 11:31 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«-Inf» | ||
moritz | m: say 13.5 / 4.9 | 11:35 | |
camelia | rakudo-moar fd017a: OUTPUT«2.755102» | ||
moritz | m: (13.5 - 4.9) / 13.5 | ||
camelia | ( no output ) | ||
moritz | m: say (13.5 - 4.9) / 13.5 | ||
camelia | rakudo-moar fd017a: OUTPUT«0.637037» | ||
dalek | kudo/nom: fbac819 | moritz++ | src/core/Str.pm: Speed up Str.trans It does this by removing matchers that have no chance of matching again. JSON::Tiny::to_string uses $d.trans(['"', '\\', "\b", "\f", "\n", "\r", "\t"] => ['\"', '\\\\', '\b', '\f', '\n', '\r', '\t']) With $d = "\n" x 10000, this patch reduces the run time from 13.5s to 4.9s. |
11:42 | |
moritz | azawawi: ^^ please try again with this commit :-) | ||
11:42
ghostlines joined
11:46
spider-mario joined
|
|||
timotimo | looks like a good catch | 11:46 | |
moritz | and I found a bug while looking at the .trans code | 11:47 | |
timotimo | would still be nice to have it faster, but oh well | ||
moritz | m: say 'aaa'.subst(/^a/ => 'b') | ||
camelia | rakudo-moar fd017a: OUTPUT«Cannot call 'subst'; none of these signatures match::(Cool: Any $matcher, Any $replacement, *%adverbs):(Str: Any $matcher, Any $replacement, Any :ii(:samecase($samecase)), Any :ss(:samespace($samespace)), Any :SET_CALLER_DOLLAR_SLASH($SET_CALLER_DOLL…» | ||
moritz | m: say 'aaa'.trans(/^a/ => 'b') | ||
camelia | rakudo-moar fd017a: OUTPUT«bbb» | ||
moritz | testing a fix for that now | ||
also, .trans has worse-than-linear performance characteristics | 11:48 | ||
11:48
chenryn left
|
|||
moritz | probably due to repeated string concatenation | 11:49 | |
lizmat | peteretep moritz: have you looked at S22 and its recommendation manager ? | 11:51 | |
moritz | lizmat: I haven't (yet) | ||
leont_ | pepl: if we're ahead of schedule I could lengthen up my talk to a real one, I think | ||
lizmat | it's been there for 6+ months :-) | ||
dalek | kudo/nom: 62ae004 | moritz++ | src/core/Str.pm: Str.trans: Fix regex context buglet Previously, Str.trans used substr to extract a substring and then match a regex against that substring. This messes up all kinds of zero-width assertions (anchors, word boundaries, look-behinds). Instead, use the Str.match(Regex, :continue($pos)) to tell the regex engine where to start |
11:52 | |
FROGGS | nwc10++ # quite enjoyable :o) | ||
jnthn | Indeed :) | ||
11:52
bjz joined
|
|||
dalek | ast: 52de4a2 | moritz++ | S05-transliteration/trans.t: Test Str.trans with anchored regex, and with look-behind regex |
11:53 | |
11:53
laben joined
|
|||
moritz suddenly feels p6roductive again | 11:54 | ||
jnthn | \o/ | ||
moritz | azawawi++ # pointing out a bottleneck | ||
jnthn++ # profiler | |||
without the profiler, I would have suspected slow list code again | |||
laben | peteretep: no, it doesn't include it. Should i change it? | 11:55 | |
jnthn | yay, the profiler helps again \o/ | ||
pmichaud | r: say "abcde" ~~ / ab <![e]> cde | ab.. / | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«「abcd」» | ||
pmichaud | r: say "abcde" ~~ / ab cde | ab.. / | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«「abcde」» | ||
pmichaud | r: say "abcde" ~~ / ab <![e]> cde | ab.. / # LTM fail | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«「abcd」» | ||
jnthn | pmichaud: Ain't a lookahead an LTM terminator? | 11:56 | |
11:56
colomon left
|
|||
jnthn | Oh, but negative... | 11:56 | |
11:57
colomon joined
|
|||
pmichaud | negative lookaheads are not LTM terminators | 11:58 | |
colomon | moritz++ | ||
jnthn | OK. The current NFA builder things they are | ||
elsif $subtype eq 'zerowidth' { | |||
if $node.negate { | |||
self.fate($node, $from, $to) | |||
} | |||
pmichaud | positive lookaheads add to the LTM | ||
jnthn | Right, positive lookaheads add to the longest token, then fate after 'em | ||
But it seems negative ones are immediate fate. | |||
Which is...wrong? | |||
pmichaud | S05: So LTM completely ignores negative lookaheads, and | 11:59 | |
continues to look for pure patterns in whatever follows the negative | |||
lookahead. | |||
jnthn | Wonder what if we just delete that self.ate call :) | ||
moritz | you ate the fate? | ||
pmichaud | S05:2887 # more precise reference | 12:00 | |
synopsebot | Link: perlcabal.org/syn/S05.html#line_2887 | ||
12:00
JimmyZ joined
|
|||
jnthn | om nom fate | 12:00 | |
pmichaud | r: say 'abcde' ~~ / ab <?[c]> de | ab.. / | 12:01 | |
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«「abcd」» | ||
pmichaud | r: say 'abcde' ~~ / ab <?[c]> de | ab / | ||
jnthn | The first one of those could never match... | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«「ab」» | ||
pmichaud | oh, yeah. | ||
jnthn | Aww | ||
pmichaud | r: say 'abcde' ~~ / ab <?[c]> ... | ab.. / | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«「abcd」» | ||
jnthn | Removing that self.fate call actually blows up the NQP build. | 12:02 | |
pmichaud | r: say 'abcde' ~~ / ab <?[c]> ... | ab / | ||
camelia | rakudo-{parrot,moar} fd017a: OUTPUT«「abcde」» | ||
pmichaud | I'll file the rakudobug :) | ||
colomon | Any exciting talks today? | ||
jnthn | colomon: Well, it started off pretty boring... | 12:03 | |
FROGGS | yeah, the first talk wasn't worth'ington to attend it :o) | ||
12:03
chenryn joined
|
|||
colomon does not believe jnthn | 12:03 | ||
jnthn | :D | ||
colomon | big surprise this morning? | 12:04 | |
FROGGS | some interesting stuff about objects and concurrency I never thought about :o) | ||
colomon | slides online yet? :) | 12:05 | |
pmichaud | rakudobug for LTM negative lookahead filed | ||
FROGGS | colomon: jnthn.net/papers/2014-apw-objects-c...rrency.pdf | 12:06 | |
moritz | pmichaud++ | ||
colomon | FROGGS++ jnthn++ | ||
moritz | tests++ | ||
it's soooo useful to catch the stupid errors *before* the git push :-) | |||
pmichaud suddenly feels productive again | 12:07 | ||
12:08
Hor|zon joined
|
|||
jnthn is working on getting modules from the talk out of the echosystem and into the ecosystem | 12:09 | ||
moritz has a patch that removes quadratic string concat in Str.trans; waiting for the spectest to finish | 12:11 | ||
12:13
Hor|zon left
12:14
jack_rabbit left
|
|||
timotimo | my space shooter now has explosions! :D | 12:16 | |
Ven | I don't have much problems with flattening anymore, but I still can't read @! correctly :( | 12:17 | |
BSc_tadzik | asdfmovie 8 is out :D | ||
Ven | yepp :) | 12:18 | |
timotimo | oh god what | 12:19 | |
will you ever run out of asdfmovies? | |||
-- no, because i work at ze asd-factory | |||
FROGGS | pmichaud: I've got a LTM cheat for the version token that seems to work fine: | 12:21 | |
token version { | |||
- 'v' <?[\d]> {} $<vstr>=[<vnum>+ % '.' '+'?] | |||
+ <?before v\d+> 'v' $<vstr>=[<vnum>+ % '.' '+'?] | |||
Ven | uuh... The debugger is giving me "Null regex not allowed" on that snippet | 12:24 | |
m: my $a = 1; macro foo($name) { my $f = 2; say $f } | |||
camelia | ( no output ) | ||
dalek | kudo/nom: 90952ec | moritz++ | src/core/Str.pm: Avoid repeated concatenation (O(n^2)) in Str.trans |
12:25 | |
Ulti | azawawi is farabi6 100% p6? | 12:26 | |
timotimo | nope. it's also some HTML and some javascript | 12:27 | |
azawawi | Ulti: the UI is JS+HTML rest is p6 | ||
timotimo | and CSS | ||
:P | |||
FROGGS | pmichaud / TimToady: the same patch applies nicely to STD | ||
Ulti | azawawi cool, just installed it and had a play :3 | 12:28 | |
azawawi | moritz: Thanks for the patch. I will try it now | 12:29 | |
FROGGS | pmichaud: spectests do pass, and now I snaptest STD | ||
Ulti | I made the backend crash out but just restarting got it going again with the front end, maybe add a forked parent process to just restart the server? | 12:30 | |
12:30
colomon left
12:31
travis-ci joined
|
|||
travis-ci | Rakudo build failed. Moritz Lenz 'Avoid repeated concatenation (O(n^2)) in Str.trans' | 12:31 | |
travis-ci.org/rakudo/rakudo/builds/37679559 github.com/rakudo/rakudo/compare/6...952ec5da9c | |||
12:31
travis-ci left
|
|||
azawawi | Ulti: firefox is known to crash farabi6 btw... i use chromimum | 12:31 | |
Ulti | I'm on Chrome atm | ||
azawawi | paste the crash plz | 12:32 | |
Ulti | weird I did the exact same thing as before and the rakudo error message made it to the web interface instead of the server error output... hmm | ||
azawawi can't at the moment unless I setup an ssh tunnel through this airport wifi :S will post it once I get a chance | 12:33 | ||
FROGGS | TimToady: do we want to fix s/eval/EVAL/ and perhaps also throws_like in STD? | ||
azawawi | it is ajax requests so if the server crashes, the browser sometimes sends it again | ||
Ulti | azawawi: the final crash out was "failed: Unknown system error" after it kept failing to read a directory | ||
one of the temp ones created on a request for executing code | 12:34 | ||
FROGGS | >> Stage mast : Arg count 1 doesn't equal required operand count 2 for op 'push_s' | ||
moritz: does that ring a bell? | |||
azawawi | Util: Did you try to open a file? | ||
Ulti | ahhh I might have done with a blank field | ||
12:34
colomon joined
|
|||
azawawi | s/Util/Ulti/ :) | 12:35 | |
Ulti | anyway I realise you are mid hacking on this, I wanted more to say it looks really cool! | ||
azawawi | Ulti: thanks. Are you using linux or windows btw for running the server? | 12:36 | |
Ulti | OSX :) | ||
moritz | FROGGS: sorry, fixed | ||
dalek | kudo/nom: 04d0b9e | moritz++ | src/core/Str.pm: Fix build failure, FROGGS++ |
||
moritz | I forgot to 'git add' that fix before committing :( | 12:37 | |
12:37
JimmyZ left
|
|||
Ulti wanders off to catch a plane .o/ | 12:37 | ||
12:42
chenryn left
12:43
travis-ci joined
|
|||
travis-ci | Rakudo build passed. Moritz Lenz 'Fix build failure, FROGGS++' | 12:43 | |
travis-ci.org/rakudo/rakudo/builds/37680017 github.com/rakudo/rakudo/compare/9...d0b9e5d245 | |||
12:43
travis-ci left
|
|||
dalek | kudo/nom: d329723 | (Tobias Leich)++ | src/Perl6/Grammar.nqp: fix parsing of versions with more than one digit (major-version > 9) This fixes RT #116016; |
12:43 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116016 | ||
dalek | d: f214dca | (Tobias Leich)++ | STD.pm6: fix parsing of versions with more than one digit (major-version > 9) |
12:45 | |
12:49
immortal left
|
|||
dalek | ast: 2e4270c | (Tobias Leich)++ | S02-types/version.t: add test for RT #116016 (version literals) |
12:52 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116016 | ||
moritz | japhb: github.com/japhb/perl6-bench/pull/11 feedback welcome :-) | 12:58 | |
12:59
pmurias joined
|
|||
dalek | p-js: 55787b7 | (Pawel Murias)++ | TODO: Remove finished item from TODO. |
13:01 | |
pmurias | Ven: re nqp-js tasks for outsiders, writing more nqp tests requires little nqp-js knowledge and would help | 13:02 | |
Ven: a more interesting thing would be to come up with a good way to generate a unique filename the js code is put into before passing to node | 13:03 | ||
13:07
JimmyZ joined
13:13
yeahnoob joined
|
|||
moritz | pmurias: any areas in particular that need nqp tests? | 13:15 | |
dalek | rl6-bench: d2d7443 | moritz++ | / (3 files): string escape benchmark Perl 6 uses Str.trans exactly like JSON::Tiny::to-string does. The Perl 5 tr/// does not allow substitutions that lengthen the string, so that uses an (IMHO fairly idiomatic) s///g instead |
13:18 | |
rl6-bench: 997c920 | japhb++ | / (3 files): Merge pull request #11 from moritz/string-escape Add string escape benchmark |
|||
japhb | moritz: How's that for feedback? ;-) | ||
pmurias | moritz: I have a list of things in TODO in the nqp-js repo | 13:19 | |
japhb | (And FWIW, as soon as you pushed the original nom fixes, I put such a benchmark on my local TODO list. I'm extremely happy to see someone write a benchmark for the bottleneck they just found. :-) | 13:20 | |
moritz: Also, you now have a commit bit. :-) | 13:21 | ||
moritz | japhb: thanks for both | ||
fwiw I have one more idea for how improve tr// | 13:22 | ||
erm, Str.trans | |||
currently it caches one next match | |||
but it should really cache one next per matcher, to avoid duplicating the matching | |||
*one next match per matcher | |||
pmurias: did you see that 59-nqpop.t has tests for nqp::split? | 13:24 | ||
13:26
colomon left
|
|||
dalek | p: cdf4639 | moritz++ | t/nqp/19-file-ops.t: basic nqp::eoffh tests |
13:27 | |
moritz | oh, specifically with the empty string | ||
pmurias | moritz: I pass most of test 59, it's the '@arr[1] := NQPMu;' line that nqp-js can't support | 13:32 | |
13:32
colomon joined
|
|||
nine | laben: yes | 13:32 | |
13:32
xinming_ joined
|
|||
pmurias | I'm working on sixmode/deserialization now so that should soon change | 13:32 | |
food& | |||
colomon | moritz: reran smoke with your changes, every module still works. moritz++ | 13:35 | |
13:35
xinming left
13:36
tinyblak_ left
|
|||
jnthn | github.com/jnthn/oo-monitors | 13:37 | |
laben | nine: with rakudo from 5h ago, a test from Inline::Perl5 fails. it's inherit.t | 13:38 | |
dalek | osystem: b245c2f | jonathan++ | META.list: Add OO::Monitors. |
13:39 | |
p: c648263 | moritz++ | t/nqp/59-nqpop.t: Tests for split with empty string |
13:41 | ||
moritz | nqp-m: say(nqp::isstr(52)) | ||
camelia | nqp-moarvm: OUTPUT«0» | ||
pmichaud | FROGGS++ # fixing rakudo / std version numbers | 13:46 | |
timotimo | i should perhaps stop playing around with adding new stuff to my "game" %) | 13:47 | |
but it's just so fun! | |||
pmichaud | r: say v10.4.2 > v10.4.1 | 13:48 | |
camelia | rakudo-moar d32972: OUTPUT«Cannot call 'Real'; none of these signatures match::(Mu:U \v: *%_) in sub infix:<>> at src/gen/m-CORE.setting:4525 in block <unit> at /tmp/tmpfile:1» | ||
..rakudo-parrot d32972: OUTPUT«Cannot call 'Real'; none of these signatures match::(Mu:U \v: *%_) in any at gen/parrot/BOOTSTRAP.nqp:1226 in method Real at gen/parrot/CORE.setting:1113 in sub infix:<>> at gen/parrot/CORE.setting:4529 in sub infix:<>> at gen/parrot/…» | |||
pmichaud | oh well :-/ | ||
FROGGS | r: say v10.4.2 cmp v10.4.1 | ||
13:48
bob__spoonmongle joined
|
|||
camelia | rakudo-{parrot,moar} d32972: OUTPUT«More» | 13:48 | |
jnthn | r: say v10.4.2 - v10.4.1 | ||
camelia | rakudo-moar d32972: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \v: *%_) in sub infix:<-> at src/gen/m-CORE.setting:4463 in block <unit> at /tmp/tmpfile:1» | ||
..rakudo-parrot d32972: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \v: *%_) in any at gen/parrot/BOOTSTRAP.nqp:1226 in method Numeric at gen/parrot/CORE.setting:1108 in sub infix:<-> at gen/parrot/CORE.setting:4467 in sub infix:<-> at gen/p…» | |||
jnthn | Though so :) | ||
13:49
azawawi left
|
|||
gtodd | m: ((1, 2), (3, 4), (5, 6)).flat.elems.say | 13:49 | |
camelia | rakudo-moar d32972: OUTPUT«6» | ||
gtodd | m: ((1, 2), (3, 4), (5, 6)).map(*).elems.say | 13:50 | |
camelia | rakudo-moar d32972: OUTPUT«3» | ||
gtodd | :-| | ||
13:50
bob_spoonmongler left
|
|||
jnthn | OK, who wants to write the JS to give the Moar profiler a flame graph like this one? :) | 13:51 | |
We have the raw data... :) | |||
TimToady | do we have a p6-to-js translator :) | ||
moritz | jnthn: I was thinking about that just this morning | ||
(that doesn't mean I'll do it... just considering it) | 13:52 | ||
nine | laben: ok, will update Rakudo and test here. The test passes without problems on my machine. | 13:53 | |
dalek | p: 911da7b | moritz++ | t/nqp/85-type-tester.t: Tests for nqp::is{int,num,str}, as requested by pmurias++ |
||
13:53
azawawi joined
13:54
pdcawley left,
tinyblak joined
|
|||
nine | laben: might take a while. panda rebootstrap is failing :/ | 13:56 | |
jnthn | About the frame graph - since we profile allocations we can use color to indicate allocation hot points ;) | ||
nine | ==> Fetching File::Find | ||
No such method 'cleanup' for invocant of type 'Str' in sub local-fetch at /home/nine/install/panda/lib/Panda/Fetcher.pm:46 | |||
jnthn | *flame | ||
laben | nine: let me test that too | ||
FROGGS | ohh, an IO::Path/Spec issue... | ||
jnthn | Also, we *do* produce a JSON blob and so actually could have it so you click and get a sub-graph. | 13:57 | |
Darn, I want it enough to implement it now, if nobody else is interested. :) | |||
lizmat | nine: checking | ||
13:57
firefish5000 left
|
|||
FROGGS | jnthn: you could it present in a lightning talk if you are fast *g* | 13:57 | |
13:58
pdcawley joined
|
|||
jnthn | I did actually ponder that, but there's not quite enough time to do it :P | 13:58 | |
FROGGS | I just ask enough question that you get your time :o) | ||
timotimo | i will call this "presentation-ready" now. "compo version" i guess | ||
laben | nine: works fine here, did you update panda? | 13:59 | |
nine | oh, stupid me | ||
Sorry for the alarm. Updated panda bootstraps just fine. | |||
14:00
bob__spoonmongle left
|
|||
lizmat | well, OpenSSL failed to rebootstrap for me :-( | 14:00 | |
nine | laben: inherit.t still passes just fine | 14:01 | |
laben | lizmat: works fine here, both with banda and manually | ||
moritz | thinking out loud about a potential replacement for feather ... | ||
laben | s/banda/panda/ | ||
moritz | when I had my job interview with my current employer (2+ years ago), they offered to host some perl 6 websites for free, if I wanted that | 14:02 | |
so, maybe I could convince them to give as a VM for free | |||
or, I might convince them to let me put a 1 HE server into one of their racks | |||
if that were the case, would anybody donate a 1 HE server for that purpose? | 14:03 | ||
it's likely that that would give us much more power than a VM | |||
colomon hits google to see what a 1 HE server is | |||
nine | colomon: 1U | 14:04 | |
colomon: a pizza box | |||
14:04
tinyblak left
|
|||
moritz | sorry yes, I'm used to the German wording | 14:05 | |
14:05
cognome joined
|
|||
laben | nine: if i run t/inherit.t manually it works but still says Looks like you planned 8 tests but ran 5 | 14:05 | |
moritz | www.ebay.de/itm/like/130942134087?l...mp;viphx=1 | ||
something like that | |||
www.ebay.de/itm/like/140802546547?l...mp;viphx=1 a bit larger | |||
nine | laben: that sounds like a segfault | ||
laben: can you run it in gdb and give me a backtrace? | 14:06 | ||
moritz | (seems both of these have raid, but not discs, so might need extra stuff) | ||
laben | nine: how can i do that? | ||
colomon | don't suppose we could run purchase of a server through the Perl Foundation to make it tax deductable? | ||
FROGGS | moritz: I can donate to it if that would be fine | ||
14:06
cognome left,
cognome joined
|
|||
colomon | but yeah, could kick in a bit towards a better server for p6 | 14:07 | |
nine | moritz: I have a private i7 with a couple GiB RAM free sitting around idling hosted at Hetzner | ||
moritz | FROGGS: that would be great; then I'll ask my employer about that next week | ||
nine | laben: perl6 is just a shell script starting moarvm. So on my system the command to run gdb is: | 14:08 | |
moritz | nine: sounds good too; would you be willing to give lots of people access to it? | ||
nine | gdb --args /home/nine/install/rakudo/install/bin/moar --execname="$0" --libpath="/home/nine/install/rakudo/install/languages/nqp/lib" --libpath="/home/nine/install/rakudo/install/languages/perl6/lib" --libpath="/home/nine/install/rakudo/install/languages/perl6/runtime" /home/nine/install/rakudo/install/languages/perl6/runtime/perl6.moarvm -I lib t/inherit.t | ||
laben | nine: thanks, i was investingating just that | ||
nine | moritz | ||
14:08
ghostlines left
|
|||
laben | nine: welp, what a big cmdline | 14:09 | |
nine | moritz: yes. | ||
14:09
Hor|zon joined
|
|||
nine | moritz: setting up a VM for perl6 folks might be a good idea | 14:09 | |
moritz | nine: (FTW, feather currently has 119 homes and about 30 sudoers) | ||
14:11
cognome left
|
|||
laben | nine: inside gdb then i do "run" and then "bt", right? | 14:13 | |
14:13
Hor|zon left
|
|||
nine | laben: yes | 14:14 | |
laben | nine: gives me "No stack." | ||
14:14
tinyblak joined
|
|||
nine | laben: does it say "exited normally" before that? | 14:14 | |
laben | nine: no, it says Inferior 1 exited with code 0377 | 14:15 | |
FROGGS | btw, I usually replace --execname="$0" by --execname="perl6" in the gdb line so that tests that shell() out work too | ||
nine | FROGGS: oh yes, of course. I did that once and usually just use bash history to dig it out again. | ||
laben | FROGGS: did that, too, to no avail | 14:16 | |
nine | laben: I'm confused. Can you paste the complete output of your run somewhere? | ||
FROGGS | sure, just want to mention it :o) | ||
laben | nine: oh actually i saw just now that perl6 does say something about an unhandled exception | ||
nine | laben: details? | 14:17 | |
laben | nine: coming up right now | ||
nine: pastebin.com/hrP9KzzE | 14:19 | ||
14:20
anaeem1_ left
14:22
anaeem1 joined,
tinyblak left
|
|||
laben | nine: this is the gdb run pastebin.com/gm1wFybV | 14:22 | |
nine | laben: oh, that's the hint: ok 1 - # SKIP Perl 5 Moose module not available | 14:23 | |
laben | ok, but htese 5 are skipped alright | 14:24 | |
the remaining 3 are not run | |||
dalek | line-Perl5: 5d1368f | nine++ | t/inherit.t: Fix t/inherit.t failing again if Moose is not installed |
||
nine | laben: sorry for that one. I added a comment to the plan line to remind me of the skip line for the next time... | ||
laben | oh, the last 3 too required moose | ||
nine: i should apologize to you, i should have read the code and seen the trivial problem, dammit | 14:25 | ||
nine | laben: technically those tests don't require Moose. Maybe I should rip out the tests that really depend on Moose so I only have to skip those. | 14:26 | |
14:26
pecastro joined
|
|||
laben | all fine now :) | 14:26 | |
moritz | maybe put them into a separate test file | 14:27 | |
that makes it much easier to selectively skip | |||
nine | moritz: that's what I meant | ||
moritz: but before that I'd really like to find some test that reproduces the segfault I already have a fix for | |||
moritz | I thought "rip out" was "remove entirely" | ||
laben | nine: if i can help you reproduce it | 14:28 | |
nine | moritz: second conference day....I'm already quite tired :) | ||
14:29
Sqirrel left
|
|||
moritz | nine: don't need to tell a father of 2 about being tired :-) | 14:30 | |
TimToady | or 4 :) | ||
moritz | or even of one, actually | ||
TimToady | "One kid takes all your time; two can't take any more of it..." | ||
FROGGS | jnthn: that's the flamegraph producing script: github.com/brendangregg/FlameGraph...megraph.pl | 14:32 | |
nine | laben: the segfault I'm trying to provoke is a purely Perl 5 problem. I'm telling av_extend to extend an array by -1 elements which cannot work. But P5 survives it during my tests anyway. Just not during my talk :) | ||
14:34
bob_spoonmongler joined
|
|||
FROGGS | jnthn: we should get away with our SVG module... it seems we don't need much more | 14:34 | |
dalek | osystem: 7ce0d40 | jonathan++ | META.list: Update META.list |
||
nine | FROGGS: reminds me that I should push my fix for SVG somewhere | ||
colomon | actors up now too? \o/ | 14:35 | |
FROGGS | nine: where somewhere ends with "/pulls"? :o) | ||
jnthn | colomon: yes | ||
Ven | pmurias: what's the big idea with generating file names? | ||
colomon | jnthn++ | ||
14:35
BenGoldberg joined
|
|||
jnthn | FROGGS: No no no, all the profile visualisation stuff is written in JavaScript :) | 14:36 | |
FROGGS: We "just" need to turn the JSON blob into...something | |||
I was pondering a HUGE table :D | |||
'cus, well, it's a cell-based thing :) | |||
FROGGS | jnthn: well, one could read that script and port it to JS :o) | 14:37 | |
colomon | jnthn: panda builds OO::Monitors for me now, \o/ | ||
jnthn | colomon: phew :) | ||
nine | FROGGS: oh I meant SVG::Plot | ||
jnthn | FROGGS: ah, true :) | ||
FROGGS | jnthn: but yeah, it might be easier and faster to just write it from scratch | ||
jnthn | FROGGS: I think I want to use color of allocation hotness too :) | 14:38 | |
dalek | k-simple: 3206652 | (Timo Paulssen)++ | lib/GTK/Simple.pm6: can disconnect draw handlers |
||
moritz | nine: you have a commit bit for both svg and svg-plot now | 14:39 | |
pmurias | Ven: currently ./nqp-js -e 'say("Hello World")' saves the code to tmp.js; and runs node tmp.js | ||
nine | moritz: oh, excellent. Thanks! | ||
Ven | oh! | ||
github.com/perl6/gtk-simple/commit...56efe5R293 haha timotimo++ | 14:40 | ||
FROGGS | say "stop idling!"; ? | ||
mauke | use INTERCAL; say "Please stop idling"; | 14:41 | |
14:43
Sqirrel joined,
anaeem1 left
14:44
bob__spoonmongle joined
14:45
bob_spoonmongler left
|
|||
nine | moritz: fix pushed :) | 14:46 | |
moritz | nine: takk | 14:49 | |
FROGGS | at all in the hall: do some "uhh"s and "ahh"s when there are nice things to see now.. | 14:50 | |
14:52
zakharyas joined
|
|||
FROGGS | timotimo++ \o/ | 14:52 | |
nine | timotimo: epic lightning talk! | ||
pmichaud | timotimo++ | 14:53 | |
jnthn | timotimo++ # awesome | ||
14:53
laben left
|
|||
colomon | ack, what was it? | 14:55 | |
jnthn | colomon: A game involving space, shooting, and explosions :) | ||
mauke | pew pew pew | 14:56 | |
colomon wishes he were there. though it is exceedingly beautiful here at his parents' house this morning. | |||
colomon waits for the game to be posted online. :) | |||
and timotimo++ | |||
14:56
esaym153 left
14:57
anaeem1_ joined
|
|||
rindolf finally heard back from fglock about Perlito. | 14:57 | ||
FROGGS | Ven++ # well done! | 14:58 | |
14:58
laben joined,
laben left
14:59
gfldex joined
|
|||
nine | Damn those interesting lightning talks...not much time for coding :) | 15:02 | |
jnthn | :) | ||
Ven | why am I so stressed all the time :o) | 15:03 | |
timotimo++ | |||
15:04
esaym153 joined
15:05
cognome joined
|
|||
timotimo | \o/ | 15:06 | |
i was quite nervous %) | |||
github.com/timo/gtk_cairo_shooter ← the real repository | 15:07 | ||
15:07
bob_spoonmongler joined,
cognome left
|
|||
nine | timotimo: didn't show :) | 15:07 | |
15:07
cognome joined
|
|||
Ven | agreed | 15:07 | |
timotimo | \o/ | 15:08 | |
15:09
bob__spoonmongle left
|
|||
timotimo | developers developers developers developers | 15:11 | |
15:12
cognome left
|
|||
timotimo | i am loving this talk | 15:13 | |
Ven doesn't know this talk | 15:14 | ||
timotimo | the one we're seeing right now | ||
i didn't know it before | |||
but i already love it | |||
azawawi | any live feed? | 15:17 | |
timotimo | no :( | ||
15:20
Ven left
15:21
lizmat left
15:23
woolfy left,
woolfy1 joined
15:25
leont_ left
15:26
mauke left
15:28
pepl left
15:29
anaeem1_ left
|
|||
gtodd | timotimo was pushing to the GTK::Simple during the lightning talk? ! | 15:29 | |
^repo | 15:30 | ||
15:34
Brian_ joined,
ghostlines joined
15:37
woolfy1 left
15:45
guru joined
15:46
guru is now known as Guest43549
|
|||
azawawi | pasteboard.co/RyTWNQi.png # initial implementation of the Perl 6 REPL UI in farabi6 | 15:47 | |
15:48
Guest43549 is now known as ajr_
15:49
Ven joined
|
|||
Ulti | does Int.roll() coerce to a single element list or something? | 15:51 | |
davido__ | Discovered mention that Perl6 regexes are inspiration for C++'s Boost "xpressive". But unfortunately the link that shows how Perl6 inspired the library points somewhere that no longer exists... | 15:52 | |
www.boost.org/doc/libs/1_56_0/doc/h...ssive.html | |||
...points to dev.perl.org/perl6/doc/design/syn/S05.html | |||
Ulti | I was kind of expecting Int.roll() to be like Int.rand() but whole numbers | ||
davido__ | Perhaps we could put page that redirects so as not to lose the positive press. | ||
15:54
leont_ joined
|
|||
dalek | p-js: 76bffd1 | (Pawel Murias)++ | src/vm/js/ (5 files): Pass test 53. Implement more knowhow metaobject stuff, nqp::knowhowattr op. |
15:55 | |
15:56
zakharyas left
|
|||
timotimo | gtodd: right before and right after | 15:56 | |
pmurias | if I want to move (rebase?) nqp-js to a current version of nqp what would be a good way to do this | ||
? | |||
jnthn: and what point to you think it would make sense to move nqp-js to the main nqp repo? | 15:57 | ||
moritz | pmurias: just my 2 cents: when it passes maybe 30% or more of the nqp test suite, and doesn't interfere with the rest of the bulid system | 15:58 | |
JimmyZ | bootstrap? | 15:59 | |
moritz | pmurias: and as branch (non-master) right now | ||
16:01
JimmyZ left,
flaviusb left
|
|||
timotimo | i'm sometimes confused what to put into "is native" | 16:02 | |
/usr/lib64/libgobject-2.0.so - it doesn't seem to like "gobject-2.0" :( | 16:03 | ||
FROGGS | timotimo: yes, the library detection isnt perfect yet, which does not make it easier | ||
timotimo | right :( | 16:04 | |
FROGGS | timotimo: because of the dot, aye | ||
more problematic is libfoo.so.6.3.0 | |||
timotimo | oh? so if i "gobject-2" it could work? | ||
FROGGS | timotimo: no | ||
timotimo | "libgobject-2"? | ||
i'm trying to help ven run my crap on his mac | 16:05 | ||
FROGGS | but it does not even try to add .so because you already passed it a file extension | ||
".0" | |||
moritz | .o.o.O :-) | ||
FROGGS | so, you can make the libname conditionally depending on $*DISTRO.name or so | ||
timotimo | d'oh | ||
FROGGS | and apply that trait separately | ||
timotimo | ven can do that by himself :P | 16:06 | |
FROGGS | sub foo { ... }; &foo does native($libname); or some such | ||
Ven | means I have to clone it locally... | ||
timotimo | is anything planned for tonight's dinner? | ||
pmurias | and hints how I should rebase(?) nqp-js on top of current nqp? | ||
moritz | pmurias: I'd merge; rebasing would likely be too much work | 16:07 | |
16:07
cognome joined
|
|||
FROGGS | here is how to apply the trait: github.com/sergot/io-socket-ssl/bl...SL.pm6#L13 | 16:08 | |
timotimo: aye, the Imlauer at 7 | |||
pmurias | moritz: too much work? you mean handling merge conflicts? | ||
FROGGS | that's where we were on Thursday | ||
moritz | pmurias: yes | ||
timotimo | ah, OK | ||
16:09
cognome left
|
|||
FROGGS | pmurias: you can also copy your nqp-js over a nqp checkout, and look at the diff and commit piece by piece | 16:09 | |
timotimo | jnthn: BTW, i was wrong about the "99.9% of time spent in postcircumfix:<( )>" | ||
16:09
cognome joined
|
|||
FROGGS | like, commit the srv/vm/js first, then build stuff, and so on | 16:09 | |
pmurias: though, dunno if you like to keep your commits visible | |||
pmurias | that would destroy the commits history | 16:10 | |
moritz: nqp-js is mostly in seperate files (there are like 2-3 commits that change a shared file) | |||
16:10
Hor|zon joined
|
|||
Ven | is the convention `<+alpha-digit>` or `<+alpha -digit>` or...? | 16:11 | |
timotimo | jnthn: postcircumfix:<( )> seems to take 18.66% exclusive time and leads the ranking | ||
then comes bind from m-bootstrap, line 2604 and then 1862 of m-bootstrap | |||
FROGGS | m: say "1a" ~~ /<+alpha -digit>+/ | ||
Ven | FROGGS: I know it *works* | ||
timotimo | then infix:<*> and then bind_one_param | ||
camelia | rakudo-moar d32972: OUTPUT«「a」» | ||
Ven | I'm wondering how I *should* write it | ||
FROGGS | Ven: alpha-digit is a name on its own | ||
Ven | whether I should put spaces or not | 16:12 | |
FROGGS: actually, no | |||
FROGGS | you have to in this case | ||
O.o | |||
but it probably should | |||
Ven | +alpha-digit works | ||
FROGGS | hmmm | ||
Ven | probably, yes! | ||
FROGGS | that might not be how it is meant to be | ||
16:12
lizmat joined
|
|||
FROGGS | std: say "1a" ~~ /<+alpha-digit>+/ | 16:12 | |
camelia | std f214dca: OUTPUT«ok 00:01 143m» | ||
FROGGS | let's run it in viv | 16:13 | |
Ven | m: say 'a' ~~ /<+alpha-digit>/; say '0' ~~ /<+alpha-digit>/ | ||
16:13
cognome left
|
|||
camelia | rakudo-moar d32972: OUTPUT«「a」Nil» | 16:13 | |
FROGGS | │ │ │ .: &4 !!perl/hash:VAST::identifier | ||
│ │ │ TEXT: alpha-digit | |||
Ven: std agrees with me | |||
nine just arrived at the preconfrestaur^H^H^H^H^H restaurant | |||
FROGGS | so it is an LTM bug in rakudo/nqp | ||
Ven | FROGGS: I'm not talking about how it *should* be ;). We agree on that one | 16:14 | |
So, <+alpha - digit> ? | |||
FROGGS | yes | ||
nine | Buergerstube | ||
timotimo | nine: there already? | ||
is that the imlauer? | |||
16:14
woolfy joined
|
|||
FROGGS | nine: is that the Imlauer Biergarden? | 16:14 | |
16:14
Hor|zon left
|
|||
timotimo | i'll AFK for a bit and maybe be late for the nom place | 16:15 | |
nine | timotimo: yes | ||
16:15
spider-mario left
|
|||
FROGGS | timotimo: me too, I need some sort of rest | 16:15 | |
16:15
anaeem1_ joined,
Brian_ left
|
|||
woolfy | No rest for the wicked! | 16:15 | |
nine | nothing else to do :) | 16:16 | |
FROGGS | woolfy: so am I "verrucht"? :D | ||
woolfy | For some reason, I'm not very hungry... Cookies, bananas, cake, big lunch, juices, etc... | ||
Ven | :) | ||
cooookies | |||
leont_ is in favor of resting too | 16:17 | ||
16:17
Brian_ joined
|
|||
woolfy | Perl programmers (and all other programmers) work best when they have a supply of cookies. Not just the promise of it... | 16:17 | |
FROGGS | Ven: you can also show <+alpha-digit>, but then better as <+long-named-rule> | 16:18 | |
Ven | mh. | ||
well anyways.. | |||
are there tests for nativecall's "guess_library_name"? | 16:19 | ||
16:19
spider-mario joined
|
|||
FROGGS | Ven: no | 16:19 | |
Ven | maybe I should write some, then? | ||
woolfy | FROGGS: verrucht? Maybe verrückt, just a little bit, like all of us. | 16:20 | |
jnthn | timotimo: Any chance you can upload the profile somewhere? :) | ||
FROGGS | Ven: that's factored out since three weeks or so... that was inlined in the Native role | ||
Ven | jnthn: after his shower, I'm sure. | ||
FROGGS | woolfy: hmmmm, okay :/ | ||
Ven | FROGGS: okay, then I'll just add a test file, should be fine | ||
erm... but it should probably have a low number – do I rename the other ones? | 16:21 | ||
FROGGS | Ven: how does that work cross-platform-ish? | ||
woolfy | But you must be a little bit verrucht too. I feel the dark side is growing in you! | ||
Ven | FROGGS: my $*OS = 'MSWin32'; ... | ||
FROGGS | *g* | ||
Ven | :-) | ||
FROGGS | Ven: that does not check for file existence? | 16:22 | |
Ven | no | ||
jnthn | Ven: np, I'm going to dinner soon anyway :) | ||
FROGGS | fine :o) | ||
Ven | FROGGS: my issu is – how do I name the test file? Or do I just add it to other test files? Because it should probably be 02 or 03 or something - it's the basics. | ||
dalek | p: 89f9209 | (Pawel Murias)++ | Configure.pl: Enable --no-clean option in Configure.pl. |
||
Ven | but there are already t02 and t03 | 16:23 | |
FROGGS | Ven: I'm not sure that ordering is that important | ||
Ven | FROGGS: well. The tests from GTK::Simple will actually fail in t02 on mac without my fix. sooo... | ||
having tests proving stuff that's already proved (and was with a worse error message) seems suboptimal | 16:24 | ||
FROGGS | Ven: ask jnthn for his opinion... I don't have any :o) | ||
Ven | jnthn: opinions? I want to add tests for nativecal''s "guess_library_name", but i'm not sure which test file to add them in | 16:25 | |
FROGGS | Ven: why not call it 00? | ||
16:25
ajr_ left
|
|||
Ven | ha :P | 16:25 | |
FROGGS | 00-libname | ||
jnthn | Ven: Sounds like maybe a separate test file? | ||
Ven | jnthn: yes. But which number? | ||
jnthn | Ven: Any reason not to put them on the end? | ||
Ven | jnthn: because it would have failed earlier with suboptimal messages already | 16:26 | |
jnthn | The current ordering is "what order stuff got implemented" | ||
Ven: But "make test" runs everything anyway... | |||
Ven | on my machine it fails in t02 | ||
jnthn | And the first one will have scrolled away by then | ||
So not sure it matters a great deal | |||
Ven | well, maybe, but in panda, it's probably better to have the correct error message | ||
FROGGS | Ven: panda does also run all tests | 16:27 | |
jnthn | Oh, does it care for fist failure somehow? | ||
FROGGS | no | ||
Ven | no it doesn't. it stops after the first fail here... | ||
jnthn | oh, I should probably get ready to meet folks for dinner... | ||
FROGGS | weird | ||
jnthn | uh, *first* failure | ||
Ven | t01-sanity, and then it stops. no output from the others | ||
FROGGS | that feels suboptimal :o) | 16:28 | |
jnthn | & | ||
lizmat also & | |||
16:29
woolfy left,
kurahaupo_ left
|
|||
Ven | oooh, apparently it does run all tests. gtk::simple just only has one test file :o) | 16:30 | |
FROGGS | *g* | ||
16:32
woolfy joined
16:33
_slade_ joined
|
|||
Ven | mmh. means I need it to be an "our" sub... | 16:35 | |
nine | WTF? make test works, but !make test called from vim ends in a panic: MUTEX lock in one test file | ||
FROGGS | or better 'is export' like the others | ||
timotimo | jnthn: i just ran it again with a slightly longer-running run | 16:36 | |
now the postcircumfix:<( )> time is back up to 30% | |||
azawawi | is there is an argument for perl6 to force starting the REPL instead of reading from stdin? | ||
perl6 --repl or something | 16:37 | ||
timotimo | er ... | ||
azawawi | i need to read/write via Proc::Async to $*EXECUTABLE | ||
pmurias | moritz: rebase worked with one merge conflict | ||
16:37
kaare__ joined
|
|||
timotimo | did i just ... upload a file with 5.7 MB/s ... through the hotel wifi? | 16:38 | |
16:38
anaeem1_ left
|
|||
timotimo | jnthn: t.h8.lv/cairo_shooter.html | 16:38 | |
Ven | m: { temp $*VM; $*VM.config<dll> = 'foooo'; say $*VM.config<dll>; }; say $*VM.config<dll> | ||
camelia | rakudo-moar d32972: OUTPUT«Can only use 'temp' on a container in sub prefix:<temp> at src/gen/m-CORE.setting:18663 in block <unit> at /tmp/SA_dJwwl1t:1» | ||
16:40
yeahnoob left,
kaare_ left
|
|||
moritz | timotimo: scp often shows way-too-high bandwith numbers at the start of a copy operation (and consequently for small files) | 16:41 | |
nine | timotimo: it tells you how fast it can push data into your network stack's buffers | 16:42 | |
16:43
pecastro left
|
|||
timotimo | mhm mhm | 16:43 | |
i was able to immediately ctrl-d, though | |||
Ven | mmh. I need to override $*VM.config<dll> and for that I also need to remove $*VM.config<load_ext>. temporarily. Then restore these values. Is there a better solution rather than just saving the old in variables, changing 'em, then restoring em? | 16:45 | |
dalek | line-Perl5: ac78b77 | nine++ | p5helper.c: Fix segfaulting on exceptions in P5 functions. If a P5 function or method doesn't return any values or gets interrupted by an exception, we called av_extend with a negative count. Strangely enought this doesn't bother Perl 5, except when doing this during a presentation. The only known test case is starting a Catalyst application when the port is already taken. Failed to provoke it under any other circumstances, hence no tests for this. The failure condition occurs in many tests but never leads to an explosion. |
16:48 | |
pmurias | if I push my rebase nqp-js with 'git push -f' will much bad stuff happen? | 16:49 | |
16:50
zakharyas joined
|
|||
Ven | nine++ | 16:51 | |
tony-o | timotimo: does compiling them at different times account for a different byte count? the one compiled by panda is invariably 4 bytes longer | ||
timotimo | yes, actually | ||
a different path | |||
the file name is part of the serialized file | |||
tony-o | if i install with panda and then manually create the compiled module of same name, it's 4 bytes shorter | 16:52 | |
without fail | |||
16:52
anaeem1 joined
|
|||
timotimo | t.h8.lv/game_jitlog.txt if anybody cares to implement moar ops that can be jitted :P | 16:53 | |
azawawi | is there a perl6 command or option to invoke the REPL directly? when it is read using Proc::Async, it assumes reading from stdin and waits for EOF to parse the script and thus it does not enter the interactive REPL. | 16:54 | |
moritz | it does not? | 16:56 | |
maybe it looks if STDIN is connected to a terminal? no idea | 16:57 | ||
tony-o | timotimo: github.com/tony-o/perl6-pandapack/...dapack.pm6 if i compile this file with panda, it doesn't function properly. if i remove the .moar file then it works fine. if i manually build the .moar then it also works fine | ||
moritz | but should be fairly easy to add | ||
timotimo | er, wat? :( | ||
moritz | I think there are known problems with precompilation | ||
tony-o | i'll put up a gist, one second | ||
azawawi | moritz: my script works if it is irb or reply but not on perl6 | ||
timotimo | perhaps linenoise is looking at "is stdin a tty?" | 16:58 | |
16:58
colomon left,
shoky joined
16:59
Ven left,
Brian_ left,
colomon joined
17:01
pecastro joined
17:03
chipotle left
17:05
guru joined,
guru is now known as Guest68170
17:07
cognome joined
|
|||
timotimo is going to re-profile with the changes he just put into moarvm | 17:07 | ||
17:08
Ven joined
17:09
zakharyas left
17:10
anaeem1 left
|
|||
timotimo | yup. postcircumfix:<( )> now has a tiny bit of green | 17:10 | |
17:11
uvtc joined,
cognome left
|
|||
tony-o | oh i see, i had the wrong compiled name. the compiled unit just doesn't work.. moritz was that problem with precompilation directed at me? | 17:12 | |
moritz | tony-o: at you and timotimo, yes | ||
timotimo | oh | 17:13 | |
moritz | somehow the "call graph" section in the profiler output rarely shows useful information | 17:14 | |
Ven | FROGGS/moritz: can you look at my zavolaj PR? | 17:15 | |
timotimo | moritz: you just have to find the stuff you're looking for. | 17:16 | |
dalek | Heuristic branch merge: pushed 363 commits to nqp-js by pmurias | ||
timotimo | and click through endless layers of "sink reify gimme anon reify gimme anon reify gimme anon" | ||
tony-o | interesting ^ i'll just delete the .moarvm and forge ahead, thank you | ||
moritz | timotimo: moritz.faui2k3.org/tmp/profile-to-j...#callgraph just one under "callees" | ||
pmurias did a git push -f so I somebody has a checkout of nqp-js it might cause a bit of annnoyance | 17:17 | ||
moritz | timotimo: but if you look at the Routines tab, there are lots of interesting methods that I'd like to know of where tehy are called from | ||
uvtc | Hi, #perl6. Is the GLR expected to change how lists (and related objects) are used by Perl 6 users, or is it more of an implementation detail? | ||
yoleaux | 15 Mar 2014 05:36Z <moritz> uvtc: I've disabled wiki.perl6.org | ||
uvtc | Thanks, yoleaux, I haven't been around in a while. :) | ||
timotimo | moritz: aye ; maybe at some point i'm going to build a "tree" output mode for the "call graph" section | ||
TimToady | uvtc: mostly supposed to be transparent | 17:18 | |
uvtc | Ah, thanks, TimToady. | ||
moritz | Ven: why <alpha-digit>? <alpha> doesn't include digit, afaict | ||
17:19
Mso150 joined
|
|||
Ven | moritz: ask timo :o) | 17:19 | |
moritz asks timotimo | |||
17:19
BenGoldberg left
|
|||
moritz | Ven: can you test with with just <.alpha> ? | 17:20 | |
Ven | moritz: it works. | ||
moritz | Ven: then please simplify it | ||
Ven | moritz: it's alreaady done and pushed | ||
:-) | |||
moritz | Ven: thanks | 17:21 | |
dalek | volaj: 147cdf0 | Nami-Doc++ | lib/NativeCall.pm6: Fix library name parsing of libfoo-2.0 |
||
volaj: 97863bb | moritz++ | lib/NativeCall.pm6: Merge pull request #48 from Nami-Doc/master Fix library name parsing of libfoo-2.0 |
|||
timotimo | hum? | 17:22 | |
moritz | timotimo: so it only lists callees that have just one caller? | ||
(re profiling) | |||
17:23
_slade_ left
|
|||
timotimo | er, what? | 17:23 | |
17:24
denis_boyun joined
|
|||
timotimo | oooh | 17:24 | |
Ven | okay, I give up. | ||
Can't fight with p6 imports and stuff. annoyin | |||
g*. | 17:25 | ||
17:25
BSc_tadzik is now known as tadzik
|
|||
timotimo | the call graph doesn't show you all the callees of a given frame all throughout the program | 17:25 | |
moritz | timotimo: what does it show? | ||
17:27
Brian_ joined
|
|||
timotimo | the callees "at that depth" only | 17:28 | |
Ven | I seriously need an explanation on how the hell the module system works. Why is a "our sub is export" not available, either bare-named after USEning the module, or in a qualified names? | 17:29 | |
timotimo | like if you have a sub a that calls sub a ten frames deep and then sub b | ||
you'd have to click on the "a" in the callee list 9 times to see b show up | |||
azawawi | github.com/azawawi/farabi6/blob/91...c_async.pl # test script for various REPLs.. pry (ruby) and reply (perl) work, perl6, python do not work | ||
uvtc | In the [feature comparison](perl6.org/compilers/features), under | 17:30 | |
built-in types, what does "LoL" refer to? This can't just mean lists of lists, does it? | |||
TimToady | a special type for multi-dim subscripts | ||
dalek | p-js: ae3fcf1 | (Pawel Murias)++ | t/nqp/59-nqpop.t: Fix test count. |
17:31 | |
p-js: eb14e33 | (Pawel Murias)++ | t/nqp/59-nqpop.t: Add a test for nqp::unshift. |
|||
p-js: be1566a | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: Implement nqp::unshift. |
|||
TimToady | m: my @a = [<a b c>], [<d e f>], [<g h i>]; say @a[*;1] | ||
camelia | rakudo-moar d32972: OUTPUT«b e h» | ||
TimToady | that *;1 is a LoL | ||
m: say (1,2,3; 4,5,6; 7,8,9).WHAT | |||
camelia | rakudo-moar d32972: OUTPUT«(LoL)» | ||
dalek | kudo-star-daily: 4c447bf | coke++ | log/MoarVM-version.log: today (automated commit) |
17:32 | |
rl6-roast-data: 8add4e2 | coke++ | / (4 files): today (automated commit) |
|||
uvtc | Thanks. How would one make an "old fashioned" list of lists? Like Python's [[1, 2, 3], [4, 5, 6]]? | ||
TimToady | that works | ||
but you can use a LoL that way too, generally | |||
m: say (1,2,3; 4,5,6; 7,8,9)[1] | |||
camelia | rakudo-moar d32972: OUTPUT«4 5 6» | ||
TimToady | it's just special so the subscript operator knows multi-dim was intended | 17:33 | |
uvtc | Thank you. Will look again at the docs. | ||
leont_ is somewhat rested and will go to food/people now | |||
peteretep | lizmat: I had not looked at S22, but I will, thanks | 17:35 | |
timotimo | leont_: wait for us? | ||
leont_ | Sure, how long? | 17:36 | |
peteretep | lizmat: My understanding is that that describes exclusively what an archive file containing Perl6 modules should look like is | 17:37 | |
lizmat: Where I am much more interested in the design of the "Pause" part of it | 17:38 | ||
lizmat: Which will have an indexer which of course will need to make use of that info in S22 | |||
lizmat: Am I understanding right? | |||
17:38
shoky left
|
|||
timotimo | leont_: about 3 minutes | 17:39 | |
timotimo runs to get socks and long pants | |||
leont_ | ok & | ||
peteretep | lizmat: One final observation here is: it's going to be very hard for me to change my MSc dissertation project, so I'm pretty much locked in to working hard on this for the next year | 17:41 | |
lizmat: The implication being that I would love to be involved in whatever you're doing :-) | |||
lizmat: Because it would be a shame to produce anything at the end of this that didn't have any actual value | |||
lizmat: Although something substantial will need to be produced by the end of it to get an MSc | |||
I think what I mean is I'm free labour | 17:42 | ||
17:42
Ven left
17:44
Ven joined
17:45
Ven left,
leont_ left
|
|||
peteretep | Current status is I'm carefully reading and taking notes on the PDFs on CPAN6. After that I plan to understand properly exactly how "Ecosystem" works, before writing up (probably in a formal specification) a schema that captures what I identify as the important attributes of both | 17:47 | |
17:47
atroxaper joined
17:48
Mouq joined
|
|||
atroxaper | Hello, #perl6 ! | 17:52 | |
TimToady | o/ | 17:53 | |
17:53
kurahaupo_ joined
|
|||
atroxaper | I did two pull request for Rakudo and NQP. I added --git-depth=number option. With that option we can clone a small part of repositories. Requests: github.com/rakudo/rakudo/pull/322 github.com/perl6/nqp/pull/191 | 17:54 | |
TimToady: o/ | |||
I read build logs of Travis CI and seen than cloning of NQP require ~80MB each time. I think it will be good to add --depth=20 option to git clone. That is why I did so. | 17:56 | ||
moritz | atroxaper: there's a much better option | 17:57 | |
atroxaper: you can keep a local clone of the repositories | |||
atroxaper: and then use git lcone --refererence path/to/local/clone | 17:58 | ||
Mouq | mortiz++ # I log on to see doc work! <3 | ||
atroxaper | moritz: Yes, you told me that some time ago. But in context of CI it is not acceptable | ||
moritz | atroxaper: why not? | ||
atroxaper: it's only an optimization | 17:59 | ||
atroxaper: it doesn't change any commits or so | |||
Mouq | moritz: Question, though: why the focus on || in regexes.pod rather than the more idiomatic | ? | ||
moritz | Mouq: because I haven't explained LTM yet | ||
Mouq: patches welcome :-) | |||
Mouq | moritz: Okay :) | ||
Mouq can't right now | |||
moritz | Mouq: I might also add some more doc patches tonight | 18:00 | |
Mouq | My hero :) | ||
atroxaper | moritz: I'm not sure, but I think that Travis do not allow to store some repository all time and give us reference on it. | ||
moritz | atroxaper: it probably depends on whether you control the travis instance or not | 18:01 | |
atroxaper: anyeay, I think there's room for both options | |||
atroxaper: one thing I don't know though with --depth is how it affects git-describe, which we use to generate version numbers | 18:02 | ||
atroxaper | moritz: ok. I'm going to add another one then:) | ||
moritz | Mouq: though first: named captures | 18:04 | |
pmurias | peteretep: the CPAN6 thing was a general storage of anything mechanism | ||
18:04
bartolin joined
|
|||
pmurias | peteretep: the current plan is to store Perl 6 modules on (the existing) CPAN | 18:04 | |
moritz | yes, like a p2p file system with more meta data | 18:05 | |
peteretep | pmurias: Part of the MSc will be detailing what went wrong with going for a general storage of anything mechanism | ||
atroxaper | moritz: good question. I think --depth brokes a git-describe... | ||
peteretep | pmurias: What I plan to build should be able to produce a perl5 CPAN layout | ||
pmurias | what do you plan on building? | ||
peteretep | pmurias: This still needs detailing, but essentially, PAUSE | 18:06 | |
But a PAUSE capable of knowing about Perl 5 and Perl 6 modules, and producing a Perl 5 CPAN layout, as well as a layout suitable for hosting Perl6 modules | 18:07 | ||
18:07
cognome joined,
mauke joined
|
|||
pmurias | isn't the current PAUSE suitable for both Perl 5 and Perl 6 modules? | 18:08 | |
18:08
kjs_ joined
|
|||
moritz | FROGGS is currently patching PAUSE to deal with both; I'm sure there's room for improvement though | 18:08 | |
like, collecting more meta data for p6 modules | |||
b2gills | perteretep: It would be nice if you don't need to run some code to install modules ( Makefile.PL or Build.PL ) | 18:09 | |
peteretep | b2gills: That sounds more like a packaging issue, which I'm looking to avoid | ||
b2gills: As per lizmat's link to S22 which seems pretty definitive | 18:10 | ||
rindolf | TimToady: hi! Are you there? | ||
peteretep | pmurias: I don't think the current PAUSE handles Perl 6 modules at this time. Additionally, I think it would be better to sign modules by default rather than a user/pass mechanism | ||
pmurias | if you want to compare a too specific and too general approaches, I think it's best to check that the too specific one is really too specific | ||
sign modules by default? | 18:11 | ||
peteretep | pmurias: The Perl 6 ecosystem currently explicitly declares itself as too simplistic | ||
right on its github page | |||
18:11
Hor|zon joined
18:12
cognome left,
Akagi201_ left,
Akagi201 joined
|
|||
pmurias | peteretep: yes, but there are people working on using the existing CPAN(5) | 18:13 | |
peteretep | pmurias: Awesome, that'll give me a 3rd approach to evaluate too | ||
I feel like the existance of Stratopan, Pinto, and friends suggest that an improvement could be made on the existing PAUSE system beyond simple support of another namespace for a different language | 18:14 | ||
but, who knows? | |||
18:16
Hor|zon left
|
|||
peteretep | FROGGS: I would love to discuss your work on PAUSE at a convenient time for you | 18:16 | |
18:17
_slade_ joined
|
|||
peteretep | pmurias: The last commits I can find for putting Perl 6 modules on CPAN(5) are in May - have you seen more recent commits or work? | 18:23 | |
18:25
denis_boyun left
18:26
Guest76896 left
|
|||
TimToady | rindolf: only sort of...the network is very flappy here | 18:27 | |
rindolf | TimToady: ah. | 18:28 | |
TimToady: can I /msg you? | 18:29 | ||
TimToady: do you have logs and scrollback? | |||
TimToady | likely to have scrollback, but no logs | 18:30 | |
18:31
erkan joined,
erkan left,
erkan joined
18:32
bowtie joined
|
|||
pmurias | peteretep: I haven't been following that closely, the work on that was suspended for a bit during GSoC | 18:32 | |
peteretep: you should talk with FROGGS | |||
18:32
bowtie is now known as Guest99561
18:35
Guest68170 is now known as ajr_
18:36
ghostlines left
18:48
Mouq left
18:49
kaare__ left
18:53
BenGoldberg joined
18:55
xfix is now known as notfix
18:57
kjs_ left,
kjs_ joined
19:00
darutoko left
19:02
pepl joined
|
|||
azawawi | im tired after looking @ the perl6/nqp internals for the REPL :) | 19:02 | |
19:03
xenoterracide joined
19:07
cognome joined,
Mso150 left
19:09
Mso150 joined,
uvtc left
19:11
cognome left
19:13
Mso150 left,
kjs_ left,
Mso150 joined
|
|||
dalek | ast: d03302f | usev6++ | S03-operators/div.t: Add test for RT #112678 |
19:15 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=112678 | ||
azawawi | moritz: switch to EVAL(...) for the perl 6 repl... until i can figure out how to run it | 19:18 | |
moritz: s/switch/switched | |||
19:22
Brian_ left
19:23
kjs_ joined
|
|||
moritz | m: | 19:23 | |
m: my regex value { \w+ }; if "a=b" ~~ /<key=value>\=<value>/ { say ~$<value> } | |||
camelia | rakudo-moar d32972: OUTPUT«a b» | ||
moritz | I expected that to only print b | 19:24 | |
is that a rakudobug? | |||
if yes, known? | |||
19:27
breinbaas joined
19:28
zakharyas joined
19:32
anaeem1 joined
19:37
kjs_ left
|
|||
kurahaupo_ | moritz: where's the defn for key there? | 19:39 | |
dalek | p-js: fcc9837 | (Pawel Murias)++ | src/vm/js/ (2 files): Pass test 9. Implement nqp::who and variable with .decl eq 'static'. |
||
p-js: 8f4269b | (Pawel Murias)++ | src/vm/js/ (3 files): Pass test 12. Implement nqp::defor. Stub nqp::defined. |
|||
moritz | kurahaupo_: <key=value> calls the 'value' regex but captures with name 'key' | ||
kurahaupo_ | ok | 19:40 | |
mauke | is <foo> sugar for <foo=foo>? | ||
moritz | mauke: that's one way of putting it | ||
kurahaupo_ | moritz: so, you match two things as value, and you think when you give a name "key" for one of then, it should not include that in the list of things for "value"; so does $<value> mean the things named value, or the things matching value? | 19:42 | |
moritz | kurahaupo_: $<value> just access the capture named 'value' | 19:43 | |
oh | 19:44 | ||
the specs say rakudo is correct | |||
and I should use <key=.value> to suppress the value capture | |||
kurahaupo_ | and the argument is whether key= creates a synonym, or is the *only* name | ||
moritz | correct | 19:45 | |
19:49
denis_boyun_ joined
19:51
cognome joined
19:52
cognome left,
cognome joined
19:54
xenowoolfy joined
20:08
Guest99561 left
20:10
xenowoolfy left
20:11
xenowoolfy joined
20:12
Hor|zon joined
20:13
denis_boyun_ left,
atroxaper left
20:14
bowtie joined,
bowtie is now known as Guest12380
20:17
Hor|zon left
20:19
xenowoolfy left
|
|||
dalek | c: 79b69a8 | moritz++ | lib/Language/regexes.pod: [regexes] named captures, subrules |
20:22 | |
c: 397dc9d | moritz++ | lib/Language/regexes.pod: Fix typo |
|||
c: 3876e7a | moritz++ | lib/Language/regexes.pod: [regexes] write much more about adverbs |
|||
20:23
jepeway joined
|
|||
dalek | c: 776ac62 | moritz++ | lib/Language/regexes.pod: Mention that quantified captures produce lists |
20:26 | |
20:30
ivanshmakov left
20:31
alcedo joined
20:32
bartolin left
20:36
azawawi left
20:38
ivanshmakov joined
20:44
alcedo left
20:46
pepl left
20:47
Ven joined
|
|||
jepeway | howdo, #perl6? | 20:53 | |
20:53
ajr_ left
20:57
leont_ joined
|
|||
dalek | k-simple: d596233 | (Timo Paulssen)++ | lib/GTK/Simple.pm6: work towards mac support |
21:01 | |
21:02
rindolf left
|
|||
timotimo | moritz: you're doing stuff \o/ | 21:03 | |
i'm especially glad about doc work | |||
21:06
kurahaupo_ left
|
|||
jepeway | well. | 21:07 | |
jepeway betting apw has most peeps' attention | 21:09 | ||
got a q re: what I guess is context. | 21:10 | ||
pretty sure this won't work, but... | |||
m: class a { multi method b() returns Str { 's' }; multi method b() returns Int { 1 }; }; say ~a.new().b(); | |||
camelia | rakudo-moar d32972: OUTPUT«Ambiguous call to 'b'; these signatures all match::(a: *%_ --> Str):(a: *%_ --> Int) in block <unit> at /tmp/2UfhhHlOIa:1» | ||
timotimo | yeah, you can't dispatch by "expected return type" or anything like that | 21:11 | |
(of course you can get the candidate list and search for the return type you want manually and then call that candidate) | |||
jepeway | is that the "context is icky" I see sometimes? | 21:12 | |
timotimo | well, we have the "thank god wantarray is gone" thing | 21:13 | |
however, look at this: | |||
jepeway looking | |||
timotimo | m: class Surprise { method b() { (class foo { method Str { "hey" }; method Numeric { 1234 } }).new } }; say +Surprise; say ~Surprise; | 21:14 | |
camelia | rakudo-moar d32972: OUTPUT«use of uninitialized value of type Surprise in numeric context in block <unit> at /tmp/Q0vex_GDRM:10use of uninitialized value of type Surprise in string context in block <unit> at /tmp/Q0vex_GDRM:1» | ||
timotimo | oops | ||
m: class Surprise { method b() { (class foo { method Str { "hey" }; method Numeric { 1234 } }).new } }; say +Surprise.b; say ~Surprise.b; | |||
camelia | rakudo-moar d32972: OUTPUT«1234hey» | ||
jepeway | yipes | 21:15 | |
oh. | 21:16 | ||
timotimo | prefix + just calls .Numeric and prefix ~ just calls .Str | ||
21:16
zakharyas left
|
|||
timotimo | (or Stringy or something like that) | 21:16 | |
that stuff is completely introspectable | |||
whereas wantarray or something similar is just "spooky action at a distance" | |||
mauke | metacpan.org/pod/Want#NAME | 21:17 | |
jepeway | yeah, no need for the method in what I tried, huhn? | ||
timotimo | aye | ||
there's an even "eviler" way to do this | |||
since you can just plop a role onto an instance, not just a class | 21:18 | ||
m: my $strange'thing = "Hello" but False but 99e4; say +$strange'thing; say ~$strange'thing; say so $strange'thing; say $strange'thing.WHAT; | |||
21:18
Mso150 left
|
|||
timotimo | did i break it? :\ | 21:18 | |
camelia | rakudo-moar d32972: OUTPUT«(timeout)» | ||
timotimo | m: my $strange'thing = "Hello" but False; $strange'thing does 99e4; say +$strange'thing; say ~$strange'thing; say so $strange'thing; say $strange'thing.WHAT; | 21:19 | |
camelia | rakudo-moar d32972: OUTPUT«(timeout)» | ||
timotimo | m: say "i am alive!"; say "i am developer!" | ||
jepeway | heh. | ||
timotimo | is feather08 under heavy load again? | ||
camelia | rakudo-moar d32972: OUTPUT«(timeout)» | ||
21:19
Mso150 joined
21:20
gfldex left
|
|||
jepeway trying the $strange'thing locally | 21:20 | ||
jepeway now trying to (blindly) fix syntax complaints re: associativity | 21:22 | ||
timotimo | ah; the second one doesn't associativifice | 21:23 | |
jepeway | complains of 'Hello' not being a base-10 number when I break the buts into multiple lines | 21:27 | |
timotimo | ooooh | ||
aye | 21:28 | ||
i know why | |||
jepeway | so...+ is trying to numberfy<?> the string instead of getting the numeric | ||
ah...do tell :) | |||
timotimo | if you "but InstanceOfSomeClass", it will create a role for you that looks like this: | ||
21:28
leont_ left
|
|||
timotimo | anon role { method SomeClass { InstanceOfSomeClass } } | 21:28 | |
jepeway | (and, btw, thanks ever for this convo, timotimo++) | ||
timotimo | so in this case it was giving the "Hello" string instance a Num method because we mixed in an instance of Num (namely 99e4) | ||
but +$strange'thing actually calls .Numeric | 21:29 | ||
which is still being looked up in Str's method resolution order | |||
you're welcome :) | |||
are you one of the APW attendees? | |||
jepeway | wish, but nope. | ||
timotimo | ah, OK | 21:30 | |
i'm lounging next to vendethiel on the hotel bed in salzburg :) | |||
Ven | >_> pinging me | 21:31 | |
jepeway | ah, nice. figured it was 'bout post-dinner time. | ||
mauke | almost midnight | ||
21:33
leont_ joined
|
|||
jepeway | can i claim i was factoring in the 'closing out restaurant/bar with p6 geekery' time with straight face? | 21:34 | |
21:34
anaeem1 left
|
|||
jepeway | so, changing the order to "99e4 but hello but false" kinda works. + still delivers a string, though: Hello. | 21:38 | |
timotimo | yes | 21:39 | |
m: say "i'm back!" | |||
camelia | rakudo-moar d32972: OUTPUT«i'm back!» | ||
timotimo | aha! | ||
m: my $strange'thing = "Hello" but False; $strange'thing does role { method Numeric { 99e4 } }; say +$strange'thing; say ~$strange'thing; say so $strange'thing; say $strange'thing.WHAT; | |||
camelia | rakudo-moar d32972: OUTPUT«990000HelloFalse(Str+{<anon>}+{<anon>})» | ||
timotimo | there we go. | 21:40 | |
mauke | m: say "Hello" but False; | 21:41 | |
camelia | rakudo-moar d32972: OUTPUT«Hello» | ||
mauke | m: "Hello" but (False but True); | ||
camelia | ( no output ) | ||
jepeway | wouldn't 99e4 do the Numeric role? (well, obviously not, just puzzled) | ||
timotimo | the last mixed-in trait should win | 21:42 | |
no, it wouldn't, for this reason: | |||
m: say 99e4.WHAT | |||
camelia | rakudo-moar d32972: OUTPUT«(Num)» | ||
timotimo | m: say ("hi" but 99e4).Numeric | ||
camelia | rakudo-moar d32972: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏hi' (indicated by ⏏) in method gist at src/gen/m-CORE.setting:13616 in sub say at src/gen/m-CORE.setting:15782 in block <unit> at /tmp/MUOt9VnnlM:1» | ||
timotimo | m: say ("hi" but 99e4).Num | ||
camelia | rakudo-moar d32972: OUTPUT«990000» | ||
timotimo | does that make it clear? | ||
jepeway | say Num.WHAT | ||
m: say Num.WHAT | |||
camelia | rakudo-moar d32972: OUTPUT«(Num)» | ||
timotimo | it uses the name of the class of the instance you mix in to figure out which method to create that will return that very instance | ||
jepeway | oh. a bit. | ||
I got the "but" sugar (if you'll pardon a poor turn of phrase). | 21:43 | ||
timotimo | m: class AmazingClass { has $.name }; my $thingy = "Hello there" but AmazingClass.new(:name("ME!")); say $thingy; say $thingy.AmazingClass; | ||
camelia | rakudo-moar d32972: OUTPUT«Hello thereAmazingClass.new(name => "ME!")» | ||
jepeway | oh: Numeric is a role for non-numbers to do number-like things? | 21:44 | |
timotimo | that's because the name of a class as a method is supposed to be the coercer to that type | ||
aye | |||
m: say 99e4.^mro; # "method resolution order" | |||
camelia | rakudo-moar d32972: OUTPUT«(Num) (Cool) (Any) (Mu)» | ||
timotimo | m: say 99e4 ~~ Numeric | ||
camelia | rakudo-moar d32972: OUTPUT«True» | ||
timotimo | ("does that role") | ||
jepeway | well, urk: if a Num does Numeric, too, then why does $strange'thing need the explicitly crafted "does role Numeric?" | 21:47 | |
oh. 'cause $strange'thing doesn't do it, it won't ~~ Numeric | |||
timotimo | it only uses the name of the class on the very top of the derivation hierarchy | 21:48 | |
jepeway | i (think i) see | ||
timotimo | you see how Num is derived from Cool, Any and Mu? | ||
jepeway | yes, do | ||
timotimo | it only creates a Num method, but not a Cool, Any and Mu method for the same reason it doesn't make a Numeric unit | ||
method* | |||
@kills>>.HP >>[=]>> 3; | 21:49 | ||
just a really pretty line of code from my game %) | 21:50 | ||
moritz | .HP is an rw accessor? | 21:52 | |
timotimo | yep | ||
jepeway admires & boggles | |||
timotimo | it's a tiny bit sad that >>=>> doesn't work because it thinks of => | ||
moritz | isn't that easier written as @kills>>.HP = 3 xx * ? | 21:53 | |
timotimo | psst :) | ||
*.HP = 3 for @kills? | |||
er | |||
moritz | without the * actually | ||
timotimo | $_.HP = 3 for @kills | ||
or without $_, yeah | |||
moritz | anyway, time to sleep here; have fun with your remainining three hit points :-) | ||
jepeway | gnight, moritz. | 21:54 | |
timotimo | gnite moritz! | ||
moritz: that's just to fix the display of the kill tally after game over ;) | 21:55 | ||
otherwise all enemy ships would appear as "sticks" | |||
whereas they regularly have a wing on both sides | |||
(which is represented as HP being 0b11) | |||
moritz: ven says Z= would also work, but X= is even better because then you don't need xx at all | 21:56 | ||
22:00
eternaleye left
22:03
eternaleye joined
|
|||
jepeway should prolly let friendly p6 folk @ apw head off to Nod. | 22:06 | ||
Ven | to bed? :p | 22:07 | |
22:08
leont_ left,
leon__ joined
|
|||
jepeway | 'land of Nod' => sleep | 22:09 | |
22:13
Hor|zon joined,
Ven left,
Ven joined
|
|||
timotimo | gnite jepeway :) | 22:14 | |
jepeway | gnite timotimo. | 22:15 | |
tx, again. | 22:16 | ||
jepeway is off to play with new learnings | |||
22:16
leon__ is now known as leont
22:18
Hor|zon left
|
|||
timotimo | have fun! | 22:19 | |
i can't stop adding fun new thingies to this game %) | |||
22:20
baest joined
22:24
leont left
|
|||
Ven | timotimo-- | 22:36 | |
# prick | |||
22:36
colomon left
|
|||
Ven | timotimo++ # not on irc | 22:40 | |
timotimo | we don't actually know how to properly reach the hackathon value from our hotel ... | 22:41 | |
but we'll figure it out after som esleep | |||
22:47
Ven left,
spider-mario left
23:04
pmurias left
23:13
sivoais left,
uvtc joined
23:14
sivoais joined
|
|||
dalek | kudo/nom: 79ac0c7 | (Elizabeth Mattijsen)++ | src/core/ (4 files): Remove :exists/:delete from core settings We don't need the overhead of :exists/:delete |
23:15 | |
kudo/nom: 390c512 | (Elizabeth Mattijsen)++ | src/core/CompUnit.pm: A step towards reliable lazification of @*INC |
|||
kudo/nom: b6c6aef | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm: Don't count lines if we're eager Just set it at the end |
|||
lizmat | sleep& | 23:18 | |
23:19
colomon joined
|
|||
uvtc | Are many of the Perl 6 illuminati currently concentrated at a conference or hackathon or something? | 23:20 | |
In the backlog I saw mention of meet-ups and talk of talks. | 23:21 | ||
Curious if any talks are being recorded. | 23:23 | ||
23:25
b2gills left
|
|||
jepeway | uvtc: many are @ act.useperl.at/apw2014 | 23:29 | |
uvtc | Thanks for the link, jepeway! | ||
colomon | uvtc: jnthn put his slides (and some source code) online, anyway. | 23:34 | |
uvtc | colomon, thanks, I have this link: <jnthn.net/articles.shtml>. | 23:35 | |
23:36
b2gills joined
|
|||
colomon | uvtc: this was today's, don't see it on the page yet: jnthn.net/papers/2014-apw-objects-c...rrency.pdf | 23:38 | |
colomon wishes there was video, jnthn++ is a great presenter. | 23:39 | ||
uvtc: the source code for that talk is up in the p6 ecosystem at OO::Actors and OO::Monitors | 23:41 | ||
23:41
xenoterracide left
|
|||
uvtc | Thanks, colomon. But don't know what you mean about it being "in the p6 ecosystem". Do you mean somewhere under <github.com/perl6/ecosystem>? | 23:43 | |
colomon | uvtc: I mean you can use panda to install them. | ||
uvtc | Ah, thanks. | ||
jepeway | (uvtc: yw) | 23:44 | |
colomon | or you can just look at github.com/jnthn/oo-monitors and github.com/jnthn/oo-actors | ||
uvtc | gotcha | ||
jepeway | gone 'til i'm back. thanks, all. | 23:45 | |
23:45
jepeway left
|
|||
uvtc | Oooh. GTK::Simple! How cool is that? | 23:46 | |
colomon | BTW, as I just thought to look myself -- jnthn added the new object type "monitor" to p6 in just 94 lines of code. | ||
uvtc: I know there's a GTK::Simple talk online somewhere. | |||
uvtc | Nice. Will look around for it... | 23:47 | |
colomon | jnthn.net/papers/2014-yapceu-async.pdf introduced it. | ||
anyway, most of the gang is in Austria, and thus all asleep at the moment. | 23:50 | ||
uvtc | Right. Thanks for the link, colomon. Looking at it right now. | 23:51 | |
:) |