Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-10-11

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

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

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

Perl 6 | Reference Documentation | Rakudo