»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:00 hoverboard left 00:03 jovan left 00:06 lue left, dmol left 00:13 lue joined 00:16 skids joined 00:19 woosley left 00:20 woosley joined 00:29 BenGoldberg joined 00:45 prevost left 00:51 woosley left, woosley joined 00:52 hoverboard joined 00:54 SevenWolf left 01:02 thou left 01:04 hoverboard left 01:07 atta left 01:09 btyler left 01:11 chenryn left, chenryn joined 01:12 klapperl left 01:14 klapperl joined 01:20 atta joined 01:51 Su-Shee_ joined 01:54 FROGGS_ joined 01:55 Su-Shee left, Sqirrel_ joined 01:57 Sqirrel left 01:58 FROGGS left 02:04 firnsy_ is now known as firnsy 02:07 raiph left 02:12 xiaomiao left 02:13 xiaomiao joined 02:21 dwarring left 02:27 chenryn left, rurban left, chenryn joined
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:32 chenryn left 02:33 chenryn joined 02:34 hoverboard joined 02:44 lue left 02:46 chenryn left, chenryn joined 02:47 lue joined 02:50 plobsing joined 02:53 rurban joined 02:54 araujo left 02:58 hoverboard left 03:11 bluescreen10 joined 03:37 hoverboard joined 03:40 xragnar_ joined, xragnar left, xragnar_ is now known as xragnar 03:43 kaare_ joined 03:44 bjz joined 03:54 BenGoldberg left
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␤»
..rakudo-{jvm,moar} c382c7: OUTPUT«22␤2␤»
skids r: my int $f = 10; say (2 * $f) + ($f * 1) 04:07
camelia rakudo-parrot c382c7: OUTPUT«20␤»
..rakudo-{jvm,moar} c382c7: OUTPUT«30␤»
04:16 hoverboard left 04:21 anaeem1 joined 04:40 kaare_ left 04:47 dayangkun left 04:56 woolfy joined 05:08 kaare_ joined 05:10 rurban left 05:16 woosley left 05:19 dayangkun joined 05:26 woolfy left 05:28 woosley joined 05:35 lizmat left 05:41 rurban joined 05:45 rurban1 joined 05:47 rurban left 05:49 rurban1 left 06:02 denis_boyun_ joined 06:09 thou joined 06:11 SevenWolf joined 06:14 thou left 06:15 cooper left
masak r: my $f = 10; say (2 * $f) + ($f * 1) 06:16
camelia rakudo-{parrot,jvm,moar} c382c7: OUTPUT«30␤»
masak r: my int $f = 10; say (2 * $f) + ($f * 1) 06:17
camelia rakudo-parrot c382c7: OUTPUT«20␤»
..rakudo-{jvm,moar} c382c7: OUTPUT«30␤»
masak skids: is that a known parrotbug? is it reported?
06:20 FROGGS_ left
masak (morning, #perl6) 06:21
06:22 cooper joined 06:25 kaleem joined 06:33 cooper left 06:35 cooper joined 06:40 anaeem1 left 06:41 anaeem1 joined 06:42 SamuraiJack__ joined
masak conf & 06:45
06:47 rurban joined, cooper left 06:49 fhelmberger joined 06:51 rurban left
masak ...ahoj from within conf! :) 06:54
06:57 lizmat joined
lizmat the Jurys Inn! 06:57
masak .oO( and boy are their arms tired -- oops, wrong joke ) 06:59
07:00 cooper joined, FROGGS joined
masak I enjoyed reading www.destroyallsoftware.com/blog/20...d-rhetoric 07:01
and it made me think: I wonder if I could get my Perl 6 tests to run in < .3 s.
FROGGS masak: what tests?
something specific?
masak any tests.
07:01 oetiker left
masak for whatever application I'm developing. 07:01
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
warm start: around .75 s
which basically means that the Rakudo startup time is already too much :)
I wonder if something like sorear++'s server solution could work, though.
maybe in combination with jnthn++'s IO::Notification 07:03
FROGGS ohh
nice idea
07:03 oetiker joined
masak it's worth exploring. 07:03
FROGGS s/nice/very interesting/
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
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:05
masak hesitates between en.wikipedia.org/wiki/Travis_Air_Force_Base and en.wikipedia.org/wiki/Travis_(chimpanzee) before finding en.wikipedia.org/wiki/Travis_CI :) 07:06
FROGGS hehe
masak FROGGS: hmmm, maybe that's actually feasible.
jnthn morning, #perl6
FROGGS moarning jnthn
masak FROGGS: rent 256 CPUs, and run the tests in a massively parallel manner in the cloud.
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.
FROGGS yeah
IO::Notification FTW!
masak FROGGS: I think that might speed things up nicely for our core developers.
FROGGS exactly :o)
masak FROGGS: ooh, yes, IO::Notofication could be used for *that*, too!
awesome!
FROGGS this could be its own GSoC project though
jnthn reactive all the things!
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.
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
FROGGS O.o 07:10
07:10 plobsing left
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:11
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
07:12 zakharyas joined
jnthn timotimo++ # p6weekly 07:12
sergot_ morning! o/
timotimo: I'll give an answer today :)
masak jnthn: ...because it's four years old and yours isn't? 07:15
jnthn Oh
Ask $boss for a new one!! :P
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.
yoleaux FROGGS: I'll pass your message to timotimo.
masak jnthn: already did :)
jnthn ah..yeah, that's why you were asking me what I had a week or two ago... :P 07:16
masak aye.
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
yoleaux FROGGS: I'll pass your message to when.
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
yoleaux FROGGS: I'll pass your message to timotimo.
masak jnthn: next you will ask me why my phone doesn't have a volume button like yours :P
jnthn masak: That's just 'cus you're less good at chosing phones than me :D
masak :P 07:17
07:17 cooper left 07:18 SamuraiJack__ left 07:21 Ven joined
FROGGS realized that it is kinda stupid to slurp a file and pull things out using regexes line by line 07:22
jnthn :)
FROGGS it takes 24s this way to pars a >500 lines file :o) 07:23
parse*
sergot_ How is the CZPW?
:)
masak sergot_: it's just getting started -- so far so good. :) 07:24
07:24 krunen joined
masak sergot_: about the same size as PLPW 07:24
sergot_: by the way, thanks again for an awesome workshop! sergot++
07:25 itz joined
sergot_ \o/ great 07:25
07:25 cooper joined
itz using English slides helped a lot 07:25
sergot_ masak: thank you for participating and awesome talks
masak++
m: say 2 >+ 2 07:26
camelia rakudo-moar c382c7: OUTPUT«False␤»
sergot_ m: say 2 >+ 1
camelia rakudo-moar c382c7: OUTPUT«True␤»
sergot_ m: say 2 >=+ 1
camelia rakudo-moar c382c7: OUTPUT«True␤»
sergot_ m: say 2 >=+ 2
camelia rakudo-moar c382c7: OUTPUT«True␤»
masak m: say 2 +> 2 07:28
07:28 cognominal__ joined 07:29 d4l3k_ joined
masak camelia? 07:30
sergot_ oh
masak sergot_: `2 >+ 2` == `2 > +2`
sergot_ oooh, ok 07:31
masak m: say defined &infix:<< +> >> 07:32
sergot_ masak: so what does the +> do?
> 15 +> 1
7
masak sergot_: I thought that was what you were aiming for.
sergot_: that's a bit shift to the right.
sergot_ I just wanted to figure out what does it do. :)
masak sergot_: `15 +> 1` comes out the same as `15 div 2` 07:33
sergot_: `15 +> 2` comes out the same as `15 div 4`
and so on.
shifting to the right is the same as repeatedly div-ing by 2.
shifting to the right... multiplying by 2.
sergot_ masak++ it's clear now, thank you 07:34
07:34 Su-Shee_ is now known as Su-Shee
Ulti Perl6 version of github.com/exercism/xperl5 might be some good marketing, especially as they already distinguished perl as "Perl5" everywhere 07:34
exercism.io/about for more info
07:36 Alula left 07:37 cooper left, Alula joined, cognominal left, colomon left, dalek left, camelia left, camelia joined 07:38 d4l3k_ is now known as dalek 07:39 virtualsue joined, ChanServ sets mode: +v camelia 07:41 virtualsue left, igorsutton joined, virtualsue joined, cooper joined
FROGGS hehe, now it only takes 1.7s instead of 24s :o) 07:45
jnthn :)
07:49 rurban joined
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) ... }␤»
FROGGS (it does without the [0])
07:51 Bucciarati left, Bucciarati joined 07:52 darutoko joined, dmol joined 07:53 Tene left, rurban left 07:55 Tene joined 07:57 thou joined 08:02 thou left
masak m: say "still not talking to me?" 08:04
camelia rakudo-moar c382c7: OUTPUT«still not talking to me?␤»
masak ooh, camelia! :>
08:04 spider-mario joined
moritz why wouldn't she talk to you? 08:05
masak I don't know. never happened to me before.
see 09:28 .. 09:32 08:06
08:08 mathw left
FROGGS there was a netsplit 08:09
[09:37] * camelia hat die Verbindung getrennt (*.net *.split) 08:10
08:12 cooper left
masak oh! 08:14
FROGGS++
camelia: all is forgiven ;)
moritz
.oO( you're forgiven, not forgotten )
08:15
08:20 cooper joined 08:23 bowtie joined 08:24 virtualsue left, virtualsue joined
jnthn lol I'm on stage \o/ 08:26
FROGGS hehe 08:27
FROGGS throws an applause event to jnthn's on_stage handler 08:28
08:28 cooper left
jnthn \o/ 08:29
08:31 dakkar joined
moritz
.oO( jnthn has entered the building! )
08:31
08:31 denis_boyun_ left
masak ...and just like that, he's gone again :P 08:32
he swept through the room, touching our hearts like only jnthn can.
the presence is gone, but the memory lingers. 08:33
moritz masak, our resident channel poet.
masak strums his lyre artfully 08:34
<masak> shifting to the right... multiplying by 2. # <-- oops, s/right/left/ 08:35
I hate those two directions.
FROGGS my wife++ only knows left and the other left :o)
ohhh, Sqirrel_ is online... *cough* 08:36
masak :>
08:37 cooper joined
lizmat .... and jnthn's on! 08:38
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:43
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:44
lizmat well, 5.10 was 2007 :-) 08:45
08:49 cooper left
masak smartmatching was implemented in 5.9.3 (2006-01-28), and made default in 5.9.5 (2007-06-07). 08:49
08:49 mathw joined, bowtie left 08:50 rurban joined
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:50
probably the IRC logs will have more clues. 08:51
08:52 cooper joined
nwc10 www.nntp.perl.org/group/perl.perl6....24670.html 08:52
masak au++ mentioning smart matching in 2005-02-26: irclog.perlgeek.de/perl6/2005-02-26#i_-799741 08:53
note that at that point, we don't have the * < 3 syntax. :)
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
masak right now I want to find out "who was inspired by whom". 08:54
I think I just proved that smartmatching showed up first in Perl 6. 08:55
08:55 hummeleB1 joined
nwc10 Perl 6 inspired Perl 5 08:55
sorry, didn't realise that that was the question 08:56
and Robin Houston implemented the then-current symmetrical smartmatch
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 rurban left
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:56
masak nice :) 08:57
so was someone giving a talk about Perl 6 smartmatching?
so, was that LPW 2005?
nwc10 no, no-one was
masak oh, ok.
nwc10 it was just a "corridor track" talk
chat
masak ah. 08:58
nwc10 but it caused a world of pain
because smartmatch really needs a type system
and we didn't know that
and we didn't track "this week"
masak *nod* 08:59
yes, smartmatching needs a type system. that's common knowledge over here in #perl6, I think. :)
aka "Perl 6 is not a menu which you can pick and choose from" :) 09:00
nwc10 "this week". But "last week"
?
masak I don't understand the question. could you elaborate? 09:01
09:01 Ven left
nwc10 oh, I don't know if #perl6 knew the real necessity of the type system back in 2005 09:01
09:03 cooper left
masak certainly not. 09:05
I first heard that meme two or three years ago. 09:06
09:06 itz left 09:07 virtualsue left, virtualsue joined 09:09 hummeleB1 left 09:11 cooper joined 09:13 bowtie left 09:23 cooper left 09:26 cooper joined 09:30 bowtie joined
jnthn phew, talk done 09:33
:)
Was some fun for me. I hope for others too :) 09:34
09:34 denis_boyun joined
lizmat yes it was :-) and even some questions! :-) 09:34
masak jnthn++ # it was fun
jnthn Hopefully more questions in the hallway track too :) 09:35
masak is there any way to delegate to STD::term in a user-supplied grammar? 09:36
09:37 virtualsue left
jnthn masak: surely not easily, given the amount of dynvars and other bits Perl 6 uses in its parser. 09:37
09:37 cooper left 09:38 Ven joined 09:40 SevenWolf left
sergot_ m: use Test; sub a() { }; ok not a(), 'a'; 09:43
camelia rakudo-moar c382c7: OUTPUT«ok 1 - a␤»
sergot_ m: use Test; sub a() { return Any; }; ok not a(), 'a';
camelia rakudo-moar c382c7: OUTPUT«ok 1 - a␤»
09:43 cooper joined
jnthn notes his talk was videoed here too 09:45
09:45 thou joined
jnthn That means 3 confs have now videoed the talk. "Always have backups." :) 09:46
masak :> 09:50
09:51 thou left 09:53 rurban joined 09:55 cooper left
dalek : d397723 | (Elizabeth Mattijsen)++ | docs/Perl6/Cheatsheet/cheatsheet. (2 files):
Add Supply as a Type to cheatsheet
09:57
09:57 rurban left 09:59 cooper joined, cooper left, cooper joined
sergot_ m: say "a:$_," for [1, 2, 3]; 09:59
camelia rakudo-moar c382c7: OUTPUT«a:1 2 3,␤»
sergot_ what am I doing wrong? ;) 10:00
m: say [1, 2, 3].WHAT
camelia rakudo-moar c382c7: OUTPUT«(Array)␤»
jnthn [...] is a single item
FROGGS m: say "a:$_," for 1, 2, 3;
camelia rakudo-moar c382c7: OUTPUT«a:1,␤a:2,␤a:3,␤»
FROGGS m: say "a:$_," for (1, 2, 3);
camelia rakudo-moar c382c7: OUTPUT«a:1,␤a:2,␤a:3,␤»
FROGGS [ ] and $ itemizes
m: say "a:$_," for $(1, 2, 3); 10:01
camelia rakudo-moar c382c7: OUTPUT«a:1 2 3,␤»
sergot_ hmm
FROGGS you can think of [ ] being a single array reference like in P5... if you have a P5 background :o)
sergot_ I have :) 10:02
ok, thanks :)
masak sergot_: this thinko also variously shows up as
m: my @l = [1, 2, 3]; say @l.elems
camelia rakudo-moar c382c7: OUTPUT«1␤»
10:05 xinming_ joined
sergot_ Is there any class that every Array, parcel (and others iterable @ classes) intherit from? 10:07
inherit* 10:08
10:08 xinming left
sergot_ m: say "a:$_," for <1 2 3>; 10:09
camelia rakudo-moar c382c7: OUTPUT«a:1,␤a:2,␤a:3,␤»
jnthn They all do Positional role,
masak m: say Array ~~ Positional; say Parcel ~~ Positional
camelia rakudo-moar c382c7: OUTPUT«True␤True␤»
sergot_ jnthn++ masak++ thanks
masak m: say Array.^mro; say Positional.^mro
camelia rakudo-moar c382c7: OUTPUT«(Array) (List) (Iterable) (Cool) (Any) (Mu)␤(Positional) (Any) (Mu)␤»
Ven Shouldn't arrays be in $-variables rather than @ ?
masak Ven: arrays *are* @ variables. 10:10
jnthn r: my @a; say @a.WHAT
camelia rakudo-{parrot,jvm,moar} c382c7: OUTPUT«(Array)␤»
masak they are not *in* them.
Ven duhu
sergot_ m: say List.^mro; 10:11
camelia rakudo-moar c382c7: OUTPUT«(List) (Iterable) (Cool) (Any) (Mu)␤»
Ven m: $(1, 2, 3).WAT
camelia rakudo-moar c382c7: OUTPUT«No such method 'WAT' for invocant of type 'Parcel'␤ in block at /tmp/A7YWTGN4CZ:1␤␤»
masak .WHAT
and you forgot 'say'
Ven I got what I wanted anyway :)
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«===SORRY!=== Error while compiling /tmp/8_dnN2br9A␤Undeclared routine:␤ b used at line 1␤␤»
sergot_ m: my %a; my $value = 123; %a{'b'}.push: ($value) # hey, I want it to be an array! :)
camelia ( no output )
sergot_ m: my %a; my $value = 123; %a{'b'}.push: ($value); say %a<b>.WHAT # hey, I want it to be an array! :)
camelia rakudo-moar c382c7: OUTPUT«(Array)␤»
sergot_ oh, it's
masak "oh, it is". you can't contract at the end of a sentence, for some reason. ;) 10:17
sergot_ masak++ thanks! :) 10:18
jnthn wow, English is arbitrary sometimes...
tobiasvl jnthn: most of the time actually 10:19
10:19 colomon joined
masak all languages are arbritary to some extent. 10:19
tobiasvl ghoti
sergot_ m: my %H = <a 1>; %H<a>.push: 2; say %H<a>;
camelia rakudo-moar c382c7: OUTPUT«Cannot call 'push'; none of these signatures match:␤:(Any:U \SELF: *@values, *%_)␤ in block at /tmp/WqvmuYVLzw:1␤␤»
sergot_ m: my %H = <a 1>; %H<a>.push: (2); say %H<a>;
camelia rakudo-moar c382c7: OUTPUT«Cannot call 'push'; none of these signatures match:␤:(Any:U \SELF: *@values, *%_)␤ in block at /tmp/8SP1qox21o:1␤␤»
jnthn haha :)
Yeah, English spelling is mostly awful 10:20
sergot_ here it is. I want this (2) to be an array! :)
jnthn Then make it one
10:20 felher left
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
masak hmmm... 10:22
m: class C { has $.a; method foo { say $.a } }; C.new(:a(42)).foo
camelia rakudo-moar c382c7: OUTPUT«42␤»
masak m: class C { has $a; method foo { say $a } }; C.new(:a(42)).foo
camelia rakudo-moar c382c7: OUTPUT«(Any)␤»
masak this seems wrong. I would expect 42 in the second case, too. 10:23
masak goes to S12 to try to confirm this
jnthn masak: No, it's private then
Has to be $.a
For new to see it's public
lizmat
.oO( "it's".then( LibertyBell.cue ).then( Foot ) )
masak jnthn: ah, that explains it. 10:24
I will notify lichtkind of this while he's not busy giving a talk ;)
jnthn Yes
:)
sergot_ m: my %h = a => [1]; %h<a>.push: 2; say "|$_" for %h<a>;
camelia rakudo-moar c382c7: OUTPUT«|1 2␤»
masak yes, S12 confirms this. 10:25
jnthn m: my %h = a => [1]; %h<a>.push: 2; say "|$_" for @%h<a>;
camelia rakudo-moar c382c7: OUTPUT«===SORRY!===␤postcircumfix:<{ }> not defined for type List␤»
masak has $brain; # also declares $!brain;
jnthn oops
10:25 bowtie left
jnthn m: my %h = a => [1]; %h<a>.push: 2; say "|$_" for %h<a>.list; 10:25
camelia rakudo-moar c382c7: OUTPUT«|1␤|2␤»
sergot_ jnthn++ thank you :)
10:26 pecastro joined
masak m: class Pinky { has $brain; method foo { say $brain } }; Pinky.new(:brain<meheheheheh>).foo 10:26
camelia rakudo-moar c382c7: OUTPUT«(Any)␤»
masak m: class Pinky { has $brain = "meheheheheh"; method foo { say $brain } }; Pinky.new.foo
camelia rakudo-moar c382c7: OUTPUT«meheheheheh␤»
masak \o/
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++ :)
lizmat: yes, see above at 12:25 ;)
lizmat ack 10:28
(oops)
jnthn What...cats trusting dogs?!
:P
10:30 bowtie joined
masak jnthn: Perl 6 makes the impossible easy! :P 10:30
jnthn lichtkind++ has big text on his slides and speaks slower, so I can follow more of this one :) 10:31
masak lichtkind++ indeed 10:32
m: class C is mgwhagrbl {} 10:35
camelia rakudo-moar c382c7: OUTPUT«===SORRY!=== Error while compiling /tmp/oVnsoGnIJ4␤'C' cannot inherit from 'mgwhagrbl' because it is unknown.␤at /tmp/oVnsoGnIJ4:1␤------> ␤»
masak that is a *good* error message.
whoever++
10:37 bowtie left 10:38 cooper left
masak m: role R1 {}; role R2 {}; class C { also does R1 does R2 }; say "alive" 10:42
camelia rakudo-moar c382c7: OUTPUT«alive␤»
masak ooh, didn't know you could chain 'does' there. 10:43
m: role R1 { method foo {} }; role R2 { method foo {} }; class C { also does R1 does R2 }; say "alive"
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
masak nice. 10:43
lizmat again a good error message :-)
masak yep :)
10:43 cooper joined
moritz uhm, why? those aren't stubs. 10:43
masak moritz: method conflict between roles.
moritz: (read the error message) :P 10:44
moritz oh
moritz reads
masak aka "why roles are nice"
10:44 mattp__ left
jnthn lunch :) 10:45
10:45 Alula left, bluescreen10 left 10:48 Alula joined 10:56 rurban joined 11:00 rurban left
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
So he may have filed, I dunno.
skids commute.
masak dwarring: did you? :) 11:45
11:45 skids left
jnthn obedoval :) 11:48
11:48 Alina-malina left 11:54 dalek left 11:55 dalek joined, ChanServ sets mode: +v dalek 11:57 rurban joined 12:00 Alina-malina joined 12:01 kurahaupo joined 12:03 rurban left
masak lichtkind++ was happy when I told him I learned about 'also does R1 does R2' during his talk. :) 12:06
(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:07
oh, apparently the parsing works by doing <trait>+ 12:08
so you should be able to mix 'does' and 'is' and other traits ad lib.
Ulti "string".flip and not .reverse or .rev was my third guess 12:11
is reverse on lists?
masak yes. 12:12
lizmat masak is now on 12:13
12:32 kurahaupo left 12:53 skids joined 12:57 anaeem1 left 12:58 xragnar left, xragnar joined 12:59 rurban joined 13:01 mattp_ joined 13:05 rurban left
masak masak is now off 13:05
FROGGS :o) 13:06
looks like you guys/girls have fun :o)
moritz at least on and off :-) 13:08
masak :) 13:11
wendy is currently on.
er, woolfy++
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␤␤»
..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␤␤»
..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 13:25 salv0 left 13:27 thou left
lizmat and woolfy is off :-) *phew* the beamer didn't take her screen resolution, so we had to use mine 13:30
masak .oO( it's always a bit unsettling to lend your screen resolution to someone else ) 13:32
13:36 kaare_ left, salv0 joined
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␤»
masak that error message is more awesome (or at least less LTA) than Rakudo's. 13:37
m: 2 = 4
camelia rakudo-moar c382c7: OUTPUT«No such method 'STORE' for invocant of type 'Int'␤ in block at /tmp/xRjF7XzSnx:1␤␤»
lizmat thinks about adding an Any.STORE method that would throw an appropriate exception
is that a plan?
moritz I think that's the wrong direction 13:38
adding methods that alway die confuses the hell out of introspection
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␤␤»
..rakudo-{parrot,jvm} c382c7: OUTPUT«Cannot modify an immutable value␤ in block at /tmp/tmpfile:1␤␤»
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
Ven moritz: unless .^can('STORE') { fail "Immutable, too bad !" } ? 13:41
moritz Ven: is that what the other backends do?
Ven moritz: no idea. Probably not - doesn't look very sensible to me
FROGGS look at #moarvm, it happens in nqp (code-gen) 13:42
13:46 itz joined 13:47 guru joined, guru is now known as Guest7152 13:48 Guest7152 is now known as ajr_
masak moritz++ # architectural steering 13:49
13:49 salv0 left 13:50 lizmat left 13:53 btyler joined
yakudza @tudorconstantin Full #Perl description in just one image pic.twitter.com/t0nmSw9y0u 13:53
13:54 kaleem left 13:55 lizmat joined 13:56 salv0 joined
lizmat looks like X::Assignment::RO is not being thrown in the Moar case 13:58
13:59 rurban joined
jnthn Right 14:00
I wonder how we factor that out
Or if we should
Oh...
Maybe we should just intercept STORE dispatch failing 14:01
src/Perl6/Metamodel/BOOTSTRAP.nqp2930
FROGGS yakudza: :o)
jnthn *:2930
14:02 kurahaupo joined
jnthn In there it's possible to reach the thingy to throw the assignment error from P6EX 14:02
14:04 rindolf joined, xenoterracide__ joined 14:06 virtualsue joined 14:07 thou joined
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
It was a more minor optimization
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
Ven can I get the list of classes/roles defined in a class ?
jnthn btyler: Right. Anyway, Panda is working again with r-m/spesh :) 14:18
14:19 tgt joined
Ulti is doing self.WHAT.new(); ok or gross? 14:20
lizmat what's wrong with self.new ?
PerlJam r: class W { class C {}; class X { } }; say W::.keys
camelia rakudo-{parrot,jvm,moar} c382c7: OUTPUT«C X␤»
PerlJam Ven: like that?
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
camelia rakudo-moar c382c7: OUTPUT«X Y␤»
Ven PerlJam: yep, thanks
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
(just trying to adapt some ruby code)
masak m: say "a" cmp "b"
camelia rakudo-moar c382c7: OUTPUT«Less␤»
masak m: say Less.WHAT
camelia rakudo-moar c382c7: OUTPUT«(Order)␤»
masak m: say Order::.keys
camelia rakudo-moar c382c7: OUTPUT«Less Same More␤»
PerlJam Ven: you wouldn't just use delegation?
masak m: say +Less 14:23
camelia rakudo-moar c382c7: OUTPUT«-1␤»
Ven PerlJam: I want to make it a trait, or a is.
PerlJam: if you can read ruby, my current code is here gist.github.com/Nami-Doc/3190490d3a3e900178c1
masak m: say Less == More
camelia rakudo-moar c382c7: OUTPUT«False␤»
masak m: say abs(Less) == abs(More) # hee hee
camelia rakudo-moar c382c7: OUTPUT«True␤»
sergot_ :D 14:24
masak RELEASE IS DAY AFTER TOMORROW 14:25
WE STILL DON'T HAVE A RELEASE MANAGER
jnthn /o\
masak I've been asking people *twice* to volunteer...
are people especially busy this month?
jnthn kinda is :P
masak look, I can do it.
FROGGS is not even listening :P
*lalalala*
masak someone sign up for some other month, and I'll sign up for Thursday. 14:26
_sri shut up and come to mojoconf!
FROGGS I can do that also, just need somebody to put up the tarballs
moritz FROGGS: just /msg me your public key
masak FROGGS: are you volunteering for Thursday?
FROGGS ohh ohh ohh, I will do it on Thu when jnthn reviews my label stuff *g*
moritz now that's just evil politics :-) 14:27
masak FROGGS: please add yourself to the list in the release guide.
FROGGS hehe
masak: k
jnthn FROGGS: Well, I *have* just about finished my talk for tomorrow :)
masak I love it when a plan comes together.
sergot_ I can do this to, but better not this time, I don't know steps and stuff. :)
moritz I can also do a release, but I'd propose I do the star release instead
masak moritz: deal.
PerlJam sergot_: they are documented in the release guide
masak sergot_: please sign up for later this year.
FROGGS sergot_: there will be another chance :o)
masak sergot_: it's really not hard.
sergot_: and you will feel better for it. 14:28
sergot_ great, so, next month maybe?
FROGGS and we are there to help and guide
masak sergot_: yes! :)
sergot_ deal! :)
masak .oO( *now* they come out of the woodworks... )
PerlJam masak: better than never ;)
masak troo 14:29
hoelzro morning #perl6
masak but it had to come to all-caps...
PerlJam masak: I DON'T KNOW WHAT YOU'RE TALKING ABOUT.
masak .oO( cruise control for awesome )
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) =?
moritz m: my (*, $a, $b) = <a b c>; say $a
camelia rakudo-moar c382c7: OUTPUT«===SORRY!=== Error while compiling /tmp/f2iBje8_x1␤Malformed parameter␤at /tmp/f2iBje8_x1:1␤------> my (⏏*, $a, $b) = <a b c>; say $a␤ expecting any of:␤ scoped declarator␤»
moritz grml 14:31
m: my ($, $a, $b) = <a b c>; say $a
camelia rakudo-moar c382c7: OUTPUT«b␤»
moritz itz: just use an anonymous variable
flussence m: my (, $a, $b) = ^4; say $a, $b;
camelia rakudo-moar c382c7: OUTPUT«===SORRY!=== Error while compiling /tmp/8BXDUNlflh␤Malformed parameter␤at /tmp/8BXDUNlflh:1␤------> my (⏏, $a, $b) = ^4; say $a, $b;␤ expecting any of:␤ scoped declarator␤»
itz moritz: thanks
Ven flussence: $
moritz speaking of which
PerlJam wishes P5 would adopt that little bit of syntax
masak PerlJam: but what about $, ?
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
masak PerlJam: and $) ?
moritz for multi candidate($a, :$marker!) { }
PerlJam masak: that's why we have really smart compilers :)
moritz where I never use the $marker
masak itz: Perl 6 doesn't have undef as such.
m: undef
camelia rakudo-moar c382c7: OUTPUT«===SORRY!=== 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…»
sergot_ m: $
camelia rakudo-moar c382c7: OUTPUT«===SORRY!=== Error while compiling /tmp/PvzBmHoWDB␤Non-declarative sigil is missing its name␤at /tmp/PvzBmHoWDB:1␤------> <BOL>⏏$␤ expecting any of:␤ statement list␤ prefix or term␤ …»
Ven m: sub f { state $; } # :(
camelia rakudo-moar c382c7: OUTPUT«===SORRY!=== Error while compiling /tmp/8aQ_dmPM2V␤Unsupported use of $; variable; in Perl 6 please use real multidimensional hashes␤at /tmp/8aQ_dmPM2V:1␤------> sub f { state $;⏏ } # :(␤»
masak m: sub f { state $ ; }
camelia ( no output ) 14:33
JimmyZ std: $
camelia std ec3d853: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at /tmp/Owdaz0pTug line 1:␤------> <BOL>⏏$␤Use of uninitialized value $first in string eq at STD.pm line 67059.␤Use of uninitialized value $first in string lt at…»
masak m: sub f { state $ }
camelia ( no output )
Ven it does parse tho hhehe
masak: yea, yea, I know :-)
.oO( I just invented global variables )
14:33 sergot_ is now known as sergot
jnthn :P 14:34
dalek kudo/nom: 078fe52 | (Tobias Leich)++ | docs/release_guide.pod:
add myself for release on May 22
14:35
14:35 Juerd left
masak FROGGS++ 14:38
14:39 Juerd joined
masak sergot: where's your commit? :) 14:39
14:39 tgt left
sergot masak: here is my pull request: github.com/rakudo/rakudo/pull/271 14:43
14:43 bjz left
dalek kudo/nom: 645d17f | sergot++ | docs/release_guide.pod:
add myself for release #77
14:43
kudo/nom: a73305b | (Tobias Leich)++ | docs/release_guide.pod:
Merge pull request #271 from sergot/nom

add myself for release #77
sergot \o/ 14:44
14:44 kaare_ joined
sergot So much motivation after plpw. 14:47
jnthn *So motivation 14:48
;)
sergot agrh, thanks jnthn++
jnthn sergot: uh, sorry, that was naughty of me. "So motivation" is the doge meme way to write it :) 14:49
masak so confuse.
sergot haha :D
masak sergot: you don't have a commit bit to rakudo?
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? :)
(send in the CLA, I mean) 14:51
sergot masak: yeees? :)
masak (it's called CLA, right? is that the right TLA?) :P
is this process documented anywhere? 14:52
JimmyZ LTA
masak JimmyZ: :P
JimmyZ :P
jnthn Also, we can grant a temporary commit bit in order to do a release.
(without CLA)
Or can be PR'd of course... 14:53
But easier with the commit bit.
sergot I can send the CLA actually. 14:54
jnthn ok :)
Better still
sergot Where can I find it ? 14:55
PerlJam www.perlfoundation.org/contributor_..._agreement
Ven signing CLA is needed for commit bit ?
tadzik for rakudo, yes 14:58
lizmat yes
for rakudo that is
masak yes it is -- for rakudo. 14:59
Ven ETOMANYCONFIRMATION
s/TO/TOO
Ven sighs 15:00
PerlJam Ven: wait ... wait ... no ... yes, you need it for a commit bit to rakudo.
;)
Ven thanks PerlJam.
sergot PerlJam++: thanks
masak I should add that it's only for Rakudo that you need a CLA.
sergot Why so? 15:01
PerlJam masak: good point. maybe we should reiterate that.
jnthn Did anybody mention today that Rakudo needs a CLA for a commit bit?
15:01 kaleem joined
jnthn :P 15:01
It's to do with the compilation copyright, iirc.
masak sergot: because you need a CLA to get a commit bit for Rakudo.
Ven jnthn: hey, what's this thing that requires CLA already ?
masak Rakudo.
Ven masak: are you part of the tautology club :P ? 15:02
masak no, but part of the tautology club is.
Ven masak++
sergot haha :)
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.
moritz masak: now that it uses proper subtests, I'm all for it 15:04
sergot is printing the CLA
masak sergot: the real reason is that Rakudo used to be part of the Parrot repo, and the Parrot repo requires a CLA.
moritz masak: (previously it ran a variable number of tests, which I deemed not good enough for Test.pm6)
masak moritz: ok, adding it to Test.pm now.
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
masak ok, delegating to lizmat++.
jnthn +1 15:06
15:06 btyler left
moritz ++lizmat 15:06
jnthn FROGGS: OK, for labels there are branches in all(MoarVM, NQP, Rakudo) to review?
sergot masak: now it's clear
FROGGS jnthn: yes, loop_labels in moar and nqp, loop_labels_test in rakudo 15:07
Ven TPF ?
FROGGS the peril foundation
Ven
.oO( pmichaud is in peril, help him !)
masak the purring foundation
FROGGS purrfect* 15:08
masak :D
Ven
.oO( pmichaud is in peril, help him !)
jnthn FROGGS: Thanks. :)
FROGGS jnthn: I thank you :o) 15:09
PerlJam Does that mean that loop labels will most likely be in this release?
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
*wait with merging
FROGGS nooooooooooo
jnthn Unless I find something terribly flawed, they can likely go in.
Ven you'll get to update the feature matrix :P
jnthn Given that FROGGS has discussed the approach along the way with me, I think that's unlikely.
PerlJam FROGGS++ in any case :)
15:10 treehug88 joined
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...
:)
FROGGS jnthn: I think so :P
moritz: I am the current manager, luckily :D 15:11
15:12 anaeem1_ joined
jnthn FROGGS: "+ case MVM_EX_CAT_NEXT|MVM_EX_CAT_LABELED:" # I prefer whitespace around infixes ;) 15:12
FROGGS noted
15:12 lizmat left 15:13 denis_boyun left
FROGGS jnthn: also, I will squish the commits when I get your okay 15:13
then I'll also fix that
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.
will either of you patch it, or shall I?
moritz can't, atm
masak I could fix it, but I got the impression that lizmat++ is currently putting throws_like into Test.pm 15:14
15:16 lizmat joined 15:17 FROGGS[mobile] joined, FROGGS left 15:18 [Sno] left, igorsutton left 15:19 igorsutton joined
jnthn FROGGS[mobile]: About "+#define MVM_EX_CAT_HANDLER 8192", I think MVM_EX_CAT_FILTER may be a better name? 15:19
FROGGS[mobile] ohh, I think it is not needed anymore since friday, but need to check 15:20
jnthn oh, it went away
well, partially
15:21 bowtie left
jnthn nope, removed in headers too. yay. 15:21
lizmat grr... for some reason, my connectivity is *extra* flaky :-( 15:23
jnthn /* The label of the block the handler is attached to. */
- MVMint64 block_label;
+ unsigned short block_label;
FROGGS[mobile]: I think comment wants updating, but also I'd say that the variable wnats calling label_reg.
To go with block_reg
15:23 lizmat left
FROGGS[mobile] k 15:23
15:24 igorsutton left
PerlJam
.oO( cat filter? Is this what cat herding requires? )
15:25
masak lizmat is having network problems. 15:26
she says as soon as she gets network back, she'll push a commit.
15:27 Ven left, itz left 15:28 bowtie joined, btyler joined
dalek kudo/nom: eb4f552 | (Elizabeth Mattijsen)++ | tools/build/Makefile- (3 files):
We need VM to be done before Distro
15:28
kudo/nom: 2ea11cc | (Elizabeth Mattijsen)++ | src/core/Exception.pm:
Add "typename" attribute to RO.new.throw;
kudo/nom: 10ceb28 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Intercept method not found error for STORE

So that we can give a better than LTA error message
jnthn social &
15:29 treehug8_ joined 15:30 lizmat joined 15:31 treehug88 left 15:33 virtualsue left, zakharyas left 15:35 fhelmberger left 15:38 lizmat left 15:40 anaeem1_ left 15:43 anaeem1 joined 15:45 anaeem1 left, donaldh joined 15:49 cognominal__ left 15:50 cognominal__ joined, guru joined, guru is now known as Guest99393 15:51 ajr_ left 15:52 donaldh left 15:55 anaeem1_ joined
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: gist.github.com/perlpilot/fa77db755054a50e62eb What do you think? Should I add it to rakudo/docs? 15:55
15:55 bjz joined
Ulti in Perl6 is there a variable for the current iteration of a for loop? 15:57
or am I crazy
timotimo no, but you can @list.kv -> $index, $_ { } 15:59
PerlJam Ulti: like $_?
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.
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, bjz left
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.
Ulti ahhh k k
timotimo Ulti: (state $num)++
Ulti also I am having a bit of trouble with .split it looks to be doing :all by default 16:02
PerlJam Ulti: show the code? 16:03
Ulti oh no its just including empty strings between repeated delimiters
my bad
16:04 lizmat joined
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:05
16:06 denis_boyun joined
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:06
PerlJam someone would alter indexes even for the lists I have defined? 16:07
sounds like a bad bad feature
PerlJam Ulti: well, that someone would probably be you :) 16:08
TimToady we should just make state++ work :)
16:08 btyler left 16:10 treehug88 joined
Ulti can I run p5 in here as well as p6? 16:10
16:10 treehug8_ left
Ulti m: for split /\*+/, "K**QK**" -> $string {say $string} 16:11
camelia rakudo-moar a73305: OUTPUT«K␤QK␤␤»
Ulti that last "" is both different to perl5 and kind of unexpected
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.
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
or something like that.
Ulti just used comb and got what he wanted 16:13
though I still dont think split should be adding this extra boundary against the end of line 16:14
PerlJam It doesn't. You're just too used to P5 dropping trailing empty fields. 16:15
16:18 bowtie left
PerlJam Maybe split should have an option to drop the trailing empty fields too. (It may already, I didn't check the spec) 16:18
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
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:20
on the upside I just finished my 6frame translator stuff in Perl6 :D 16:21
PerlJam is with timotimo on this one.
tadzik too 16:22
16:23 bowtie joined 16:26 Psyche^_ joined
cognominal__ Ulti, what's a 6frame translator? 16:27
16:29 cognominal__ is now known as cognominal 16:30 Psyche^ left 16:33 kaleem left
dalek kudo/nom: 8b54788 | duff++ | docs/obtaining-a-commit-bit.pod:
Add a document on how to get a commit bit
16:34
PerlJam I decided on just commmitting it. If it helps, great. feel free to edit it 16:35
16:37 spider-mario left, FROGGS joined 16:41 rurban_ left
dalek kudo/nom: 8510a87 | moritz++ | src/Perl6/Metamodel/ParametricRoleGroupHOW.nqp:
fix typo in comment
16:43
kudo/nom: 05841b3 | moritz++ | docs/obtaining-a-commit-bit.pod:
Mention that typically the patches come first, then the commit bit
16:45
16:50 rurban_ joined 16:53 kivutar joined 16:56 dakkar left 17:06 sobedrinker42 joined
sobedrinker42 hello 17:07
PerlJam sobedrinker42: greetings 17:13
17:14 [Sno] joined
vendethiel Ooh, Lojack Absolute. 17:20
Kinda glad to know I don't have this stuff on my comp; i'm not one of the 2mil with a backdoor :)
TimToady: make "state++" work ? that seems a bit limiting 17:21
TimToady oh half serious, but (state$)++ seems to happen frequently 17:22
*only
vendethiel m: my \state = 5; say state; # ;D 17:23
camelia rakudo-moar 10ceb2: OUTPUT«===SORRY!=== Error while compiling /tmp/zCWppMvM4f␤Malformed state␤at /tmp/zCWppMvM4f:1␤------> my \state = 5; say state⏏; # ;D␤ expecting any of:␤ scoped declarator␤»
17:24 telex left 17:26 telex joined
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()␤»
TimToady o_O
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␤␤»
TimToady say what?
m: say (state $)++ 17:30
camelia rakudo-moar 10ceb2: OUTPUT«0␤»
TimToady masak: ^^^
17:32 ivanshmakov left
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␤␤»
TimToady m: macro counter () { quasi { (state $foo = 0)++ } }; say counter() for <a b c d e>;
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␤␤»
TimToady is flummoxed 17:33
vendethiel m: macro counter () { state $foo; quasi {{{ $foo++ }}} }; say counter() for <a b c d e>;
camelia rakudo-moar 10ceb2: OUTPUT«0␤1␤2␤3␤4␤»
vendethiel :P
you can't find macros, they'll come back and bite you
s/find/fight/
TimToady m: macro counter () { state $foo; quasi {{{ $foo++ }}} }; say counter(), counter(), counter() 17:34
camelia rakudo-moar 10ceb2: OUTPUT«012␤»
TimToady wrong, those are supposed to be separate counters
and quasi doesn't need triple quotes
unquoting uses triples 17:35
m: macro counter () { quasi { state $foo; $foo++ } }; say counter() for <a b c d e>;
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
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 sobedrinker42 left
TimToady for some reason needs extra {} there... 17:36
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␤»
TimToady m: macro counter () { quasi { ( (state $)++ ) } }; say counter() for <a b c d e>;
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␤␤»
TimToady extra parens not good enough
17:38 Guest99393 left, hoverboard joined 17:40 fhelmberger left 17:41 anaeem1_ left 17:47 xenoterracide__ left
[Coke] -> (13:48) From Kazrak, to random: 17:53
- "Ph'nglui mglw'nafh Cthulhu '#define OPENSSL_VMS' wgah'nagl fhtagn"
17:58 xenoterracide joined
[Coke] albany.pm.org/slides/2014-05-19/uni...ndperl.pdf - one of our albany.pm folks put together a nice presentation on unicode & perl5. 18:10
18:10 lizmat left
FROGGS [Coke]: is that klingon? 18:10
ahh, no :o) 18:11
[Coke] crap, I'm already signed up for august.
vendethiel TimToady: oh, you want to generate counters ? 18:13
m: macro counter () { quasi { my anon sub { (state $ )++ } } }; say counter.(), counter.(), counter.() 18:14
camelia rakudo-moar 05841b: OUTPUT«===SORRY!===␤Type 'anon' is not declared␤at /tmp/jLaonyjrLR:1␤------> macro counter () { quasi { my anon⏏ sub { (state $ )++ } } }; say counter.(␤Malformed my␤at /tmp/jLaonyjrLR:1␤------> macro counte…»
vendethiel m: macro counter () { quasi { anon sub { (state $ )++ } } }; say counter.(), counter.(), counter.()
camelia rakudo-moar 05841b: OUTPUT«000␤»
vendethiel (or probably return a PROXY with a `FETCH` being `state++`
[Coke] me shouldbe unburied by august 18:15
dalek nqp/loop_labels: 96ef351 | jonathan++ | src/NQP/Optimizer.nqp: 18:29
nqp/loop_labels: Can also lower $_.
nqp/loop_labels:
nqp/loop_labels: Before, this earned us a SEGV in the Rakudo setting compile, but now
nqp/loop_labels: that issue is fixed, we can do this optimization.
18:29 dalek left 18:30 dalek joined, ChanServ sets mode: +v dalek
dalek Heuristic branch merge: pushed 29 commits to rakudo/loop_labels_test by FROGGS 18:30
18:30 lizmat joined 18:35 lizmat left, thou left 18:36 lizmat joined 18:39 dwarring joined
PerlJam thinks he has seen that "Can also lower $_" message before. 18:40
vendethiel PerlJam: yep, hence the "branch merge" :-) 18:43
FROGGS yeah, dalek just died away before showing it is a merge 18:45
tadzik btw, there was talk about including v5 in star
I'd vote for it to be the "first core" module, as lib.pm and Pod/To/Text.pm are
PerlJam
.oO( and Test.pm )
18:46
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+)+ % <[-/]> /
camelia rakudo-jvm 05841b: OUTPUT«(timeout)»
..rakudo-{parrot,moar} 05841b: OUTPUT«===SORRY!=== 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␤------> …»
flussence n: say '2014-05-20' ~~ / (\d+)+ % <[-/]> /
camelia niecza v24-109-g48a8de3: OUTPUT«「2014-05-20」␤ 0 => 「2014」␤ 0 => 「05」␤ 0 => 「20」␤␤»
FROGGS std: say '2014-05-20' ~~ / (\d+)+ % <[-/]> /
camelia std ec3d853: OUTPUT«ok 00:01 127m␤»
FROGGS :/ 18:49
flussence I get the reason for warning on p5isms, but a fatal error with no off switch?
FROGGS it says "Unsupported use"
PerlJam IIRC that bit of code is in NQP. It could be made to grok - in first position too.
FROGGS yes, that is the solution, since std agrees 18:50
but besides that, every code about an unsupported use should just die away and not just warn
18:58 bjz joined
sergot o/ 19:03
19:04 bjz left 19:10 hoverboard is now known as moistcherry 19:14 woolfy joined 19:16 woolfy left, woolfy1 joined 19:23 darutoko left 19:25 ggherdov left 19:28 clkaoud left 19:30 ggherdov joined 19:31 clkaoud joined 19:33 water joined, water is now known as hoverboard, moistcherry is now known as Guest47652, Guest47652 left, hoverboard is now known as moistcherry
dalek ast: fd77fc9 | (David Warring [email@hidden.address] | integration/advent2013-day09.t:
DateTime is a standard class
19:35
ast: 8a2cf47 | (David Warring [email@hidden.address] | integration/advent2010-day16.t:
adding 2010 advent day 16
19:36 kivutar left 19:47 guru joined, guru is now known as Guest25587 19:48 Guest25587 is now known as ajr_ 19:55 spider-mario joined, woolfy1 left, woolfy joined, woolfy left, woolfy1 joined, thou joined 19:57 SevenWolf joined 19:58 thou left 20:08 araujo joined 20:10 woolfy1 left
vendethiel ideone.com/EyTGDe <- Lua's actually even more insane than perl6 on flattening :P 20:19
20:22 treehug88 left
hoelzro nah =) 20:23
20:26 moistcherry left 20:34 effbiai left 20:36 effbiai joined 20:41 moistcherry joined 20:45 spider-mario left, cooper left 20:54 lizmat left 20:55 cooper joined 20:56 lizmat joined 20:57 [Sno] left 21:00 moistcherry left 21:01 hoverboard joined 21:02 cooper left 21:03 Rotwang left 21:04 rindolf left, autark joined 21:08 thou joined 21:11 oetiker left 21:14 oetiker joined, cooper joined 21:20 hoverboard left
sergot good night ! & 21:21
21:22 donaldh joined 21:25 lizmat left
dalek p: d78bdec | duff++ | / (2 files):
Allow hyphens at the start of a character class
21:32
21:34 lizmat joined 21:41 [Sno] joined 21:50 bowtie left, Sqirrel_ left, Sqirrel joined 21:53 skids left 21:54 BenGoldberg joined, bowtie joined
dalek kudo/nom: 6d81419 | (Elizabeth Mattijsen)++ | / (2 files):
Add "throws_like" to Test, formerly of Test::Util
21:56
ast: 46c7e56 | (Elizabeth Mattijsen)++ | packages/Test/Util.pm:
Remove "throws_like" from Test::Util (now in Test)
21:57
ast: f1b0f1e | (Elizabeth Mattijsen)++ | S (15 files):
Remove now unneccesary references to Test::Util
22:01 donaldh left 22:02 bjz joined
lizmat masak: ^^^ output bug should be fixed now as well 22:05
22:06 bjz left
dalek kudo/nom: bc585f2 | (Elizabeth Mattijsen)++ | tools/build/gen-cat.pl:
Omit # vim: specifications from files

So that the one added at the end is the only one
22:19
22:22 kaare_ left 22:24 vendethiel left 22:28 bowtie left 22:30 xenoterracide left
lizmat good night, #perl6! 22:35
22:36 rurban left 22:37 hoverboard joined 22:42 lizmat left
BenGoldberg p6: say exp(1) - ([+] map 1/*, 1, [\*] 1..16) 22:47
camelia rakudo-{parrot,moar} 6d8141: OUTPUT«2.66453525910038e-15␤»
..rakudo-jvm 6d8141, niecza v24-109-g48a8de3: OUTPUT«2.6645352591003757E-15␤»
kurahaupo BenGoldberg: cool, taylor series comprehensions! 22:53
BenGoldberg :) 22:55
22:58 denis_boyun left, rurban joined, hoverboard left 23:04 bjz joined 23:09 skids joined, bjz left
segomos how does yapsi have an icon on the panda site? 23:14
23:14 vike left
segomos sorry, was looking at metas, didn't see the logo folder 23:15
23:16 djanatyn left, djanatyn joined
timotimo logotype, aye 23:18
23:18 vike joined
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?)
timotimo totes 23:30
my weekly, on the other hand, seems to be not very well received 23:32
23:32 nnunley left
timotimo as in: very few visitors 23:33
no negative comments, though
23:34 rurban left
[Coke] waves. 23:36
timotimo particles 23:37
23:39 cosimo left
[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
23:39 raiph joined, krunen left 23:40 krunen joined, cosimo joined
kurahaupo [Coke]: textmode 23:40
but in 'nix-land the trailing newline is simply part of the last (otherwise empty) line of the file. Eclipse is faking it 23:41
but in 'nix-land the trailing newline is simply part of the last (non-empty) line of the file. Eclipse is faking it 23:42
vi has the "o" command to add lines; eclipse doesn't so it shows a fake line where you can start typing 23:43
timotimo that sounds like a good explanation 23:44
23:52 bowtie joined 23:53 pecastro left