Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-05-20

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:13 lue joined #perl6
00:16 skids joined #perl6
00:20 woosley joined #perl6
00:29 BenGoldberg joined #perl6
00:51 woosley left #perl6
00:51 woosley joined #perl6
00:52 hoverboard joined #perl6
01:11 chenryn joined #perl6
01:14 klapperl joined #perl6
01:20 atta joined #perl6
01:51 Su-Shee_ joined #perl6
01:54 FROGGS_ joined #perl6
01:55 Sqirrel_ joined #perl6
02:13 xiaomiao joined #perl6
02:27 chenryn joined #perl6
02:30 skids r: use Test; is (-4..-1 X+> 1..3), (-2,-1,-1,-2,-1 xx 8), "+> is OK for some time now on all bakends AFAIK"
02:30 camelia rakudo-{parrot,jvm,moar} c382c7: OUTPUT«ok 1 - +> is OK for some time now on all bakends AFAIK␤»
02:33 chenryn joined #perl6
02:34 hoverboard joined #perl6
02:46 chenryn joined #perl6
02:47 lue joined #perl6
02:50 plobsing joined #perl6
02:53 rurban joined #perl6
03:11 bluescreen10 joined #perl6
03:37 hoverboard joined #perl6
03:40 xragnar_ joined #perl6
03:43 kaare_ joined #perl6
03:44 bjz joined #perl6
04:06 skids r: r: my int $f = 10; say gather do { say (2 * $f) + take($f div 4) }
04:06 camelia rakudo-parrot c382c7: OUTPUT«12␤2␤»
04:06 camelia ..rakudo-{jvm,moar} c382c7: OUTPUT«22␤2␤»
04:07 skids r: my int $f = 10; say (2 * $f) + ($f  * 1)
04:07 camelia rakudo-parrot c382c7: OUTPUT«20␤»
04:07 camelia ..rakudo-{jvm,moar} c382c7: OUTPUT«30␤»
04:21 anaeem1 joined #perl6
04:56 woolfy joined #perl6
05:08 kaare_ joined #perl6
05:19 dayangkun joined #perl6
05:26 woolfy left #perl6
05:28 woosley joined #perl6
05:41 rurban joined #perl6
05:44 rurban1 joined #perl6
06:02 denis_boyun_ joined #perl6
06:09 thou joined #perl6
06:11 SevenWolf joined #perl6
06:16 masak r: my $f = 10; say (2 * $f) + ($f  * 1)
06:16 camelia rakudo-{parrot,jvm,moar} c382c7: OUTPUT«30␤»
06:17 masak r: my int $f = 10; say (2 * $f) + ($f  * 1)
06:17 camelia rakudo-parrot c382c7: OUTPUT«20␤»
06:17 camelia ..rakudo-{jvm,moar} c382c7: OUTPUT«30␤»
06:17 masak skids: is that a known parrotbug? is it reported?
06:21 masak (morning, #perl6)
06:22 cooper joined #perl6
06:25 kaleem joined #perl6
06:35 cooper joined #perl6
06:41 anaeem1 joined #perl6
06:42 SamuraiJack__ joined #perl6
06:45 masak conf &
06:47 rurban joined #perl6
06:49 fhelmberger joined #perl6
06:54 masak ...ahoj from within conf! :)
06:57 lizmat joined #perl6
06:57 lizmat the Jurys Inn!
06:59 * masak .oO( and boy are their arms tired -- oops, wrong joke )
07:00 cooper joined #perl6
07:00 FROGGS joined #perl6
07:01 masak I enjoyed reading https://www.destroyallsoftware.com/blog/2014/tdd-straw-men-and-rhetoric
07:01 masak and it made me think: I wonder if I could get my Perl 6 tests to run in < .3 s.
07:01 FROGGS masak: what tests?
07:01 FROGGS something specific?
07:01 masak any tests.
07:01 masak for whatever application I'm developing.
07:02 FROGGS spectesting in .3s would be quite nice :o)
07:02 masak if I run the empty program with a cold start on my laptop, the wallclock time is 1.3 s
07:02 masak warm start: around .75 s
07:02 masak which basically means that the Rakudo startup time is already too much :)
07:02 masak I wonder if something like sorear++'s server solution could work, though.
07:03 masak maybe in combination with jnthn++'s IO::Notification
07:03 FROGGS ohh
07:03 FROGGS nice idea
07:03 oetiker joined #perl6
07:03 masak it's worth exploring.
07:03 FROGGS s/nice/very interesting/
07:04 masak basically, it would be Test::Junkie, but it would *read the tests into the existing process* to avoid startup overhead.
07:04 FROGGS that could work like having a local travis in the background
07:05 FROGGS in an ideal world we would render the build+spectest on a supercomputer and you'd get the test results after seconds you changed a rakudo source file
07:06 * masak hesitates between https://en.wikipedia.org/wiki/Travis_Air_Force_Base and https://en.wikipedia.org/wiki/Travis_(chimpanzee) before finding https://en.wikipedia.org/wiki/Travis_CI :)
07:06 FROGGS hehe
07:06 masak FROGGS: hmmm, maybe that's actually feasible.
07:06 jnthn morning, #perl6
07:06 FROGGS moarning jnthn
07:06 masak FROGGS: rent 256 CPUs, and run the tests in a massively parallel manner in the cloud.
07:07 FROGGS masak: I thought about that when we only had parrot+jvm
07:07 masak FROGGS: all you need to make sure is that your local changes have been copied over before you start.
07:07 FROGGS yeah
07:07 FROGGS IO::Notification FTW!
07:07 masak FROGGS: I think that might speed things up nicely for our core developers.
07:07 FROGGS exactly :o)
07:07 masak FROGGS: ooh, yes, IO::Notofication could be used for *that*, too!
07:07 masak awesome!
07:07 FROGGS this could be its own GSoC project though
07:07 jnthn reactive all the things!
07:08 FROGGS I AM NOT REACTIVE!!! I AM JUST SHOUTING!!!111
07:08 masak FROGGS: well, as having been newly bitten by the heroku bug, I wonder if something like heroku couldn't do this.
07:08 * masak .oO( rent-a-really-fast-box )
07:09 jnthn masak: How come your laptop takes 3 times a long to start r-m as mine? o.O
07:10 FROGGS O.o
07:11 Timbus sort of on this topic.. how would one implement two way binding in perl 6. say for an MVVM. I saw jnthn's GTK slides but I was wondering how to abstract it to variable/attribute watching
07:12 Timbus I saw a blog or an advent that would apply a 'logger' to every attribute access using the metamodel. seems like the best way?
07:12 zakharyas joined #perl6
07:12 jnthn timotimo++ # p6weekly
07:12 sergot_ morning! o/
07:12 sergot_ timotimo: I'll give an answer today :)
07:15 masak jnthn: ...because it's four years old and yours isn't?
07:15 jnthn Oh
07:15 jnthn Ask $boss for a new one!! :P
07:15 FROGGS .tell timotimo that's wrong: If I understand correctly, the bug where MoarVM incorrectly turned nums into strings was fixed. Turns out it was forgetting about the ‘e’ inside scientific notation.
07:15 yoleaux FROGGS: I'll pass your message to timotimo.
07:15 masak jnthn: already did :)
07:15 jnthn ah..yeah, that's why you were asking me what I had a week or two ago... :P
07:16 masak aye.
07:16 FROGGS .tell when coercing to a string it lost trailing zero's for scientific notation, when it only should strip these for \d+.\d+ looking floats
07:16 yoleaux FROGGS: I'll pass your message to when.
07:16 FROGGS .tell timotimo when coercing to a string it lost trailing zero's for scientific notation, when it only should strip these for \d+.\d+ looking floats
07:16 yoleaux FROGGS: I'll pass your message to timotimo.
07:16 masak jnthn: next you will ask me why my phone doesn't have a volume button like yours :P
07:16 jnthn masak: That's just 'cus you're less good at chosing phones than me :D
07:16 masak :P
07:21 Ven joined #perl6
07:22 * FROGGS realized that it is kinda stupid to slurp a file and pull things out using regexes line by line
07:22 jnthn :)
07:23 FROGGS it takes 24s this way to pars a >500 lines file :o)
07:23 FROGGS parse*
07:23 sergot_ How is the CZPW?
07:23 sergot_ :)
07:24 masak sergot_: it's just getting started -- so far so good. :)
07:24 krunen joined #perl6
07:24 masak sergot_: about the same size as PLPW
07:24 masak sergot_: by the way, thanks again for an awesome workshop! sergot++
07:24 itz joined #perl6
07:25 sergot_ \o/ great
07:25 cooper joined #perl6
07:25 itz using English slides helped a lot
07:25 sergot_ masak: thank you for participating and awesome talks
07:25 sergot_ masak++
07:26 sergot_ m: say 2 >+ 2
07:26 camelia rakudo-moar c382c7: OUTPUT«False␤»
07:26 sergot_ m: say 2 >+ 1
07:26 camelia rakudo-moar c382c7: OUTPUT«True␤»
07:26 sergot_ m: say 2 >=+ 1
07:26 camelia rakudo-moar c382c7: OUTPUT«True␤»
07:26 sergot_ m: say 2 >=+ 2
07:26 camelia rakudo-moar c382c7: OUTPUT«True␤»
07:28 masak m: say 2 +> 2
07:28 cognominal__ joined #perl6
07:29 d4l3k_ joined #perl6
07:30 masak camelia?
07:30 sergot_ oh
07:30 masak sergot_: `2 >+ 2` == `2 > +2`
07:31 sergot_ oooh, ok
07:32 masak m: say defined &infix:<< +> >>
07:32 sergot_ masak: so what does the +> do?
07:32 sergot_ > 15 +> 1
07:32 sergot_ 7
07:32 masak sergot_: I thought that was what you were aiming for.
07:32 masak sergot_: that's a bit shift to the right.
07:32 sergot_ I just wanted to figure out what does it do. :)
07:33 masak sergot_: `15 +> 1` comes out the same as `15 div 2`
07:33 masak sergot_: `15 +> 2` comes out the same as `15 div 4`
07:33 masak and so on.
07:33 masak shifting to the right is the same as repeatedly div-ing by 2.
07:33 masak shifting to the right... multiplying by 2.
07:34 sergot_ masak++ it's clear now, thank you
07:34 Ulti Perl6 version of https://github.com/exercism/xperl5 might be some good marketing, especially as they already distinguished perl as "Perl5" everywhere
07:34 Ulti http://exercism.io/about for more info
07:37 Alula joined #perl6
07:37 camelia joined #perl6
07:39 virtualsue joined #perl6
07:41 igorsutton joined #perl6
07:41 virtualsue joined #perl6
07:41 cooper joined #perl6
07:45 FROGGS hehe, now it only takes 1.7s instead of 24s :o)
07:45 jnthn :)
07:49 rurban joined #perl6
07:49 FROGGS m: "foo" ~~ /<word=:Ll>+/; say { :$<word>[0] } # sad that this does not end up as a hash though
07:49 camelia rakudo-moar c382c7: OUTPUT«-> ($_? is parcel) { #`(Block|139753093106152) ... }␤»
07:49 FROGGS (it does without the [0])
07:51 Bucciarati joined #perl6
07:52 darutoko joined #perl6
07:52 dmol joined #perl6
07:55 Tene joined #perl6
07:57 thou joined #perl6
08:03 masak m: say "still not talking to me?"
08:04 camelia rakudo-moar c382c7: OUTPUT«still not talking to me?␤»
08:04 masak ooh, camelia! :>
08:04 spider-mario joined #perl6
08:05 moritz why wouldn't she talk to you?
08:05 masak I don't know. never happened to me before.
08:06 masak see 09:28 .. 09:32
08:09 FROGGS there was a netsplit
08:10 FROGGS [09:37] * camelia hat die Verbindung getrennt (*.net *.split)
08:14 masak oh!
08:14 masak FROGGS++
08:14 masak camelia: all is forgiven ;)
08:15 moritz .oO( you're forgiven, not forgotten )
08:20 cooper joined #perl6
08:23 bowtie joined #perl6
08:24 virtualsue joined #perl6
08:26 jnthn lol I'm on stage \o/
08:27 FROGGS hehe
08:28 * FROGGS throws an applause event to jnthn's on_stage handler
08:29 jnthn \o/
08:31 dakkar joined #perl6
08:31 moritz .oO( jnthn has entered the building! )
08:32 masak ...and just like that, he's gone again :P
08:32 masak he swept through the room, touching our hearts like only jnthn can.
08:33 masak the presence is gone, but the memory lingers.
08:33 moritz masak, our resident channel poet.
08:34 * masak strums his lyre artfully
08:35 masak <masak> shifting to the right... multiplying by 2. # <-- oops, s/right/left/
08:35 masak I hate those two directions.
08:35 FROGGS my wife++ only knows left and the other left :o)
08:36 FROGGS ohhh, Sqirrel_ is online... *cough*
08:36 masak :>
08:37 cooper joined #perl6
08:38 lizmat ....  and jnthn's on!
08:43 masak TimToady: I went back to A03 to try to find the exact birth moment of infix:<~~> and smartmatching. all I got from A03 was that back in October 2001, we didn't yet have either.
08:44 masak TimToady: do you remember when smartmatching arrived in Perl 6? and how sync'd was it with the arrival of smartmatching in Perl 5.10?
08:45 lizmat well, 5.10 was 2007  :-)
08:49 masak smartmatching was implemented in 5.9.3 (2006-01-28), and made default in 5.9.5 (2007-06-07).
08:49 mathw joined #perl6
08:50 rurban joined #perl6
08:50 masak the Perl 6 synopsis logs don't go back far enough, so results are inconclusive. the first mention of "smart match" is from 2006-10-02.
08:51 masak probably the IRC logs will have more clues.
08:52 cooper joined #perl6
08:52 nwc10 http://www.nntp.perl.org/group/perl.perl6.language/2006/02/msg24670.html
08:53 masak au++ mentioning smart matching in 2005-02-26: http://irclog.perlgeek.de/perl6/2005-02-26#i_-799741
08:53 masak note that at that point, we don't have the * < 3 syntax. :)
08:54 nwc10 also, back then, smartmatch was symetrical
08:54 masak yes, I know. that's what ended up in 5.10
08:54 bowtie joined #perl6
08:54 masak right now I want to find out "who was inspired by whom".
08:55 masak I think I just proved that smartmatching showed up first in Perl 6.
08:55 hummeleB1 joined #perl6
08:55 nwc10 Perl 6 inspired Perl 5
08:56 nwc10 sorry, didn't realise that that was the question
08:56 nwc10 and Robin Houston implemented the then-current symmetrical smartmatch
08:56 masak somewhere between 2001 and 2005, smartmatching and the infix:<~~> syntax happened in the Perl 6 spec. (the "synopses" didn't exist back then)
08:56 nwc10 somewhat as a side effect of sitting next to me at the London Perl Workshop and sketching out an idea for how, and me saying "go for it" (as in, try to make it work)
08:57 masak nice :)
08:57 masak so was someone giving a talk about Perl 6 smartmatching?
08:57 masak so, was that LPW 2005?
08:57 nwc10 no, no-one was
08:57 masak oh, ok.
08:57 nwc10 it was just a "corridor track" talk
08:57 nwc10 chat
08:58 masak ah.
08:58 nwc10 but it caused a world of pain
08:58 nwc10 because smartmatch really needs a type system
08:58 nwc10 and we didn't know that
08:58 nwc10 and we didn't track "this week"
08:59 masak *nod*
08:59 masak yes, smartmatching needs a type system. that's common knowledge over here in #perl6, I think. :)
09:00 masak aka "Perl 6 is not a menu which you can pick and choose from" :)
09:00 nwc10 "this week". But "last week"
09:00 nwc10 ?
09:01 masak I don't understand the question. could you elaborate?
09:01 nwc10 oh, I don't know if #perl6 knew the real necessity of the type system back in 2005
09:05 masak certainly not.
09:06 masak I first heard that meme two or three years ago.
09:07 virtualsue joined #perl6
09:11 cooper joined #perl6
09:26 cooper joined #perl6
09:30 bowtie joined #perl6
09:33 jnthn phew, talk done
09:33 jnthn :)
09:34 jnthn Was some fun for me. I hope for others too :)
09:34 denis_boyun joined #perl6
09:34 lizmat yes it was  :-)   and even some questions!  :-)
09:34 masak jnthn++ # it was fun
09:35 jnthn Hopefully more questions in the hallway track too :)
09:36 masak is there any way to delegate to STD::term in a user-supplied grammar?
09:37 jnthn masak: surely not easily, given the amount of dynvars and other bits Perl 6 uses in its parser.
09:38 Ven joined #perl6
09:43 sergot_ m: use Test; sub a() { }; ok not a(), 'a';
09:43 camelia rakudo-moar c382c7: OUTPUT«ok 1 - a␤»
09:43 sergot_ m: use Test; sub a() { return Any; }; ok not a(), 'a';
09:43 camelia rakudo-moar c382c7: OUTPUT«ok 1 - a␤»
09:43 cooper joined #perl6
09:45 * jnthn notes his talk was videoed here too
09:45 thou joined #perl6
09:46 jnthn That means 3 confs have now videoed the talk. "Always have backups." :)
09:50 masak :>
09:53 rurban joined #perl6
09:57 dalek mu: d397723 | (Elizabeth Mattijsen)++ | docs/Perl6/Cheatsheet/cheatsheet. (2 files):
09:57 dalek mu: Add Supply as a Type to cheatsheet
09:57 dalek mu: review: https://github.com/perl6/mu/commit/d397723f92
09:59 cooper joined #perl6
09:59 cooper joined #perl6
09:59 sergot_ m: say "a:$_," for [1, 2, 3];
09:59 camelia rakudo-moar c382c7: OUTPUT«a:1 2 3,␤»
10:00 sergot_ what am I doing wrong? ;)
10:00 sergot_ m: say [1, 2, 3].WHAT
10:00 camelia rakudo-moar c382c7: OUTPUT«(Array)␤»
10:00 jnthn [...] is a single item
10:00 FROGGS m: say "a:$_," for 1, 2, 3;
10:00 camelia rakudo-moar c382c7: OUTPUT«a:1,␤a:2,␤a:3,␤»
10:00 FROGGS m: say "a:$_," for (1, 2, 3);
10:00 camelia rakudo-moar c382c7: OUTPUT«a:1,␤a:2,␤a:3,␤»
10:00 FROGGS [ ] and $ itemizes
10:01 FROGGS m: say "a:$_," for $(1, 2, 3);
10:01 camelia rakudo-moar c382c7: OUTPUT«a:1 2 3,␤»
10:01 sergot_ hmm
10:01 FROGGS you can think of [ ] being a single array reference like in P5... if you have a P5 background :o)
10:02 sergot_ I have :)
10:02 sergot_ ok, thanks :)
10:02 masak sergot_: this thinko also variously shows up as
10:02 masak m: my @l = [1, 2, 3]; say @l.elems
10:02 camelia rakudo-moar c382c7: OUTPUT«1␤»
10:05 xinming_ joined #perl6
10:07 sergot_ Is there any class that every Array, parcel (and others iterable @ classes) intherit from?
10:08 sergot_ inherit*
10:08 sergot_ m: say "a:$_," for <1 2 3>;
10:09 camelia rakudo-moar c382c7: OUTPUT«a:1,␤a:2,␤a:3,␤»
10:09 jnthn They all do Positional role,
10:09 masak m: say Array ~~ Positional; say Parcel ~~ Positional
10:09 camelia rakudo-moar c382c7: OUTPUT«True␤True␤»
10:09 sergot_ jnthn++ masak++ thanks
10:09 masak m: say Array.^mro; say Positional.^mro
10:09 camelia rakudo-moar c382c7: OUTPUT«(Array) (List) (Iterable) (Cool) (Any) (Mu)␤(Positional) (Any) (Mu)␤»
10:09 Ven Shouldn't arrays be in $-variables rather than @ ?
10:09 masak Ven: arrays *are* @ variables.
10:10 jnthn r: my @a; say @a.WHAT
10:10 camelia rakudo-{parrot,jvm,moar} c382c7: OUTPUT«(Array)␤»
10:10 masak they are not *in* them.
10:10 Ven duhu
10:11 sergot_ m: say List.^mro;
10:11 camelia rakudo-moar c382c7: OUTPUT«(List) (Iterable) (Cool) (Any) (Mu)␤»
10:11 Ven m: $(1, 2, 3).WAT
10:11 camelia rakudo-moar c382c7: OUTPUT«No such method 'WAT' for invocant of type 'Parcel'␤  in block  at /tmp/A7YWTGN4CZ:1␤␤»
10:11 masak .WHAT
10:11 masak and you forgot 'say'
10:11 Ven I got what I wanted anyway :)
10:13 sergot_ m: my %a; my $value = 123; %a{b}.push: ($value) # hey, I want it to be an array! :)
10:13 camelia rakudo-moar c382c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/8_dnN2br9Aâ�¤Undeclared routine:â�¤    b used at line 1â�¤â�¤Â»
10:13 sergot_ m: my %a; my $value = 123; %a{'b'}.push: ($value) # hey, I want it to be an array! :)
10:13 camelia rakudo-moar c382c7: ( no output )
10:13 sergot_ m: my %a; my $value = 123; %a{'b'}.push: ($value); say %a<b>.WHAT # hey, I want it to be an array! :)
10:13 camelia rakudo-moar c382c7: OUTPUT«(Array)␤»
10:13 sergot_ oh, it's
10:17 masak "oh, it is". you can't contract at the end of a sentence, for some reason. ;)
10:18 sergot_ masak++ thanks! :)
10:18 jnthn wow, English is arbitrary sometimes...
10:18 tobiasvl jnthn: most of the time actually
10:19 colomon joined #perl6
10:19 masak all languages are arbritary to some extent.
10:19 tobiasvl ghoti
10:19 sergot_ m: my %H = <a 1>; %H<a>.push: 2; say %H<a>;
10:19 camelia rakudo-moar c382c7: OUTPUT«Cannot call 'push'; none of these signatures match:␤:(Any:U \SELF: *@values, *%_)␤  in block  at /tmp/WqvmuYVLzw:1␤␤»
10:19 sergot_ m: my %H = <a 1>; %H<a>.push: (2); say %H<a>;
10:19 camelia rakudo-moar c382c7: OUTPUT«Cannot call 'push'; none of these signatures match:␤:(Any:U \SELF: *@values, *%_)␤  in block  at /tmp/8SP1qox21o:1␤␤»
10:19 jnthn haha :)
10:20 jnthn Yeah, English spelling is mostly awful
10:20 sergot_ here it is. I want this (2) to be an array! :)
10:20 jnthn Then make it one
10:21 jnthn m: my %h = a => [1]; %h<a>.push: 2; say %h<a>
10:21 camelia rakudo-moar c382c7: OUTPUT«1 2␤»
10:21 felher joined #perl6
10:22 masak hmmm...
10:22 masak m: class C { has $.a; method foo { say $.a } }; C.new(:a(42)).foo
10:22 camelia rakudo-moar c382c7: OUTPUT«42␤»
10:22 masak m: class C { has $a; method foo { say $a } }; C.new(:a(42)).foo
10:22 camelia rakudo-moar c382c7: OUTPUT«(Any)␤»
10:22 masak this seems wrong. I would expect 42 in the second case, too.
10:23 * masak goes to S12 to try to confirm this
10:23 jnthn masak: No, it's private then
10:23 jnthn Has to be $.a
10:23 jnthn For new to see it's public
10:23 lizmat .oO( "it's".then( LibertyBell.cue ).then( Foot ) )
10:24 masak jnthn: ah, that explains it.
10:24 masak I will notify lichtkind of this while he's not busy giving a talk ;)
10:24 jnthn Yes
10:24 jnthn :)
10:24 sergot_ m: my %h = a => [1]; %h<a>.push: 2; say "|$_" for %h<a>;
10:24 camelia rakudo-moar c382c7: OUTPUT«|1 2␤»
10:25 masak yes, S12 confirms this.
10:25 jnthn m: my %h = a => [1]; %h<a>.push: 2; say "|$_" for @%h<a>;
10:25 camelia rakudo-moar c382c7: OUTPUT«===SORRY!===␤postcircumfix:<{ }> not defined for type List␤»
10:25 masak has $brain;     # also declares $!brain;
10:25 jnthn oops
10:25 jnthn m: my %h = a => [1]; %h<a>.push: 2; say "|$_" for %h<a>.list;
10:25 camelia rakudo-moar c382c7: OUTPUT«|1␤|2␤»
10:25 sergot_ jnthn++ thank you :)
10:26 pecastro joined #perl6
10:26 masak m: class Pinky { has $brain; method foo { say $brain } }; Pinky.new(:brain<meheheheheh>).foo
10:26 camelia rakudo-moar c382c7: OUTPUT«(Any)␤»
10:26 masak m: class Pinky { has $brain = "meheheheheh"; method foo { say $brain } }; Pinky.new.foo
10:26 camelia rakudo-moar c382c7: OUTPUT«meheheheheh␤»
10:26 masak \o/
10:27 lizmat I think it is mentioned somewhere that you can leave off the ! in "has $brain"
10:27 masak oh, he even mentioned it just now. lichtkind++ :)
10:27 masak lizmat: yes, see above at 12:25 ;)
10:28 lizmat ack
10:28 lizmat (oops)
10:28 jnthn What...cats trusting dogs?!
10:28 jnthn :P
10:30 bowtie joined #perl6
10:30 masak jnthn: Perl 6 makes the impossible easy! :P
10:31 jnthn lichtkind++ has big text on his slides and speaks slower, so I can follow more of this one :)
10:32 masak lichtkind++ indeed
10:35 masak m: class C is mgwhagrbl {}
10:35 camelia rakudo-moar c382c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/oVnsoGnIJ4�'C' cannot inherit from 'mgwhagrbl' because it is unknown.�at /tmp/oVnsoGnIJ4:1�------> �»
10:35 masak that is a *good* error message.
10:35 masak whoever++
10:42 masak m: role R1 {}; role R2 {}; class C { also does R1 does R2 }; say "alive"
10:42 camelia rakudo-moar c382c7: OUTPUT«alive␤»
10:43 masak ooh, didn't know you could chain 'does' there.
10:43 masak m: role R1 { method foo {} }; role R2 { method foo {} }; class C { also does R1 does R2 }; say "alive"
10:43 camelia rakudo-moar c382c7: OUTPUT«===SORRY!===␤Method 'foo' must be resolved by class C because it exists in multiple roles (R2, R1)␤»
10:43 bowtie joined #perl6
10:43 masak nice.
10:43 lizmat again a good error message :-)
10:43 masak yep :)
10:43 cooper joined #perl6
10:43 moritz uhm, why? those aren't stubs.
10:43 masak moritz: method conflict between roles.
10:44 masak moritz: (read the error message) :P
10:44 moritz oh
10:44 * moritz reads
10:44 masak aka "why roles are nice"
10:45 jnthn lunch :)
10:48 Alula joined #perl6
10:56 rurban joined #perl6
11:39 skids masak: The bug last night was a riff off dwarring++ discovering odd behavior yesterday.  He thought it was +>, but it goes less deep than that.
11:39 skids So he may have filed, I dunno.
11:39 * skids commute.
11:45 masak dwarring: did you? :)
11:48 * jnthn obedoval :)
11:55 dalek joined #perl6
11:57 rurban joined #perl6
12:00 Alina-malina joined #perl6
12:01 kurahaupo joined #perl6
12:06 masak lichtkind++ was happy when I told him I learned about 'also does R1 does R2' during his talk. :)
12:06 masak (I knew that you could 'does R1 does R2' in the class header, and I knew about 'also does R', but I didn't know you could also-does several roles in the same statement.)
12:08 masak oh, apparently the parsing works by doing <trait>+
12:08 masak so you should be able to mix 'does' and 'is' and other traits ad lib.
12:11 Ulti "string".flip and not .reverse or .rev was my third guess
12:11 Ulti is reverse on lists?
12:12 masak yes.
12:13 lizmat masak is now on
12:53 skids joined #perl6
12:58 xragnar joined #perl6
12:59 rurban joined #perl6
13:01 mattp_ joined #perl6
13:05 masak masak is now off
13:06 FROGGS :o)
13:06 FROGGS looks like you guys/girls have fun :o)
13:08 moritz at least on and off :-)
13:10 masak :)
13:11 masak wendy is currently on.
13:11 masak er, woolfy++
13:20 retupmoca r: say ('x' ~~ /<print>/)
13:20 camelia rakudo-jvm c382c7: OUTPUT«Cursor<294795359>Cursor<380825084>java.lang.RuntimeException: No such attribute '$!pos' for this object␤  in method ACCEPTS at gen/jvm/CORE.setting:13079␤  in block  at /tmp/tmpfile:1␤␤»
13:20 camelia ..rakudo-moar c382c7: OUTPUT«Cursor<139761133568496>Cursor<139761133615816>P6opaque: no such attribute '$!pos'␤  in method ACCEPTS at src/gen/m-CORE.setting:13136␤  in block  at /tmp/tmpfile:1␤␤»
13:20 camelia ..rakudo-parrot c382c7: OUTPUT«Cursor<450694000491971999>Cursor<450694000489389709>Can not get attribute '$!pos' declared in class 'Cursor' with this object␤  in regex  at /tmp/tmpfile:1␤  in method ACCEPTS at gen/parrot/CORE.setting:13102␤  in method ACCEPTS at gen/parrot/CORE.…»
13:22 thou joined #perl6
13:30 lizmat and woolfy is off  :-)   *phew*   the beamer didn't take her screen resolution, so we had to use mine
13:32 * masak .oO( it's always a bit unsettling to lend your screen resolution to someone else )
13:36 salv0 joined #perl6
13:36 masak pugs: 2 = 4
13:36 camelia pugs: OUTPUT«*** Can't modify constant item: VInt 2␤    at /tmp/7ovGn3oV7a line 1, column 1 - line 2, column 1␤»
13:37 masak that error message is more awesome (or at least less LTA) than Rakudo's.
13:37 masak m: 2 = 4
13:37 camelia rakudo-moar c382c7: OUTPUT«No such method 'STORE' for invocant of type 'Int'␤  in block  at /tmp/xRjF7XzSnx:1␤␤»
13:37 * lizmat thinks about adding an Any.STORE method that would throw an appropriate exception
13:37 lizmat is that a plan?
13:38 moritz I think that's the wrong direction
13:38 moritz adding methods that alway die confuses the hell out of introspection
13:39 moritz r: 2 = 4
13:39 camelia rakudo-moar c382c7: OUTPUT«No such method 'STORE' for invocant of type 'Int'␤  in block  at /tmp/tmpfile:1␤␤»
13:39 camelia ..rakudo-{parrot,jvm} c382c7: OUTPUT«Cannot modify an immutable value␤  in block  at /tmp/tmpfile:1␤␤»
13:39 moritz the correct approach is to find out how the parrot and JVM backends manage to produce the better error, and mimic that in the moar backend
13:41 Ven moritz: unless .^can('STORE') { fail "Immutable, too bad !" } ?
13:41 moritz Ven: is that what the other backends do?
13:41 Ven moritz: no idea. Probably not - doesn't look very sensible to me
13:42 FROGGS look at #moarvm, it happens in nqp (code-gen)
13:46 itz joined #perl6
13:47 guru joined #perl6
13:49 masak moritz++ # architectural steering
13:53 btyler joined #perl6
13:53 yakudza @tudorconstantin Full #Perl description in just one image pic.twitter.com/t0nmSw9y0u
13:55 lizmat joined #perl6
13:56 salv0 joined #perl6
13:58 lizmat looks like X::Assignment::RO is not being thrown in the Moar case
13:59 rurban joined #perl6
14:00 jnthn Right
14:00 jnthn I wonder how we factor that out
14:00 jnthn Or if we should
14:00 jnthn Oh...
14:01 jnthn Maybe we should just intercept STORE dispatch failing
14:01 jnthn src/Perl6/Metamodel/BOOTSTRAP.nqp2930
14:01 FROGGS yakudza: :o)
14:01 jnthn *:2930
14:02 kurahaupo joined #perl6
14:02 jnthn In there it's possible to reach the thingy to throw the assignment error from P6EX
14:04 rindolf joined #perl6
14:04 xenoterracide__ joined #perl6
14:06 virtualsue joined #perl6
14:07 thou joined #perl6
14:14 btyler oh! panda is compiling again. not sure I understand why -- don't see any commits oriented that way
14:14 jnthn btyler: I worked out which commit messed it up and backed it out
14:14 jnthn It was a more minor optimization
14:15 jnthn I'll revisit it, and now know how to reproduce the issue.
14:15 lizmat working on *:2930
14:16 btyler jnthn: oh, gotcha. sorry, I misunderstood you when you said it'll wait until after release
14:16 Ven can I get the list of classes/roles defined in a class ?
14:18 jnthn btyler: Right. Anyway, Panda is working again with r-m/spesh :)
14:19 tgt joined #perl6
14:20 Ulti is doing self.WHAT.new(); ok or gross?
14:20 lizmat what's wrong with self.new ?
14:20 PerlJam r: class W { class C {}; class X { } }; say W::.keys
14:20 camelia rakudo-{parrot,jvm,moar} c382c7: OUTPUT«C X␤»
14:20 PerlJam Ven: like that?
14:21 Ulti well I am in the parent class so wasnt sure if self.new would be the parent or the child
14:21 Ven m: class W { method a {}; has $.k; class X {}; class Y {} }; say W::.keys
14:21 camelia rakudo-moar c382c7: OUTPUT«X Y␤»
14:21 Ven PerlJam: yep, thanks
14:22 Ven PerlJam: what I'm trying to do, basically, is to foreach the classes declared in X, and install all the methods of the base class into the parent's class, with a prefixed name
14:22 Ven (just trying to adapt some ruby code)
14:22 masak m: say "a" cmp "b"
14:22 camelia rakudo-moar c382c7: OUTPUT«Less␤»
14:22 masak m: say Less.WHAT
14:22 camelia rakudo-moar c382c7: OUTPUT«(Order)␤»
14:22 masak m: say Order::.keys
14:22 camelia rakudo-moar c382c7: OUTPUT«Less Same More␤»
14:22 PerlJam Ven: you wouldn't just use delegation?
14:23 masak m: say +Less
14:23 camelia rakudo-moar c382c7: OUTPUT«-1␤»
14:23 Ven PerlJam: I want to make it a trait, or a is.
14:23 Ven PerlJam: if you can read ruby, my current code is here https://gist.github.com/Nami-Doc/3190490d3a3e900178c1
14:23 masak m: say Less == More
14:23 camelia rakudo-moar c382c7: OUTPUT«False␤»
14:23 masak m: say abs(Less) == abs(More) # hee hee
14:23 camelia rakudo-moar c382c7: OUTPUT«True␤»
14:24 sergot_ :D
14:24 masak RELEASE IS DAY AFTER TOMORROW
14:25 masak WE STILL DON'T HAVE A RELEASE MANAGER
14:25 jnthn /o\
14:25 masak I've been asking people *twice* to volunteer...
14:25 masak are people especially busy this month?
14:25 * jnthn kinda is :P
14:25 masak look, I can do it.
14:25 * FROGGS is not even listening :P
14:25 FROGGS *lalalala*
14:25 masak someone sign up for some other month, and I'll sign up for Thursday.
14:26 _sri shut up and come to mojoconf!
14:26 FROGGS I can do that also, just need somebody to put up the tarballs
14:26 moritz FROGGS: just /msg me your public key
14:26 masak FROGGS: are you volunteering for Thursday?
14:26 FROGGS ohh ohh ohh, I will do it on Thu when jnthn reviews my label stuff *g*
14:27 moritz now that's just evil politics :-)
14:27 masak FROGGS: please add yourself to the list in the release guide.
14:27 FROGGS hehe
14:27 FROGGS masak: k
14:27 jnthn FROGGS: Well, I *have* just about finished my talk for tomorrow :)
14:27 masak I love it when a plan comes together.
14:27 sergot_ I can do this to, but better not this time, I don't know steps and stuff. :)
14:27 moritz I can also do a release, but I'd propose I do the star release instead
14:27 masak moritz: deal.
14:27 PerlJam sergot_: they are documented in the release guide
14:27 masak sergot_: please sign up for later this year.
14:27 FROGGS sergot_: there will be another chance :o)
14:27 masak sergot_: it's really not hard.
14:28 masak sergot_: and you will feel better for it.
14:28 sergot_ great, so, next month maybe?
14:28 FROGGS and we are there to help and guide
14:28 masak sergot_: yes! :)
14:28 sergot_ deal! :)
14:28 * masak .oO( *now* they come out of the woodworks... )
14:28 PerlJam masak: better than never ;)
14:28 masak troo
14:29 hoelzro morning #perl6
14:29 masak but it had to come to all-caps...
14:29 PerlJam masak: I DON'T KNOW WHAT YOU'RE TALKING ABOUT.
14:29 * masak .oO( cruise control for awesome )
14:29 sergot_ It looks like a boring stuff when you don't want to do this so much. :)
14:30 itz what's the perl6 equiv of my (undef, $a, $b) =?
14:30 moritz m: my (*, $a, $b) = <a b c>; say $a
14:30 camelia rakudo-moar c382c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/f2iBje8_x1â�¤Malformed parameterâ�¤at /tmp/f2iBje8_x1:1â�¤------> [32mmy ([33mâ��[31m*, $a, $b) = <a b c>; say $a[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
14:30 moritz grml
14:31 moritz m: my ($, $a, $b) = <a b c>; say $a
14:31 camelia rakudo-moar c382c7: OUTPUT«b␤»
14:31 moritz itz: just use an anonymous variable
14:31 flussence m: my (, $a, $b) = ^4; say $a, $b;
14:31 camelia rakudo-moar c382c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/8BXDUNlflhâ�¤Malformed parameterâ�¤at /tmp/8BXDUNlflh:1â�¤------> [32mmy ([33mâ��[31m, $a, $b) = ^4; say $a, $b;[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
14:31 itz moritz: thanks
14:31 Ven flussence: $
14:31 moritz speaking of which
14:31 * PerlJam wishes P5 would adopt that little bit of syntax
14:31 masak PerlJam: but what about $, ?
14:31 moritz sometimes I wish for the opposite: a parameter with a name that's not bound to a variable
14:32 itz my (undef) always seemed ok
14:32 masak PerlJam: and $) ?
14:32 moritz for   multi candidate($a, :$marker!) { }
14:32 PerlJam masak: that's why we have really smart compilers :)
14:32 moritz where I never use the $marker
14:32 masak itz: Perl 6 doesn't have undef as such.
14:32 masak m: undef
14:32 camelia rakudo-moar c382c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/2ho0lWJ5oaâ�¤Unsupported use of undef as a value; in Perl 6 please use something more specific:â�¤     Any (the "whatever" type object),â�¤      an undefined type object such as Int,â�¤  :!defined as a matche…»
14:32 sergot_ m: $
14:32 camelia rakudo-moar c382c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/PvzBmHoWDBâ�¤Non-declarative sigil is missing its nameâ�¤at /tmp/PvzBmHoWDB:1â�¤------> [32m<BOL>[33mâ��[31m$[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤     …»
14:32 Ven m: sub f { state $; } # :(
14:32 camelia rakudo-moar c382c7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/8aQ_dmPM2V�Unsupported use of $; variable; in Perl 6 please use real multidimensional hashes�at /tmp/8aQ_dmPM2V:1�------> [32msub f { state $;[33m�[31m } # :([0m�»
14:32 masak m: sub f { state $ ; }
14:32 camelia rakudo-moar c382c7: ( no output )
14:32 JimmyZ std: $
14:33 camelia std ec3d853: OUTPUT«[31m===[0mSORRY![31m===[0m�Non-declarative sigil is missing its name at /tmp/Owdaz0pTug line 1:�------> [32m<BOL>[33m�[31m$[0m�Use of uninitialized value $first in string eq at STD.pm line 67059.�Use of uninitialized value $first in string lt at…»
14:33 masak m: sub f { state $ }
14:33 camelia rakudo-moar c382c7: ( no output )
14:33 Ven it does parse tho hhehe
14:33 Ven masak: yea, yea, I know :-)
14:33 Ven .oO( I just invented global variables )
14:34 jnthn :P
14:35 dalek rakudo/nom: 078fe52 | (Tobias Leich)++ | docs/release_guide.pod:
14:35 dalek rakudo/nom: add myself for release on May 22
14:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/078fe52116
14:38 masak FROGGS++
14:39 Juerd joined #perl6
14:39 masak sergot: where's your commit? :)
14:43 sergot masak: here is my pull request: https://github.com/rakudo/rakudo/pull/271
14:43 dalek rakudo/nom: 645d17f | sergot++ | docs/release_guide.pod:
14:43 dalek rakudo/nom: add myself for release #77
14:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/645d17f871
14:43 dalek rakudo/nom: a73305b | (Tobias Leich)++ | docs/release_guide.pod:
14:43 dalek rakudo/nom: Merge pull request #271 from sergot/nom
14:43 dalek rakudo/nom:
14:43 dalek rakudo/nom: add myself for release #77
14:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a73305b4ea
14:44 sergot \o/
14:44 kaare_ joined #perl6
14:47 sergot So much motivation after plpw.
14:48 jnthn *So motivation
14:48 jnthn ;)
14:48 sergot agrh, thanks jnthn++
14:49 jnthn sergot: uh, sorry, that was naughty of me. "So motivation" is the doge meme way to write it :)
14:49 masak so confuse.
14:49 sergot haha :D
14:49 masak sergot: you don't have a commit bit to rakudo?
14:50 sergot I don't, I'm only a member of perl6 organization
14:50 masak sergot: may I recommend that you do something about that before relase #77? :)
14:51 masak (send in the CLA, I mean)
14:51 sergot masak: yeees? :)
14:51 masak (it's called CLA, right? is that the right TLA?) :P
14:52 masak is this process documented anywhere?
14:52 JimmyZ LTA
14:52 masak JimmyZ: :P
14:52 JimmyZ :P
14:52 jnthn Also, we can grant a temporary commit bit in order to do a release.
14:52 jnthn (without CLA)
14:53 jnthn Or can be PR'd of course...
14:53 jnthn But easier with the commit bit.
14:54 sergot I can send the CLA actually.
14:54 jnthn ok :)
14:54 jnthn Better still
14:55 sergot Where can I find it ?
14:55 PerlJam http://www.perlfoundation.org/contributor_license_agreement
14:55 Ven signing CLA is needed for commit bit ?
14:58 tadzik for rakudo, yes
14:58 lizmat yes
14:58 lizmat for rakudo that is
14:59 masak yes it is -- for rakudo.
14:59 Ven ETOMANYCONFIRMATION
14:59 Ven s/TO/TOO
15:00 * Ven sighs
15:00 PerlJam Ven: wait ... wait ... no ... yes, you need it for a commit bit to rakudo.
15:00 PerlJam ;)
15:00 Ven thanks PerlJam.
15:00 sergot PerlJam++: thanks
15:00 masak I should add that it's only for Rakudo that you need a CLA.
15:01 sergot Why so?
15:01 PerlJam masak: good point.  maybe we should reiterate that.
15:01 jnthn Did anybody mention today that Rakudo needs a CLA for a commit bit?
15:01 kaleem joined #perl6
15:01 jnthn :P
15:01 jnthn It's to do with the compilation copyright, iirc.
15:01 masak sergot: because you need a CLA to get a commit bit for Rakudo.
15:01 Ven jnthn: hey, what's this thing that requires CLA already ?
15:01 masak Rakudo.
15:02 Ven masak: are you part of the tautology club :P ?
15:02 masak no, but part of the tautology club is.
15:02 Ven masak++
15:02 sergot haha :)
15:03 masak moritz: suggestion -- throws_like should be in Test.pm, not Test::Util.
15:03 sergot I was just wondering why it's only rakudo that requires cla.
15:04 moritz masak: now that it uses proper subtests, I'm all for it
15:04 * sergot is printing the CLA
15:04 masak sergot: the real reason is that Rakudo used to be part of the Parrot repo, and the Parrot repo requires a CLA.
15:04 moritz masak: (previously it ran a variable number of tests, which I deemed not good enough for Test.pm6)
15:04 masak moritz: ok, adding it to Test.pm now.
15:05 moritz another "real reason" iirc is that pmichaud++ did some of the rakudo work under a TPF grant, and the grant application talked about the CLA, or something along these lines
15:05 lizmat moritz, masak: I'll take care of that
15:05 masak ok, delegating to lizmat++.
15:06 jnthn +1
15:06 moritz ++lizmat
15:06 jnthn FROGGS: OK, for labels there are branches in all(MoarVM, NQP, Rakudo) to review?
15:06 sergot masak: now it's clear
15:07 FROGGS jnthn: yes, loop_labels in moar and nqp, loop_labels_test in rakudo
15:07 Ven TPF ?
15:07 FROGGS the peril foundation
15:07 Ven .oO( pmichaud is in peril, help him !)
15:07 masak the purring foundation
15:08 FROGGS purrfect*
15:08 masak :D
15:08 Ven .oO( pmichaud is in peril, help him !)
15:08 jnthn FROGGS: Thanks. :)
15:09 FROGGS jnthn: I thank you :o)
15:09 PerlJam Does that mean that loop labels will most likely be in this release?
15:09 FROGGS PerlJam: if there is nothing wrong with the approach, yes
15:10 moritz no; if the release is this Thursday, it might make sense to wait merging
15:10 moritz *wait with merging
15:10 FROGGS nooooooooooo
15:10 jnthn Unless I find something terribly flawed, they can likely go in.
15:10 Ven you'll get to update the feature matrix :P
15:10 jnthn Given that FROGGS has discussed the approach along the way with me, I think that's unlikely.
15:10 PerlJam FROGGS++ in any case :)
15:10 treehug88 joined #perl6
15:10 moritz FROGGS: I'm not the rlease manager, so it's just an opinion from me :-)
15:10 jnthn FROGGS: I do assume you spectested...
15:10 jnthn :)
15:10 FROGGS jnthn: I think so :P
15:11 FROGGS moritz: I am the current manager, luckily :D
15:12 anaeem1_ joined #perl6
15:12 jnthn FROGGS: "+        case MVM_EX_CAT_NEXT|MVM_EX_CAT_LABELED:" # I prefer whitespace around infixes ;)
15:12 FROGGS noted
15:13 FROGGS jnthn: also, I will squish the commits when I get your okay
15:13 FROGGS then I'll also fix that
15:13 masak lizmat, moritz: by the way, I found an output bug in throws_like -- the "\n" doesn't mesh well with subtests and indenting. should be separate &diag calls, methinks.
15:13 masak will either of you patch it, or shall I?
15:13 * moritz can't, atm
15:14 masak I could fix it, but I got the impression that lizmat++ is currently putting throws_like into Test.pm
15:16 lizmat joined #perl6
15:17 FROGGS[mobile] joined #perl6
15:19 igorsutton joined #perl6
15:19 jnthn FROGGS[mobile]: About "+#define MVM_EX_CAT_HANDLER       8192", I think MVM_EX_CAT_FILTER may be a better name?
15:20 FROGGS[mobile] ohh, I think it is not needed anymore since friday, but need to check
15:20 jnthn oh, it went away
15:20 jnthn well, partially
15:21 jnthn nope, removed in headers too. yay.
15:22 lizmat grr... for some reason, my connectivity is *extra* flaky :-(
15:23 jnthn /* The label of the block the handler is attached to. */
15:23 jnthn -    MVMint64 block_label;
15:23 jnthn +    unsigned short block_label;
15:23 jnthn FROGGS[mobile]: I think comment wants updating, but also I'd say that the variable wnats calling label_reg.
15:23 jnthn To go with block_reg
15:23 FROGGS[mobile] k
15:25 PerlJam .oO( cat filter?  Is this what cat herding requires? )
15:26 masak lizmat is having network problems.
15:26 masak she says as soon as she gets network back, she'll push a commit.
15:28 bowtie joined #perl6
15:28 btyler joined #perl6
15:28 dalek rakudo/nom: eb4f552 | (Elizabeth Mattijsen)++ | tools/build/Makefile- (3 files):
15:28 dalek rakudo/nom: We need VM to be done before Distro
15:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/eb4f552d49
15:28 dalek rakudo/nom: 2ea11cc | (Elizabeth Mattijsen)++ | src/core/Exception.pm:
15:28 dalek rakudo/nom: Add "typename" attribute to RO.new.throw;
15:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2ea11cc757
15:28 dalek rakudo/nom: 10ceb28 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
15:28 dalek rakudo/nom: Intercept method not found error for STORE
15:28 dalek rakudo/nom:
15:28 dalek rakudo/nom: So that we can give a better than LTA error message
15:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/10ceb2895c
15:28 jnthn social &
15:29 treehug8_ joined #perl6
15:30 lizmat joined #perl6
15:43 anaeem1 joined #perl6
15:45 donaldh joined #perl6
15:49 cognominal__ joined #perl6
15:50 guru joined #perl6
15:55 anaeem1_ joined #perl6
15:55 PerlJam I was thinking about what masak said in relation to obtaining a commit bit: <masak> is this process documented anywhere?   So, I started a document: https://gist.github.com/perlpilot/fa77db755054a50e62eb    What do you think?  Should I add it to rakudo/docs?
15:55 bjz joined #perl6
15:57 Ulti in Perl6 is there a variable for the current iteration of a for loop?
15:57 Ulti or am I crazy
15:59 timotimo no, but you can @list.kv -> $index, $_ { }
15:59 PerlJam Ulti: like $_?
15:59 yoleaux 07:15Z <FROGGS> timotimo: that's wrong: If I understand correctly, the bug where MoarVM incorrectly turned nums into strings was fixed. Turns out it was forgetting about the ‘e’ inside scientific notation.
15:59 yoleaux 07:16Z <FROGGS> timotimo: when coercing to a string it lost trailing zero's for scientific notation, when it only should strip these for \d+.\d+ looking floats
16:00 Rotwang joined #perl6
16:01 Ulti PerlJam: yeah but the number of times you have gone around the loop rather than what was passed in
16:01 PerlJam Ulti: so ... what timotimo  said.
16:01 Ulti ahhh k k
16:01 timotimo Ulti: (state $num)++
16:02 Ulti also I am having a bit of trouble with .split it looks to be doing :all by default
16:03 PerlJam Ulti: show the code?
16:03 Ulti oh no its just including empty strings between repeated delimiters
16:03 Ulti my bad
16:04 lizmat joined #perl6
16:05 PerlJam once we have user-defined indexes on arrays, I suppose that for @thing.kv -> $i, $v {...} may not do what Ulti expected.  (i.e., you'll get the user-defined keys rather than a 0-based index)
16:06 denis_boyun joined #perl6
16:06 Ulti oh that is weird, so if I split on repeated delimiters I still get an empty string between what is the end of the string and the repeated delimiter
16:07 Ulti PerlJam someone would alter indexes even for the lists I have defined?
16:07 Ulti sounds like a bad bad feature
16:08 PerlJam Ulti: well, that someone would probably be you  :)
16:08 TimToady we should just make state++ work :)
16:10 treehug88 joined #perl6
16:10 Ulti can I run p5 in here as well as p6?
16:11 Ulti m: for split /\*+/, "K**QK**" -> $string {say $string}
16:11 camelia rakudo-moar a73305: OUTPUT«K␤QK␤␤»
16:11 Ulti that last "" is both different to perl5 and kind of unexpected
16:11 PerlJam TimToady: I suppose he could always say   for @stuff[].kv -> $i, $v {...} to get the numeric indexes if @stuff.kv were to give the user-defined indexes.
16:12 PerlJam or flip it the other way.   @stuff.kv always gives the numeric indexes, and you must say  @stuff{}.kv to get the user-defined indexes
16:12 PerlJam or something like that.
16:13 * Ulti just used comb and got what he wanted
16:14 Ulti though I still dont think split should be adding this extra boundary against the end of line
16:15 PerlJam It doesn't.  You're just too used to P5 dropping trailing empty fields.
16:18 PerlJam Maybe split should have an option to drop the trailing empty fields too. (It may already, I didn't check the spec)
16:19 Ulti and I think that should be on by default given the normal use case of splitting a delimited line and doing something with the fields
16:19 timotimo i think split and join should round-trip without extra arguments
16:19 Ulti like if I did a split on delimiter and pushed a field on the end and did a join I would have an empty column introduced to my data
16:21 Ulti on the upside I just finished my 6frame translator stuff in Perl6 :D
16:21 * PerlJam is with timotimo on this one.
16:22 * tadzik too
16:23 bowtie joined #perl6
16:26 Psyche^_ joined #perl6
16:27 cognominal__ Ulti, what's a 6frame translator?
16:34 dalek rakudo/nom: 8b54788 | duff++ | docs/obtaining-a-commit-bit.pod:
16:34 dalek rakudo/nom: Add a document on how to get a commit bit
16:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8b54788970
16:35 PerlJam I decided on just commmitting it.  If it helps, great.  feel free to edit it
16:37 FROGGS joined #perl6
16:43 dalek rakudo/nom: 8510a87 | moritz++ | src/Perl6/Metamodel/ParametricRoleGroupHOW.nqp:
16:43 dalek rakudo/nom: fix typo in comment
16:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8510a87332
16:45 dalek rakudo/nom: 05841b3 | moritz++ | docs/obtaining-a-commit-bit.pod:
16:45 dalek rakudo/nom: Mention that typically the patches come first, then the commit bit
16:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/05841b30cb
16:50 rurban_ joined #perl6
16:53 kivutar joined #perl6
17:06 sobedrinker42 joined #perl6
17:07 sobedrinker42 hello
17:13 PerlJam sobedrinker42: greetings
17:14 [Sno] joined #perl6
17:20 vendethiel Ooh, Lojack Absolute.
17:20 vendethiel Kinda glad to know I don't have this stuff on my comp; i'm not one of the 2mil with a backdoor :)
17:21 vendethiel TimToady: make "state++" work ? that seems a bit limiting
17:22 TimToady oh half serious, but (state$)++ seems to happen frequently
17:22 TimToady *only
17:22 vendethiel m: my \state = 5; say state; # ;D
17:23 camelia rakudo-moar 10ceb2: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/zCWppMvM4fâ�¤Malformed stateâ�¤at /tmp/zCWppMvM4f:1â�¤------> [32mmy \state = 5; say state[33mâ��[31m; # ;D[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
17:26 telex joined #perl6
17:28 TimToady m: macro term:<counter> () { quasi { (state $)++ } }; say counter for <a b c d e>;
17:28 camelia rakudo-moar 10ceb2: OUTPUT«AST.new()␤AST.new()␤AST.new()␤AST.new()␤AST.new()␤»
17:28 TimToady o_O
17:29 TimToady m: macro counter () { quasi { (state $)++ } }; say counter() for <a b c d e>;
17:29 camelia rakudo-moar 10ceb2: OUTPUT«Cannot modify an immutable Mu␤  in sub postfix:<++> at src/gen/m-CORE.setting:1868␤  in any  at /tmp/IjPZfj3shU:1␤  in block  at /tmp/IjPZfj3shU:1␤␤»
17:29 TimToady say what?
17:30 TimToady m: say (state $)++
17:30 camelia rakudo-moar 10ceb2: OUTPUT«0␤»
17:30 TimToady masak: ^^^
17:32 TimToady m: macro counter () { quasi { (state $foo)++ } }; say counter() for <a b c d e>;
17:32 camelia rakudo-moar 10ceb2: OUTPUT«Cannot modify an immutable Mu␤  in sub postfix:<++> at src/gen/m-CORE.setting:1868␤  in any  at /tmp/BfIMKLpOXJ:1␤  in block  at /tmp/BfIMKLpOXJ:1␤␤»
17:32 TimToady m: macro counter () { quasi { (state $foo = 0)++ } }; say counter() for <a b c d e>;
17:32 camelia rakudo-moar 10ceb2: OUTPUT«Cannot modify an immutable Mu␤  in sub postfix:<++> at src/gen/m-CORE.setting:1868␤  in any  at /tmp/skaNfzkZ2O:1␤  in block  at /tmp/skaNfzkZ2O:1␤␤»
17:32 * TimToady is flummoxed
17:33 vendethiel m: macro counter () { state $foo; quasi {{{ $foo++ }}} }; say counter() for <a b c d e>;
17:33 camelia rakudo-moar 10ceb2: OUTPUT«0␤1␤2␤3␤4␤»
17:33 vendethiel :P
17:33 vendethiel you can't find macros, they'll come back and bite you
17:33 vendethiel s/find/fight/
17:34 TimToady m: macro counter () { state $foo; quasi {{{ $foo++ }}} }; say counter(), counter(), counter()
17:34 camelia rakudo-moar 10ceb2: OUTPUT«012␤»
17:34 TimToady wrong, those are supposed to be separate counters
17:34 TimToady and quasi doesn't need triple quotes
17:35 TimToady unquoting uses triples
17:35 TimToady m: macro counter () { quasi { state $foo; $foo++ } }; say counter() for <a b c d e>;
17:35 camelia rakudo-moar 10ceb2: OUTPUT«Cannot modify an immutable Mu␤  in sub postfix:<++> at src/gen/m-CORE.setting:1868␤  in any  at /tmp/nVuJ3Ypajr:1␤  in block  at /tmp/nVuJ3Ypajr:1␤␤»
17:36 fhelmberger joined #perl6
17:36 TimToady m: macro counter () { quasi { { state $foo; $foo++ } } }; say counter() for <a b c d e>;
17:36 camelia rakudo-moar 10ceb2: OUTPUT«0␤1␤2␤3␤4␤»
17:36 TimToady for some reason needs extra {} there...
17:37 TimToady m: macro counter () { quasi { { (state $)++ } } }; say counter() for <a b c d e>;
17:37 camelia rakudo-moar 10ceb2: OUTPUT«0␤1␤2␤3␤4␤»
17:37 TimToady m: macro counter () { quasi { ( (state $)++ ) } }; say counter() for <a b c d e>;
17:37 camelia rakudo-moar 10ceb2: OUTPUT«Cannot modify an immutable Mu␤  in sub postfix:<++> at src/gen/m-CORE.setting:1868␤  in any  at /tmp/poFsXoscsM:1␤  in block  at /tmp/poFsXoscsM:1␤␤»
17:37 TimToady extra parens not good enough
17:38 hoverboard joined #perl6
17:53 [Coke] -> (13:48) From Kazrak, to random:
17:53 [Coke] - "Ph'nglui mglw'nafh Cthulhu '#define OPENSSL_VMS' wgah'nagl fhtagn"
17:58 xenoterracide joined #perl6
18:10 [Coke] http://albany.pm.org/slides/2014-05-19/unicodeandperl.pdf - one of our albany.pm folks put together a nice presentation on unicode & perl5.
18:10 FROGGS [Coke]: is that klingon?
18:11 FROGGS ahh, no :o)
18:11 [Coke] crap, I'm already signed up for august.
18:13 vendethiel TimToady: oh, you want to generate counters ?
18:14 vendethiel m: macro counter () { quasi { my anon sub { (state $ )++ } } }; say counter.(), counter.(), counter.()
18:14 camelia rakudo-moar 05841b: OUTPUT«[31m===[0mSORRY![31m===[0m�Type 'anon' is not declared�at /tmp/jLaonyjrLR:1�------> [32mmacro counter () { quasi { my anon[33m�[31m sub { (state $ )++ } } }; say counter.([0m�Malformed my�at /tmp/jLaonyjrLR:1�------> [32mmacro counte…»
18:14 vendethiel m: macro counter () { quasi { anon sub { (state $ )++ } } }; say counter.(), counter.(), counter.()
18:14 camelia rakudo-moar 05841b: OUTPUT«000␤»
18:14 vendethiel (or probably return a PROXY with a `FETCH` being `state++`
18:15 [Coke] me shouldbe unburied by august
18:29 dalek nqp/loop_labels: 96ef351 | jonathan++ | src/NQP/Optimizer.nqp:
18:29 dalek nqp/loop_labels: Can also lower $_.
18:29 dalek nqp/loop_labels:
18:29 dalek nqp/loop_labels: Before, this earned us a SEGV in the Rakudo setting compile, but now
18:29 dalek nqp/loop_labels: that issue is fixed, we can do this optimization.
18:30 dalek joined #perl6
18:30 dalek Heuristic branch merge: pushed 29 commits to rakudo/loop_labels_test by FROGGS
18:30 lizmat joined #perl6
18:36 lizmat joined #perl6
18:39 dwarring joined #perl6
18:40 * PerlJam thinks he has seen that "Can also lower $_" message before.
18:43 vendethiel PerlJam: yep, hence the "branch merge" :-)
18:45 FROGGS yeah, dalek just died away before showing it is a merge
18:45 tadzik btw, there was talk about including v5 in star
18:45 tadzik I'd vote for it to be the "first core" module, as lib.pm and Pod/To/Text.pm are
18:46 PerlJam .oO( and Test.pm )
18:48 FROGGS tadzik: it takes 3 minutes to build, and most of the included P5 core modules are just stubbed
18:48 flussence r: say '2014-05-20' ~~ / (\d+)+ % <[-/]> /
18:48 camelia rakudo-jvm 05841b: OUTPUT«(timeout)»
18:48 camelia ..rakudo-{parrot,moar} 05841b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unsupported use of - as character range; in Perl 6 please use .. for range, for explicit - in character class, escape it or place as last thing�at /tmp/tmpfile:1�------> [32m…»
18:48 flussence n: say '2014-05-20' ~~ / (\d+)+ % <[-/]> /
18:48 camelia niecza v24-109-g48a8de3: OUTPUT«「2014-05-20」␤ 0 => 「2014」␤ 0 => 「05」␤ 0 => 「20」␤␤»
18:48 FROGGS std: say '2014-05-20' ~~ / (\d+)+ % <[-/]> /
18:48 camelia std ec3d853: OUTPUT«ok 00:01 127m␤»
18:48 FROGGS :/
18:49 flussence I get the reason for warning on p5isms, but a fatal error with no off switch?
18:49 FROGGS it says "Unsupported use"
18:49 PerlJam IIRC that bit of code is in NQP.  It could be made to grok - in first position too.
18:50 FROGGS yes, that is the solution, since std agrees
18:50 FROGGS but besides that, every code about an unsupported use should just die away and not just warn
18:58 bjz joined #perl6
19:03 sergot o/
19:14 woolfy joined #perl6
19:16 woolfy1 joined #perl6
19:30 ggherdov joined #perl6
19:31 clkaoud joined #perl6
19:33 water joined #perl6
19:34 dalek roast: fd77fc9 | (David Warring david.warring@gmail.com)++ | integration/advent2013-day09.t:
19:34 dalek roast: DateTime is a standard class
19:34 dalek roast: review: https://github.com/perl6/roast/commit/fd77fc9b02
19:34 dalek roast: 8a2cf47 | (David Warring david.warring@gmail.com)++ | integration/advent2010-day16.t:
19:34 dalek roast: adding 2010 advent day 16
19:34 dalek roast: review: https://github.com/perl6/roast/commit/8a2cf472ce
19:47 guru joined #perl6
19:51 spider-mario joined #perl6
19:53 woolfy joined #perl6
19:53 woolfy1 joined #perl6
19:54 thou joined #perl6
19:57 SevenWolf joined #perl6
20:08 araujo joined #perl6
20:08 araujo joined #perl6
20:10 woolfy1 left #perl6
20:19 vendethiel http://ideone.com/EyTGDe <- Lua's actually even more insane than perl6 on flattening :P
20:23 hoelzro nah =)
20:36 effbiai joined #perl6
20:41 moistcherry joined #perl6
20:55 cooper joined #perl6
20:56 lizmat joined #perl6
21:01 hoverboard joined #perl6
21:04 autark joined #perl6
21:08 thou joined #perl6
21:14 oetiker joined #perl6
21:14 cooper joined #perl6
21:21 sergot good night ! &
21:22 donaldh joined #perl6
21:32 dalek nqp: d78bdec | duff++ | / (2 files):
21:32 dalek nqp: Allow hyphens at the start of a character class
21:32 dalek nqp: review: https://github.com/perl6/nqp/commit/d78bdecc19
21:34 lizmat joined #perl6
21:41 [Sno] joined #perl6
21:50 Sqirrel joined #perl6
21:54 BenGoldberg joined #perl6
21:54 bowtie joined #perl6
21:56 dalek rakudo/nom: 6d81419 | (Elizabeth Mattijsen)++ | / (2 files):
21:56 dalek rakudo/nom: Add "throws_like" to Test, formerly of Test::Util
21:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6d8141911d
21:57 dalek roast: 46c7e56 | (Elizabeth Mattijsen)++ | packages/Test/Util.pm:
21:57 dalek roast: Remove "throws_like" from Test::Util (now in Test)
21:57 dalek roast: review: https://github.com/perl6/roast/commit/46c7e56255
21:57 dalek roast: f1b0f1e | (Elizabeth Mattijsen)++ | S (15 files):
21:57 dalek roast: Remove now unneccesary references to Test::Util
21:57 dalek roast: review: https://github.com/perl6/roast/commit/f1b0f1edba
22:02 bjz joined #perl6
22:05 lizmat masak: ^^^ output bug should be fixed now as well
22:19 dalek rakudo/nom: bc585f2 | (Elizabeth Mattijsen)++ | tools/build/gen-cat.pl:
22:19 dalek rakudo/nom: Omit # vim: specifications from files
22:19 dalek rakudo/nom:
22:19 dalek rakudo/nom: So that the one added at the end is the only one
22:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bc585f2ff9
22:35 lizmat good night, #perl6!
22:37 hoverboard joined #perl6
22:47 BenGoldberg p6: say exp(1) - ([+] map 1/*, 1, [\*] 1..16)
22:47 camelia rakudo-{parrot,moar} 6d8141: OUTPUT«2.66453525910038e-15␤»
22:47 camelia ..rakudo-jvm 6d8141, niecza v24-109-g48a8de3: OUTPUT«2.6645352591003757E-15␤»
22:53 kurahaupo BenGoldberg: cool, taylor series comprehensions!
22:55 BenGoldberg :)
22:58 rurban joined #perl6
23:04 bjz joined #perl6
23:09 skids joined #perl6
23:14 segomos how does yapsi have an icon on the panda site?
23:15 segomos sorry, was looking at metas, didn't see the logo folder
23:16 djanatyn joined #perl6
23:18 timotimo logotype, aye
23:18 vike joined #perl6
23:28 timotimo tadzik: someone tweeted a link to your space invaders blog post and added "(perl6 turns usable?)" to the tweet. good job! :)
23:28 BenGoldberg . o O (Space Invaders, the Killer App for perl6?)
23:30 timotimo totes
23:32 timotimo my weekly, on the other hand, seems to be not very well received
23:33 timotimo as in: very few visitors
23:33 timotimo no negative comments, though
23:36 * [Coke] waves.
23:37 * timotimo particles
23:39 [Coke] some diehard vi users here. if I have a file that consists of "foo\n" - eclipse shows a blank line at the end of the file. vi "hides" the \n, and only shows a single line. Is there a way to make vi show that as a line?
23:39 raiph joined #perl6
23:40 krunen joined #perl6
23:40 cosimo joined #perl6
23:40 kurahaupo [Coke]: textmode
23:41 kurahaupo but in 'nix-land the trailing newline is simply part of the last (otherwise empty) line of the file. Eclipse is faking it
23:42 kurahaupo but in 'nix-land the trailing newline is simply part of the last (non-empty) line of the file. Eclipse is faking it
23:43 kurahaupo vi has the "o" command to add lines; eclipse doesn't so it shows a fake line where you can start typing
23:44 timotimo that sounds like a good explanation
23:52 bowtie joined #perl6

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

Perl 6 | Reference Documentation | Rakudo