»ö« 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.
sjn jnthn: ^ 00:01
00:02 Hor|zon left 00:03 rindolf left
Mouq m: my $z =15; my ($a, $b is rw) := 5,$z; $b=5; say $z # neat 00:04
camelia rakudo-moar 19d2de: OUTPUT«5␤»
Mouq m: my $z =15; my ($a, $b is rw) := 5,$z; $b=42; say $z # clearer
camelia rakudo-moar 19d2de: OUTPUT«42␤»
timotimo mouq!
can you help me? :\
Mouq timotimo: With what? :)
timotimo cairo 00:05
Mouq Uh, sure, give me some time to try installing it ^_^ 00:06
timotimo right 00:07
i just pushed my newest crap
Mouq still hasn't set up homebrew, hopefully installing from source won't cause any issues finding the library
timotimo you're on a mac?
Mouq mmhm 00:08
timotimo one second
i didn't push the gtk stuff yet 00:09
dalek k-simple: e83d346 | (Timo Paulssen)++ | lib/GTK/Simple.pm6:
let NativeCall figure out the library filename
00:10
k-simple: da75547 | (Timo Paulssen)++ | lib/GTK/Simple.pm6:
couple cairo, get queue_draw and add_draw_handler.
timotimo there we go.
tony-o homebrew is awesome 00:19
Mouq tony-o: Unfortunately, my laptop crashed this summer. I don't really mind installing from source... but this has a few more dependencies than I'm willing to do by hand XP 00:22
00:22 Akagi201 left
Mouq tony-o: But I haven't had to install homebrew up until this point 00:22
*after the crash, that is 00:23
tony-o i went without for 2 years but it does make installing stuff (libraries, in particular) a whole lot easier
i originally had ports
Mouq And now it's telling me that all the stuff I installed by hand need to go -_-
(how about: no.) 00:24
timotimo oke :(
tony-o Mouq: ouch
just trying to test something or actually use it? 00:25
Mouq looks like it's installing cairo fine :D
timotimo m: enum Foo ( INVALID => -1, "A", "B", "C" ); say INVALID.Int; say A.Int; 00:26
camelia rakudo-moar 19d2de: OUTPUT«-1␤0␤»
00:31 jack_rabbit joined
timotimo i've got something semi-working now ... 00:37
00:38 xiaomiao joined
timotimo sweet. 00:38
00:39 dayangkun joined
Mouq Lol, now that I finally have Cairo and GTK installed and unborked my shell from the changed brew had me make.. 00:39
What is it you wanted help with? :) 00:40
timotimo do you see my query? 00:41
Mouq no..? 00:42
Alas.. Cannot locate native library 'libgtk-3.dylib'
AKA why sanity tests are a good thing :P 00:43
timotimo damn
yeah yeah
feel free to contribute :)
please
Mouq Haha :)
00:43 FROGGS left
timotimo you're in the perl6 team on github? 00:44
yes, you are
00:45 FROGGS joined
Mouq Oh, it would help if I installed gtk+3 m) 00:45
timotimo surely would
tony-o it works in linux/osx without any .dylib or .so 00:48
from what i've seen so far
timotimo aye, i've removed the '.so.0' from the "is native" traits
tony-o it doesn't work in osx with either of those appended, from what i've experienced
timotimo please make sure the source you're getting doesn't have extensions 00:49
00:50 BenGoldberg joined
Mouq No, it seems to function, and the GTK examples summon XQuartz, but nothing actually shows up 00:51
timotimo aaw damn
gtk still requires X on osx even in version 3?
00:52 kurahaupo left
Mouq Looks like it doesn't get past GTK::Simple::App.new(title => "Hello GTK!") 00:52
00:55 xenoterracide left
timotimo huh :\ 00:59
Mouq github.com/timo/cairo-p6/pull/1
timotimo uh dude 01:01
i already committed and pushed that
didn't i?
oops.
now i pushed it. :)
Mouq Haha :) well at least Cairo works great 01:04
01:04 dayangkun left
timotimo hooray i guess? 01:04
but not gtk?
i didn't even put an example up that draws a simple png or something ... 01:05
Mouq timotimo: I used the example in the README
timotimo oh, i put an example there?
wow, go me!
01:06 chipotle left
timotimo hooray, my starry background scroller is working! 01:06
01:08 xenoterracide joined
timotimo awesome 01:08
the profile says that after the 7th collection, it always retains less than 20 KB from one nursery to the next 01:09
and after gc number 24 the "promoted" number is always 0 KB
can't wait for NativeCall to become jitted ... 01:11
the winner in exclusive time is postcircumfix:<( )> inside NativeCall with 23.89% of time spent there
out of 22k entries only about a fifth seems to get spesh'd ... huh.
m: enum Foo ( "INVALID" => -1, "A", "B", "C" ); say INVALID.Int; say A.Int; 01:12
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/SZqYEXpjX4␤Undeclared name:␤ INVALID used at line 1␤␤»
timotimo m: enum Foo ( "INVALID" => -1, "A", "B", "C" ); say A.Int;
camelia rakudo-moar 19d2de: OUTPUT«1␤»
timotimo this is VERY weird
m: enum Foo ( INVALID => -1, "A", "B", "C" ); say A.Int;
camelia rakudo-moar 19d2de: OUTPUT«0␤»
timotimo this bit me in my cairo binding
01:13 xenoterracide left
japhb m: enum Foo ( INVALID => -1, "A", "B", "C" ); say C.Int; 01:14
camelia rakudo-moar 19d2de: OUTPUT«2␤»
01:14 Mso150 joined 01:18 leont left
timotimo i wouldn't mind if someone beat me to it; i'd like to rakudobug that tomorrow 01:18
but first i'll catch up on some sleep 01:19
01:19 yeahnoob joined
timotimo Mouq: would be super awesome if you could build some tests some way ... 01:20
not quite sure how that would work, tbh
(in both the gtk and the cairo case ...)
BenGoldberg m: enum Foo ( INVALID => -2, "A", "B", "C" ); say C.Int; 01:21
camelia rakudo-moar 19d2de: OUTPUT«1␤»
timotimo m: enum Foo ( "INVALID" => -2, "A", "B", "C" ); say C.Int 01:22
camelia rakudo-moar 19d2de: OUTPUT«3␤»
BenGoldberg m: enum Foo ( "INVALID" => -2, "A", "B", "C" ); say INVALID.Int; 01:24
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/SJXKrSu_G4␤Undeclared name:␤ INVALID used at line 1␤␤»
BenGoldberg m: enum Foo ( INVALID:-2, "A", "B", "C" ); say C.Int;
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/rWj4ufhOD6␤Two terms in a row␤at /tmp/rWj4ufhOD6:1␤------> enum Foo ( INVALID⏏:-2, "A", "B", "C" ); say C.Int;␤ expecting any of:␤ argument list␤ po…»
BenGoldberg m: enum Foo ( INVALID:(-2), "A", "B", "C" ); say C.Int;
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/OBcLlW8YiB␤Malformed parameter␤at /tmp/OBcLlW8YiB:1␤------> enum Foo ( INVALID:(⏏-2), "A", "B", "C" ); say C.Int;␤ expecting any of:␤ colon pair␤ si…»
BenGoldberg m: enum Foo ( "INVALID":(-2), "A", "B", "C" ); say C.Int;
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/ZeISisEiGy␤Malformed parameter␤at /tmp/ZeISisEiGy:1␤------> enum Foo ( "INVALID":(⏏-2), "A", "B", "C" ); say C.Int;␤ expecting any of:␤ colon pair␤ …»
Mouq timotimo: I tried gist.github.com/Mouq/53bf7f18a34e84d4fc40 01:27
timotimo: But it's just hanging instead of timing out 01:28
01:28 Mso150 left 01:29 FROGGS left 01:30 xenoterracide joined, pdcawley left, Mso150 joined 01:31 yeahnoob left 01:32 tinyblak joined, pdcawley joined, wk joined 01:35 wk_ left 01:36 FROGGS joined, Mso150 left
Mouq m: enum Foo «:INVALID(-1) A B C»; say C.Int 01:37
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/6mSwHsXsgR␤Undeclared name:␤ C used at line 1␤␤»
Mouq m: enum Foo «:INVALID<-1> A B C»; say C.Int
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/AudDT4RgMm␤Undeclared name:␤ C used at line 1␤␤»
01:41 Mso150_f joined 01:42 tinyblak left, FROGGS_ joined 01:44 yeahnoob joined, Sqirrel left 01:45 PZt joined 01:46 FROGGS left 01:51 Mso150_f left 01:57 FROGGS_ left 01:58 Hor|zon joined 02:01 fuad joined 02:03 Hor|zon left
araujo hello... for those around... does perl6 have already a xmlrpc lib/module? 02:04
Mouq I've gotten GTK::Simple from hanging to "Cannot locate native library 'libgobject-2.0.so'" \o/ 02:07
araujo: If one exists, modules.perl6.org doesn't know about it 02:09
araujo: Though we have JSON::RPC :P
araujo I see....
thanks Mouq , I will check better around
02:11 tinyblak joined 02:13 chipotle joined 02:19 sorear left 02:21 sorear joined
Mouq I GOT GTK::SIMPLE TO WORK! \o/ 02:22
02:22 teagan left
Mouq Besides all the problems with getting the libraries to work right for me personally, NativeCall wasn't spotting my "libgobject-2.0.dylib" 02:24
So AFAICT it's a bug with NativeCall
02:28 tinyblak left
tony-o f.lux is screwing with me 02:36
02:44 chenryn joined, jerrycheung joined 02:56 noganex_ joined
dalek k-simple: 67066be | Mouq++ | t/01_sanity.t:
Add sanity test
02:59
02:59 noganex left
tony-o more io stuff breaks :/ 03:01
03:04 ezra1 joined 03:06 ezra1 left 03:12 jerrycheung left 03:15 molaf left 03:16 fuad left 03:36 jerrycheung joined
tony-o there we go, is there a mechanism in panda to install stuff to a 'bin' directory? 03:39
03:47 odc left
dalek osystem: 3beaefe | tony-o++ | META.list:
pandapack - empty shell of hopes/dreams/etc

don't get excited, it does nothing and succeeds thus far
03:51
03:52 odc joined 03:57 yeahnoob left 03:59 Hor|zon joined 04:04 Hor|zon left 04:07 odc left 04:11 yeahnoob joined, yeahnoob left 04:12 odc joined 04:13 yeahnoob joined 04:18 chipotle left 04:27 [Sno] left, chipotle joined 04:32 kaare_ joined 04:35 fhelmberger joined 04:40 fhelmberger left 04:44 ggoebel1111113 joined 04:47 ggoebel1111112 left 04:50 xenoterracide left 04:55 chenryn left 05:00 teagan joined
dalek c: 5788b6d | Mouq++ | lib/ (2 files):
Revamp Signature.pod some and have functions.pod point to it
05:01
teagan Hello again! I'm working on a different problem now!
I'm getting an error when I try to work with variables using ! instead of . 05:02
This is the class I'm using right now: pastebin.com/cWreaRfK
What seems to be happening is that the password parameter is not being saved into the $!password variable
Any thoughts on how I might be able to set this value? 05:05
Mouq teagan: Hmm, are you sure you're actually getting the password passed to method new? 05:09
teagan When I put "say $password;" right above the self.bless line both passwords display in terminal properly so I believe so! 05:10
Mouq Oh, you know what, I think that might be correct behavior... according to doc.perl6.org/language/objects#Obje...nstruction anyway 05:11
But you might want to try adding `submethod BUILD (:$!username, :$!password, :@!characters) { }`
m: class Foo { has $!bar; method new ($bar) { self.bless :$bar }; method bar { $!bar } }; Foo.new(42).bar.say 05:13
camelia rakudo-moar 19d2de: OUTPUT«(Any)␤»
teagan So I should put exclamation points in front of all variables in that BUILD line even though they're not that way in the class? 05:14
05:16 Sqirrel joined, [Sno] joined
Mouq teagan: `has $.bar` creates a $!bar attribute and an setter/getter method self.bar, i.e., $.bar 05:17
As I understand it
05:17 BenGoldberg left
Mouq m: class Foo { method bar { 42 }; method baz { $.bar } }; say Foo.baz 05:18
camelia rakudo-moar 19d2de: OUTPUT«42␤»
teagan So are setter/getter methods a bad idea on passwords?
Mouq teagan: Depends on what you want to do with them, I suppose 05:19
If you don't want other bits of code to be able to read what password they've supplied the User class with, then yes 05:20
(And my bad again: it only makes a setter if you write `is rw`) 05:21
m: class Foo { has $.bar is rw }; my $baz = Foo.new; $baz.bar = 42; # etc
camelia ( no output )
Mouq m: class Foo { has $.bar is rw }; my $baz = Foo.new; say $baz.bar.VAR.name 05:23
camelia rakudo-moar 19d2de: OUTPUT«$!bar␤»
05:23 chenryn joined
teagan Okay, so if I want to keep the class' variable as $!password and take the parameter $password, what's involved in making that work? Or are you saying that it can't? Sorry, I'm a little confused! 05:26
Mouq teagan: I was a little confusing 05:28
But if you add `submethod BUILD (:$!username, :$!password, :@!characters) { }` in addition to what you already have, it should work
teagan In new(), or just in User? 05:29
Mouq or ``submethod BUILD (:$!password) { callsame }`
oops
in User
teagan Okay, and from where should I call it? 05:31
Mouq BUILD is called by self.bless 05:32
teagan Oh really? That's cool!
Mouq See doc.perl6.org/language/objects#Obje...nstruction
Though I admit I find that section a little hard to read myself 05:33
05:33 FROGGS joined
teagan Hmm, adding BUILD has resulted in a new error, "use of uninitialized value of type Any in string context... 05:35
"
Actually, that's the same error as I was getting with password, except now I'm getting it for username too 05:36
Here's the new code: pastebin.com/U5JmPngW
05:36 danaj_ left
teagan Would doing a pastebin of the 100-line program as a whole be helpful? 05:38
Mouq Ah! No, don't use the or `` thing I wrote, that was me pressing paste by accident >_<
teagan Do I need callsame in the curly brackets or just leave it empty? 05:39
Mouq I'm sorry I'm so confusing. Objects aren't my strong spot with Perl 6
No, as in use submethod BUILD (:$!username, :$!password, :@!characters) { }
That should fix it..
05:39 danaj_ joined
teagan Wow, that did it! Thanks so much! 05:40
I hate to be That Guy but... why did that work?
Mouq teagan: NP, sorry for taking so long to explain it! :) 05:41
User.new() first makes a new User object, and then it looks for a BUILD method to call 05:43
The default BUILD method is in Mu 05:44
And I should have been clearer -- I mean self.bless() rather than User.new.. 05:45
teagan Okay, so when it executes the bless instruction it looks for any BUILD methods to help it out? 05:47
Mouq Yeah.. and, so, calling .BUILD( password => 12345 ) will make $!password = 12345 because it's the parameter of the method. 05:48
teagan How come a BUILD method that referred to $.variables as $!variables and then didn't do anything help? Haha
Mouq You mean the one I accidentally pasted?
teagan This one that works has nothing in the curly brackets 05:49
So it's not executing any instructions?
Yet it still fixes the problem?
:P
Mouq Yep. You *could* write it as `submethod BUILD (:$username, :$password, :@characters) { $!username = $username; $!password = $password; @!characters = @characters }` 05:50
But writing (:$!username, :$!password, :@!characters) does all that for you
teagan Ohh! So it's another example of Perl's magic shorthand!
Snazzy
Mouq Perl likes magic shorthands :9 05:51
teagan It's a lot to wrap my head around having just started today 05:52
But thanks so much for taking the time to help me understand!
Mouq teagan: Definitely. Perl 6 has a lot of features, but at least be consoled you can get by knowing a relatively small subset of it. 05:56
teagan: Sure thing! :)
05:56 Tene left, Tene joined
teagan :) 05:57
Have a good night!
05:58 gfldex joined, teagan left 06:00 Hor|zon joined
Mouq 'night teagan! 06:03
06:04 Hor|zon left 06:07 SamuraiJack__ joined 06:08 jack_rabbit left 06:12 PZt left 06:22 gfldex left 06:33 FROGGS left, rurban joined, ecocode joined 06:34 yeahnoob left 06:35 rindolf joined 06:51 ecocode left 06:52 ecocode joined 06:53 virtualsue joined, yeahnoob joined, kaleem joined 06:57 virtualsue left
jnthn morning, #perl6 07:06
07:09 rurban1 joined 07:11 bartolin joined 07:12 rurban left 07:13 rurban1 left, rurban joined 07:15 ghostlines joined 07:21 zakharyas joined 07:23 FROGGS joined 07:25 virtualsue joined 07:26 darutoko joined 07:32 Mso150_f joined 07:36 virtualsue left 07:45 _slade_ left
lizmat jnthn o/ 07:51
FROGGS morning
lizmat is about to be offline for most of the day 07:52
FROGGS lizmat: woolfy and the shower is well? 07:55
woolfy FROGGS: the shower is hell... I've stepped inside, and I'm just too tall for the damn thing, and lizmat has even more problems. So, no shower. Brr. 07:56
FROGGS eww
bloody iShower
too modern to be useful
moritz woolfy, lizmat: where are you? 07:58
woolfy moritz: in Amsterdam, in a Fletcher hotel. www.booking.com/hotel/nl/fletcher-a...en-gb.html 07:59
moritz woolfy: looks cute :-) 08:00
woolfy Last night we had a nice Amsterdam.pm meeting with 16 attendees and 6 presentations. 08:01
08:01 Hor|zon joined, pdcawley left
woolfy One about Perl 6 by Tux. He is converting Text::CSV to Perl 6 and was showing us his (considerable) progress. Tuxx++ 08:02
hmmm... Tux++
lizmat or: [Tux] ++ :-) 08:05
08:05 Hor|zon left 08:07 fhelmberger joined
jnthn lizmat: Starting the long trip Austria-wards today? :) 08:08
lizmat well, in a way, yes 08:09
FROGGS don't tell nwc10 about Austria-warts /o\
lizmat first some shopping in Amsterdam, then some shopping in Ghent, then a meeting in Ghent, then home, then onwards to Karlsruhe, and then onwards to Salzburg
nwc10 Austria-warts include
1) not enough lamb
2) not enough cider 08:10
3) "cappochino", if you're not careful in your specification
FROGGS 4) ppl talk weird in Vienna
lizmat hope to arrive around 19:00 tomorrow in Salzburg
FROGGS lizmat: at the same time like timotimo and me :o) 08:11
nwc10 They talk differently weird in Stiermark
and all of them aren't using proper German words for some things
FROGGS nwc10: true, but I like that one
nwc10 I can't spell it either, it seems
FROGGS Topfen /o/
nwc10 maybe I should have tried Styria
woolfy FROGGS: strangely enough, leont will arrive at almost exactly the same time! 08:12
FROGGS it is Steyermark, no?
woolfy: nice :o)
nwc10 oh, nice
FROGGS damn... can't stand it
nwc10 I wasn't certain he was coming because he's not confirmed
08:12 Hor|zon joined
woolfy He will come if he will be at our home tomorrow at 09:15. :-) 08:12
Nice to arrive with four Perl 6 people in Salzburg. 08:14
08:18 pdcawley joined
jnthn much wow 08:18
woolfy: I'll wait around for y'all at the hotel (probably madly scribbling my talk), and guess can all head out for noms :)
jnthn gets in earlier 08:19
nwc10 I don't yet know when I'm arriving 08:20
(other than "Thursday early evening")
weather looks good: www.zamg.ac.at/cms/de/wetter/wetter...nachmittag
woolfy jnthn: OK, will take you with us in the car. Nice to arrive with five Perl 6 people at social event. :-) 08:21
08:22 Hor|zon left 08:23 chenryn left 08:24 laben joined, chenryn joined
laben hello #perl6 08:24
moritz nwc10, woolfy, lizmat: if any of you want to visit me on your way from or to APW, that would be very nice 08:26
(or any other 6er that I might have forgotten to hilight, for that matter)
lizmat moritz: *on* the way, would be difficult...
on the way back, definitely an option 08:28
woolfy moritz: lizmat seems tohave your address...
jnthn nwc10: Yeah, weather here is crap! Will be glad of the improvement in Salzburg :)
lizmat but it would not be much more than having lunch on Wed, because we need to be back home late Wed
moritz lizmat: do you already know when you'll drive back
lizmat: lunch would suit me fine
lizmat 3.5 hours to Erlangen, then 5.5 hours home
moritz lizmat: it's actually Fuerth/Nuernberg now, but that's close to Erlangen 08:29
lizmat yup, close :-)
moritz (20km away)
lizmat let's try to get that together on Wed then :-)
moritz lizmat: aye!
(but not I'm afk for a bit, meeting) 08:30
woolfy moritz: on the way to Salzburg, we will probably have a lot of road work problems, and we are picking up timotimo up, and if we are lucky, we will be in time in Salzburg to join the pre-event social.
So, no visiting you on our way to Salzburg...
Ah... I was superfluous... :-)
woolfy and lizmat now on the road to Amsterdam and then off to Ghent. 08:31
afk
08:31 woolfy left
lizmat commuting :-) & 08:31
08:31 lizmat left
TimToady drive good 08:31
08:34 laben_ joined
laben_ welp, some net problems 08:34
08:35 laben left
laben_ m: class T { has $.a; has $!b; has $.c; method new($a, $b) {self.bless(:$a, :$b);}}; my $t = T.new(1,2); $t.perl.say; 08:36
camelia rakudo-moar 19d2de: OUTPUT«T.new(a => 1, c => Any)␤»
laben_ why does this not work?
i mean, why doesn't it initialize $!b?
08:37 Hor|zon joined
laben_ it doesn't even set it to Any like $.c 08:37
jnthn laben_: It's private. 08:38
laben_: So the outside of the class shouldn't know about it.
laben_ but $.a too, it just has a getter...
jnthn Yes, that is what indicates that bless is allowed to set it. 08:39
And that it shoudl show up in .perl
laben_ m: class T { has $.a; has $!b; has $.c; method new($a, $c) {self.bless(:$a, b => 5, $:c);}}; my $t = T.new(1,2); $t.perl.say;
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/mFhfVjzUZe␤Redeclaration of symbol $:c as a placeholder parameter␤at /tmp/mFhfVjzUZe:1␤------> new($a, $c) {self.bless(:$a, b => 5, $:c⏏);}}; my $t = T.new(1,2); $t.perl.say;…»
laben_ m: class T { has $.a; has $!b; has $.c; method new($a, $c) {self.bless(:$a, $:c, b => 5);}}; my $t = T.new(1,2); $t.perl.say;
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/5vOY5J0QTP␤Redeclaration of symbol $:c as a placeholder parameter␤at /tmp/5vOY5J0QTP:1␤------> method new($a, $c) {self.bless(:$a, $:c⏏, b => 5);}}; my $t = T.new(1,2); $t.pe…»
jnthn :$c, not $:c 08:40
laben_ m: class T { has $.a; has $!b; has $.c; method new($a, $c) {self.bless(:$a, b => 5, :$c);}}; my $t = T.new(1,2); $t.perl.say;
camelia rakudo-moar 19d2de: OUTPUT«T.new(a => 1, c => 2)␤»
jnthn As I said though, *bless* will not set it
write a submethod BUILD
jnthn gotta go back to teaching, sorry...
laben_ jnthn: thanks, but why? this is extremely confusing
08:43 yeahnoob left
laben_ what is the use of new if i need to write an additional BUILD method? not trying to be abrasive, i would just like to understand the reasoning 08:43
08:48 dakkar joined 08:49 Hor|zon left, PZt joined
laben_ m: class T { has $.a; has $!b; has $.c; submethod BUILD(:$!a, :$!b = 5, :$!c) {}}; my $t = T.new(a => 1, c => 2); $t.perl.say; 08:50
camelia rakudo-moar 19d2de: OUTPUT«T.new(a => 1, c => 2)␤»
TimToady the point of privacy is to not let people write code that depends on that part of the interface because the name might change in the future; on the other hand, if you want to expose the name, there's little reason not to declare it $.b instead, since you can still refer to it internally as $!b
and if you change the name of the internal attribute, you can still map that name to the new attribute 08:51
laben_ i know the point of privacy, but if i do it inside the new method, no one knows but the class and it still doesnt work
now, why the BUILD way doesnt work either? 08:52
wait, .perl doesnt show it?
TimToady I don't know why your default doesn't work, other than that people usually put it on the 'has' instead 08:53
08:54 Mso150_f left
laben_ m: class T { has $.a; has $!b; has $.c; submethod BUILD(:$!a, :$!b = 5, :$!c) {}; method dd {$!b}}; my $t = T.new(a => 1, c => 2); $t.perl.say; $t.dd.say 08:54
camelia rakudo-moar 19d2de: OUTPUT«T.new(a => 1, c => 2)␤5␤»
TimToady oh, it does work, sorry, not awake yet
laben_ yep, .perl doesn't show it
TimToady m: class T { has $.a; has $!b; has $.c; submethod BUILD(:$!a, :$!b = 5, :$!c) {}}; my $t = T.new(a => 1, c => 2); say $t.DUMP 08:55
camelia rakudo-moar 19d2de: OUTPUT«T<1>(␤ :a(1),␤ :$!b(5),␤ :c(2)␤)␤»
laben_ i still think it's confusing and certainly undocumented outside of the synopses, assuming it's explained there
08:56 yeahnoob joined
TimToady well, language design is all tradeoffs... 08:56
so it's impossible to reduce confusion to 0
that's not, of course, an excuse for excess confusion :) 08:57
laben_ but why the distinction between new and BUILD?
personally, i would be satisfied if i could read the reasoning between several design decisions, that would make me understand the language better 08:58
TimToady because new for creating an object as a whole, not for monkeying with the class's particular infrastructure
especially when you have inheritance, each parent class is in charge of its own infrastructure, via BUILD
09:00 Hor|zon joined
laben_ you mean initializing a private attribute with some value (even non static) which can be done only with BUILD is monkeying with the class infrastucture? i don't understand 09:00
09:00 yeahnoob left 09:01 ecocode left
TimToady if you declare an attribute private, it means you are reserving the right to change it without the consent of your parent or child classes, as well as any random users of your class 09:01
laben_ at least, initializing a $! attribute out of build should trigger a warning, don't you think? 09:02
09:02 jerrycheung left
laben_ s/build/BUILD/ 09:03
TimToady why would we want a warning if the programmer is doing it on purpose? then they'd just have to suppress the warning 09:04
09:04 erkan joined, erkan left, erkan joined, immortal left
TimToady warnings are for when we're pretty sure that the user is confused 09:04
but if we start guessing about that, we make everyone mad :) 09:05
laben_ i should get a warning because setting it in new does not work, and i don't see hint of that
TimToady well, there should probably be a warning that the argument is unused, but we haven't figured out how to do that yet 09:06
09:06 ecocode joined
timotimo o/ 09:06
TimToady we'd need a bit somewhere that says "some level of this multilevel call used this value" 09:07
laben_ indeed, i'm confused because i would think that setting an attribute in new() works, while i should read a warning like "Private attribs like $!b can only be init'ed in BUILD submethod"
TimToady but we can't just delete it on use, because multiple levels may reuse the value
timotimo laben_: i have a few points for you
1) the new method doesn't implicitly call parent or child news inside your class hierarchy for you
2) the BUILD method, however, does get called for all classes in your hierarchy 09:08
that means that we can't simply error out when we get an additional parameter passed that doesn't correspond to a $!foo in your class C if C is derived from B which is derived from A
because even if B or A don't have a $!foo either, they might want to take a named parameter "foo" and do something with it
also, your default value is better placed in the "has" clause, IMO
hope that helps at all? 09:09
laben_ timotimo: but i'm not talking about a parameter which seems not used, i'm talking about trying to use a parameter to init an attrib with the same name, but it silently does not work because it needs to be done in BUILD 09:10
09:10 pyrimidine left
timotimo there's also the thing where every method has an implicit *%_ to it that'll silently swallow excess named attributes 09:10
09:11 yeahnoob joined, pyrimidine joined
laben_ i see in doc a little of this behaviour is documented, but only in a few lines which leaves it pretty confusing 09:11
timotimo yeah, that's bad. 09:12
TimToady maybe you should switch from OO to FP programming, where everything is perfectly clear :) 09:13
laben_ TimToady: not to me and i'm not asking every behaviour to be clear, just for it to be documented a bit more clearly, not everyone is a rakudo developer :/ 09:14
09:19 skarn left
laben_ m: class T { has $.a; has $.c; method new($a, *%opts) {self.bless(:$a, |%opts)}}; my $t = T.new(1, b => 2); $t.DUMP.say 09:20
camelia rakudo-moar 19d2de: OUTPUT«T<1>(␤ :a(1),␤ :c(Any)␤)␤» 09:21
laben_ man, i dunno what to do here, how can i make it work?
TimToady declare $.b maybe 09:23
FROGGS laben_: how should it know that you want to assign b to c?
laben_ i don't want to assing b to c
assign*
FROGGS m: class T { has $.a; has $.c; method new($a, *%opts) {self.bless(:$a, :c(%opts<b>))}}; my $t = T.new(1, b => 2); $t.DUMP.say
camelia rakudo-moar 19d2de: OUTPUT«T<1>(␤ :a(1),␤ :c(2)␤)␤»
09:23 pat_js joined
FROGGS ohh 09:23
I thought so 09:24
laben_ i would like to pass additional params for the class via new
09:24 skarn joined
FROGGS laben_: what should happen with these? 09:24
laben_ i thought %opts would get filled with b => 2, then with |%opts i would get the equiv of bless(:$a, b => 2), therefore creating an attrib b with value 2 09:25
TimToady p6 objects are not hashes 09:26
timotimo attribs have to be defined with "has" clauses
FROGGS laben_: an attribute won't be created out of thin air just because you pass it to new
TimToady you can't just shove a new attribute in
laben_ i need to tell that to XML guys
FROGGS one would have to use the MOP to add attribute conditionally... but I am not sure how good that idea is :o) 09:27
laben_ but there is a way to add attribs at runtime, no?
TimToady sounds more like you want a hash attribute
moritz laben_: or you could have a hash attribute inside an object
laben_ otherwise how do you support prototype-based inheritance
FROGGS something like: $target.HOW.add_attribute($target, $add_attr);
moritz via a custom meta object protocol
FROGGS and one has to add the public accessors then too 09:28
laben_ moritz: can you explain or link some material?
09:29 Ven joined
Ven Well backlogged, #perl6 09:29
timotimo o/ ven
Ven I am arriving at salzburg at 4pm (tomorrow, that is). Will there be some 6ers? 09:30
timotimo FROGGS: actually, adding an attribute before you compose the package will create the accessor for you, too, IIRC
FROGGS ohh
timotimo: but what is about doing would happen when instantiating an object... the package will be composed already, no? 09:31
timotimo well, an XML file has to have a DTD 09:32
build the classes based on that DTD
:P
laben_ timotimo: so, can i do that in a BUILD submethod?
timotimo no 09:33
not the way i'm proposing, i mean
Ven class A { has %.attrs is bucket; }
laben_ is bucket? what is it?
Ven nothing :P 09:34
timotimo what is it? you decide! :)
laben_ ? i'm getting confused? 09:35
09:35 Mouq left
Ven It's nothing *yet*, but you're very free to define it yourself 09:35
laben_ i know is rw, but there is no other in the docs
Ven in the docs? 09:36
dalek ast: 05bf75e | usev6++ | S04-phasers/begin.t:
Add test for RT #115502
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115502
Ven I know I explain how `is` works in my tutorial, at least
laben_ doc.perl6.org, reading from these for now, synopses are a bit much too
Ven laben_: have you tried learnxinyminutes.com/docs/perl6/ ?
I'd love some feedback ;) 09:37
laben_ Ven: thanks for the link, i'll tell you
Ven hopes there will be some other people by salzburg at 4pm :) 09:38
laben_ Ven: first thing right off the bat is the first :truey and :!falsey, you should make clear that the result is not based on the names. i mean, it works even if you call them :foo and :!bar 09:39
Ven takes note 09:40
09:40 pepl joined
laben_ with-named(3, :4named); #=> 7 is this seriously a thing? this is a typo nightmare 09:42
Ven how so 09:43
FROGGS laben_: that is a pair constructor syntax, usually used in: s:2nd/foo/bar/
m: say :2nd; say :4named;
camelia rakudo-moar 19d2de: OUTPUT«Unexpected named parameter 'nd' passed␤ in sub say at src/gen/m-CORE.setting:15835␤ in block <unit> at /tmp/rlIaHBIajO:1␤␤»
Ven hahah 09:44
laben_ Ven: if i typo and write :3end instead of :end
FROGGS m: say (:2nd); say (:4named)
camelia rakudo-moar 19d2de: OUTPUT«"nd" => 2␤"named" => 4␤»
Ven laben_: why would you do that, though?
that's the same problem as every other typo. I don't understand your argument
if you write :eend instead of :end... That's the same problem
laben_ Ven: with this mechanism is perfectly legal and even returns a value, instead of giving warning beacuse you use undefined 09:45
because*
FROGGS I once typo'd: if(someconditionhere); {ahugeblockhere} and it took me quite a while to find it
Ven laben_: I still don't understand. What's undefined?
FROGGS still, a typo is a typo
Ven m: say (:eeeend); # I just typo'd "end" here. same problem 09:46
camelia rakudo-moar 19d2de: OUTPUT«"eeeend" => Bool::True␤»
Ven How is it a "typo nightmare"? 09:47
09:47 bjz joined
laben_ Ven: i want to put a param :end, i mistype :eend, when i try to use end it says undefined because i did not pass anything, while if i mistype :3end, it's not undefined 09:47
Ven now imagine if you mistyped :!end :) 09:48
laben_ Ven: because i made a typo and the usual system that warns me doesn't
FROGGS laben_: looks more like you are complaining about the fact that additional named arguments passed to methods are just swallowed
Ven if you do Bool :$end, then you're certainly gonna get an error.
laben_ Ven: that is if who wrote the sub code specified a type, but what if he didn't? 09:49
Ven laben_: (it's gonna be truthy anyways)
FROGGS m: sub foo(:$end) { }; foo(:3end)
camelia ( no output )
FROGGS err
m: sub foo(:$end) { }; foo(:$eend)
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/D6HZI5ncjm␤Variable '$eend' is not declared␤at /tmp/D6HZI5ncjm:1␤------> sub foo(:$end) { }; foo(:$eend⏏)␤»
FROGGS m: sub foo(:$end) { }; foo(:eend)
camelia rakudo-moar 19d2de: OUTPUT«Unexpected named parameter 'eend' passed␤ in sub foo at /tmp/MXzZNingbI:1␤ in block <unit> at /tmp/MXzZNingbI:1␤␤»
FROGGS laben_: you basically want that message me thinks, but you'll only get it for subs, not methods 09:50
arnsholt laben_: If you misspell a named, in most cases dispatch will complain about an unknown argument
laben_ FROGGS: if i come off as complaining it's just because i would like an explaination, not that i want to change Perl 6 behaviour
arnsholt And well, I don't see how that named syntax is more prone to misspellings than other syntaxes 09:51
FROGGS arnsholt: not for methods
09:51 sqirrel_ joined
arnsholt Are methods magically *%nameds? 09:51
FROGGS yes
arnsholt Oh. Didn't know that 09:52
laben_ i'm truly sorry if i come off as scathing, it's not my intention, i hope you can continue to view me as friendly
timotimo that's fine :)
09:55 Hor|zon left
Ven arnsholt: yeah, it's for nextsame etc. 09:55
colomon Debugger::UI::CommandLine, GTK::Simple, NCurses, and Semantic::Versioning all started failing overnight. :\ 10:02
oh, "failed cloning repository" 10:03
timotimo huh
colomon launches another smoke test.
10:08 kurahaupo joined, Hor|zon joined
laben_ Ven: the "arbitrary precondition" you speak of in the Multi Dispatch section doesn't have a specific name? If so, you should cite it 10:10
10:11 ecocode left
Ven laben_:well, it's called "wheres" 10:11
laben_ Ven: the capability to restrict a type to a subset resulting true of a predicate, it doesn't have a name? sorry, i thought i read it somewhere 10:12
jnthn Refinement type, maybe 10:13
Though we typically just say "subset type" here, I think 10:14
laben_ jnthn: i see
jnthn On new/BUILD, I typically write a new when I want to change the API for construction from named parameters to something else, and use BUILD when I want more control over how attributes are initialized in my class 10:15
laben_ jnthn: you can only use one or the other? 10:16
10:16 kjs_ joined
jnthn laben_: You can do both 10:16
FROGGS jnthn: "in your class" is ambiguous :o)
jnthn FROGGS: I know exactly what my class is :P 10:17
FROGGS yeah, probably :o)
jnthn laben_: That said, in reality, I quite often write a BUILD, and only rarely write a new
laben_: 'cus culturally, "pass named args to new" is the common thing 10:18
Ven jnthn: noted. s06 doesn't give it a name
jnthn So I tend to want a fairly strong reason to do that.
laben_ jnthn: culturally, for perl. not if you want to attract people from other languages 10:19
10:20 yeahnoob left
jnthn Typically when I go to a language, I read code and figure out its cultural norms. :) 10:21
abraxxa i'm looking for a way to define a variable in test files that use a single test file via an eval
in github.com/abraxxa/DBIish/blob/mas...e-common.t 10:22
but i want to define the default value in the t/99-common.pl6 file and not define it in each test file 10:23
this works with $* scoped vars but still requires to define the var in each evaling test file
laben_ jnthn: i agree, but i don't think that behaviour is the norm. basically, i'm saying that people not used to that will try and complain about those differences unless told explicitely and strongly 10:25
arnsholt jnthn: Yeah. Just like natural language there are constructions that are correct and make sense, they're just (almost) never used 10:26
10:26 lichtkind joined
jnthn arnsholt: Yeah. You should see how friously my colorless green ideas are sleeping... :) 10:26
*furiously
arnsholt My favourite example is "pepper and salt". Makes perfect sense, and yet it's just wrong =)
FROGGS laben_: surely, but we can't change Perl 6 into something that everyone expects... you only can make some ppl happy out of the box 10:27
jnthn arnsholt: Isn't there a photetics explanation for why that sounds wrong compared to "salt and pepepr"...
laben_: So, we need to document/explain this more prominently/clearly?
arnsholt Not that I've encountered, but could be something like that
laben_ FROGGS: again i agree, it's just that there is a lot of documentation work to be done to prevent complaints to the max
jnthn: in my humble opinion, yes 10:28
FROGGS jnthn: d followed by s is problematic me thinks
laben_: true
jnthn laben_: OK, that gives me/us something concrete to work on. Thanks. 10:29
Maybe I can dig up some concrete examples from modules that illustrate it well...
rurban lizmat: what's with this "heat death parsing times" for my constant π := pi? RT #122785
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122785
laben_ also, a clear collection of examples of class building and attribute wrangling would be probably the best solution. remember why people love(d) StackOverflow, it's because you see example, you copy example, then work it out 10:30
FROGGS rurban: when we stick literal unicode characters in rakudo's core setting, the stage parse will increase exponential on parrot 10:31
lichtkind cheers pplz, i have an interesting bug for you
10:31 azawawi joined
FROGGS rurban: so we have to avoid that 10:31
azawawi hi
FROGGS lichtkind: do tell
rurban numbers?
FROGGS rurban: I have none 10:32
(atm)
rurban maybe I should attack that first. encodings are handled very inefficiently between imcc and the core parrot API
FROGGS rurban++ 10:33
10:33 Ven left
laben_ or a good faq, an example question would be "What is the difference between a private method and a sub in a class" coupled with short codes that illustrates the q 10:33
lichtkind unhandled exception: failed to load library 'dynext/libperl6_ops_moar.dylib' at <unknown>:1 (long/path/rakudo/perl6.moarvm:<dependencies+deserialize>:306)
which comes at any call of perl6-m on my macbook 10:34
laben_ btw, what is the answer to that question?
lichtkind built just yesterday
jnthn laben_: A private method can access attributes, a sub can not
laben_ jnthn: that's exactly the type of answer needed, precise and concise 10:35
the things one can remember from heart
FROGGS lichtkind: and that happens inside the rakudo directory as well?
lichtkind yes 10:36
FROGGS does that file exist?
lichtkind no actually no
my fault
FROGGS O.o
jnthn And how the heck did it get through the build without that file? :)
lichtkind in the dir all is fine
FROGGS ahh
jnthn lichtkind: did you "make install" :)] 10:37
FROGGS lichtkind: did you "make install"?
jnthn lol
FROGGS ehh
rurban added github.com/parrot/parrot/issues/1097 for imcc bad handling of encoded strings
lichtkind yes i redid make install
same problem
i do whole thing again 10:38
FROGGS lichtkind: can you no-paste the output of make install?
lichtkind just to make sure
hardly so since i dont have an irc client on my macbook but mom please
FROGGS rurban: the timings are from your box? 10:39
rurban yes, my slow macair
a bigger box would be faster 10:40
FROGGS rurban: that explosion to 440s is just crazy :o)
rurban well, I knew that for a long time, but didn't know that it affects rakudo that much. I thought method call slowness is more important for now 10:41
we'll see how to prioritize
will need a few months probably
FROGGS yeah
rurban could or Coke you add the reference to the parrot ticket into the RT?
you or Coke 10:42
FROGGS I can
10:42 leont joined
FROGGS done. 10:43
10:43 lichtkind_mac joined
lichtkind_mac ah actually i had chat :) 10:43
paste comes in a sec 10:44
10:52 sqirrel_ left
laben_ phasers seems really cool 10:52
rurban FROGGS: thanks 10:54
lichtkind_mac pastebin.com/xbCdddUD
hope that helps
10:55 lichtkind_mac left
laben_ Ven: no mention of appending to or concatenating an array or a hash in your guide 10:56
10:57 Sqirrel left
jnthn , 11:00
laben_ m: my @a = 1, 2; my @b = 3, 4; say @a,@b 11:02
camelia rakudo-moar 19d2de: OUTPUT«1 23 4␤»
laben_ m: my @a = 1, 2; my @b = 3, 4; my @c = @a, @b; @c.perl.say 11:03
camelia rakudo-moar 19d2de: OUTPUT«Array.new(1, 2, 3, 4)␤»
laben_ m: my @a = 1, 2; my @b = 3, 4; @a = @a, @b; @a.perl.say
camelia rakudo-moar 19d2de: OUTPUT«Array.new(1, 2, 3, 4)␤»
jnthn
.oO( I like it when I can answer in a single char :) )
m: my @a = 1, 2; my @b = 3, 4; @a ,= @b; @a.perl.say
camelia rakudo-moar 19d2de: OUTPUT«Array.new(1, 2, 3, 4)␤»
laben_ jnthn: cool, are there performance diff with push? 11:04
jnthn Maybe but I couldn't tell you which way :)
laben_ jnthn: i suppose the end target is to have them equivalent on performance, right? 11:05
jnthn well, or close enough you won't care :)
teaching time again :)
laben_ like if , is a fun call to push, inline it and it's great
11:08 SamuraiJack__ left
laben_ Ven: i think there's an error on the line where you exmplain list-associative property for binary operators. that or it needs a better explaination 11:09
.tell Ven no mention of appending to or concatenating an array or a hash with the "operator ," in your guide 11:10
yoleaux laben_: I'll pass your message to Ven.
laben_ .tell Ven i think there's an error on the line where you exmplain list-associative property for binary operators. that or it needs a better explaination
yoleaux laben_: I'll pass your message to Ven.
11:11 skarn left, cognome left, slavik left, njmurphy left, Ulti left, avuserow left, j4jackj left, isacloud______ left, renormalist left, leedo left, Juerd left, leedo joined, Juerd joined, renormalist joined, ntln joined, Ulti joined, j4jackj joined, isacloud______ joined, Khisanth joined, avuserow joined, isacloud______ left, isacloud______ joined, dylanwh joined, njmurphy joined, cognome joined, Bucciarati joined, j4jackj is now known as Guest30590 11:12 mtj joined, _sri joined, slavik joined 11:13 laben_ left, prevost joined 11:14 Hor|zon left, Hor|zon joined 11:16 skarn joined
lichtkind FROGGS: you want any additional info? 11:18
11:26 yogan joined
dalek ast: 0a2c9a8 | usev6++ | S04-phasers/enter-leave.t:
Add test for RT #116314
11:28
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116314
11:33 H2O1 joined, H2O1 left 11:39 bjz left 11:45 bjz joined 11:49 chenryn left 11:55 dwarring left
FROGGS lichtkind: that file gets installed: perl -MExtUtils::Command -e cp dynext/libperl6_ops_moar.dylib /Users/lichtkind/code/perl/six/rakudo/install/languages/perl6/runtime/dynext 11:56
lichtkind: does the file exist at that path?
lichtkind it does 11:59
colomon Second smoke came out much better, but GTK::Simple is still failing. 12:00
FROGGS lichtkind: what gives you `which perl6-m`? 12:01
lichtkind the one in code/perl/six/rakudo 12:02
FROGGS so /Users/lichtkind/code/perl/six/rakudo is in PATH? 12:04
12:07 Hor|zon left
FROGGS lichtkind: ? 12:08
rurban probably, otherwise wouldn't have found it 12:10
which wouldn't have found it 12:11
FROGGS lichtkind: in case the rakudo build directory is in PATH, please remove it, and only put /Users/lichtkind/code/perl/six/rakudo/install/bin in PATH 12:12
dalek ast: 95bf03a | usev6++ | S04-statements/last.t:
Add test for RT #116204
12:13
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116204
timotimo hmm 12:14
oh damn 12:22
RT hides things that are quoted by default
FROGGS yaeh 12:23
or so
timotimo jnthn: how does the profiler react to something like $app.run() and callbacks being called from there? will those be properly removed from the exclusive time of postcircumfix:<( )>? 12:24
moritz that's the very definition of exclusive vs. inclusive time, no? 12:25
12:25 Ven joined
moritz so far I've seen no indication that the profiler mixes up the two 12:25
Ven leont: irclog.perlgeek.de/perl6/2014-10-08#i_9475067 <- right, I know I need to explain flattening :) 12:26
yoleaux 11:10Z <laben_> Ven: no mention of appending to or concatenating an array or a hash with the "operator ," in your guide
11:10Z <laben_> Ven: i think there's an error on the line where you exmplain list-associative property for binary operators. that or it needs a better explaination
timotimo moritz: it's just because when we have a callback, we have an inferior runloop, afaict
and that could be weird
jnthn I don't think the inferior runloop will upset the profiler much 12:27
moritz uhm, what?
Ven leont: not sure I get the second message
jnthn Or at all
timotimo good
moritz I hope not every callback starts an inferior runloop?
Ven lichtkind: I've got that "bug" before.
lichtkind: you added the wrong bin to your path
12:27 immortal joined
jnthn moritz: Well, each callback needs to call into the interpreter, but that's not really more costly than a normal invocation. 12:28
There's no runloop object that gets created, and the frame is just a normal frame creation on top of the normal call stack
12:29 tadzik is now known as BSc_tadzik
BSc_tadzik harr harr 12:29
jnthn :D
BSc_tadzik++
timotimo BSc_tadzik: \o/
12:29 erkan left
FROGGS BSc_tadzik++ 12:29
/o/ 12:30
timotimo what's our status regarding "is export('FOOBAR')" (or is that "is export(:FOOBAR)"?) and the use side of things?
nwc10 BSc_tadzik++
BSc_tadzik: so, you can come to the ball?
BSc_tadzik I even got a 5 :o
12:30 bjz left
BSc_tadzik a 12:30
FROGGS a 5? on what scale? 12:31
BSc_tadzik apparently all those conference talkpractice paid off
FROGGS of course
:o)
BSc_tadzik FROGGS: 2-5, where 2 is a failure
FROGGS ahh
interesting
Ven o// 12:32
FROGGS they could have called it it 39-4a too, would make as much sense
Ven FROGGS: you sank my ship
FROGGS *g* 12:33
BSc_tadzik nwc10: I may be able to pull it off
timotimo that would be hella sweet
12:33 bjz joined
nwc10 BSc_tadzik: if so, that would be awesome 12:33
FROGGS \o/
BSc_tadzik nwc10: at least sunday, saturday will be quite tricky
12:34 Hor|zon joined
BSc_tadzik fri and mon are pretty much out of reach :/ 12:34
nwc10 just Sunday might not be worth it
I don't know how hard the travelling is
timotimo that would be a whole lot of travelin'
nwc10 but it seems a lot of travelling for not much conference 12:35
BSc_tadzik I don't mind :)
moritz BSc_tadzik++ 12:38
12:39 Hor|zon left 12:40 xenoterracide joined
timotimo BSc_tadzik: can you make panda exit with an error number when installing modules has failed? :) 12:48
Ven nwc10: when will know the schedule is final?
BSc_tadzik timotimo: sure :)
nwc10 Ven: I don't actually know.
timotimo Calling 'gdk_event_get_keycode' will never work with argument types (GdkEvent, IntTypedCArray[uint16])
Ven ha, hmm. 12:49
timotimo Expected: :(GdkEvent $event, IntTypedCArray[uint16] $keycode)
grrr
nwc10 work has something somewhat urgent currently
Ven timotimo: known bug, right?
timotimo not sure?
Ven 'think so.
timotimo i thought our ZMQ implementation did things like that all the time and it worked out then ...
this puts a pretty harsh damper on my APW project 12:52
jnthn: you know what i could do here? 12:54
i can probably not just set that to OpaquePointe?
12:54 Hor|zon joined
timotimo maybe i actually can. 12:54
12:56 rindolf left
timotimo well, at least i get an exception now. 12:57
pepl Ven: re schedule - i did not get a response from daxim_ yet
Ven pepl: I received an email WRT talk... "deduplications" - was that you? 12:58
pepl yup
Ven alright :)
pepl deduplications is not the fully correct term.
12:59 rindolf joined, xenoterracide left 13:05 molaf joined
pepl early talks were accepted early because we were not sure how full we would get the schedule. because of that few speakers have more than one in the schedule. IIRC daxim_ gave at least one of those talks already. So, no extra preparation effort and thus an opportunity to have your talk instead if he would be OK with that. otherwise - backup talk 13:05
13:08 njmurphy left
timotimo is there still room for a lightning talk, i wonder? 13:08
13:08 njmurphy joined 13:09 Hor|zon left, Hor|zon joined
Ven pepl: I'd just like to know if I need to prepare mine or not :P 13:09
timotimo FROGGS or jnthn, how do i "convert" a CArray[uint16] into an OpaquePointer? (what i'm trying to do in the "big picture" is get around the "expected IntTypedCArray[uint16] but got exactly that" error)
Ven 'guess I could do it in the train... 13:10
FROGGS hmmm
timotimo Type check failed in assignment to '$tgt'; expected 'IntTypedCArray[uint16]' but got 'Array'
i'm not entirely sure how this happens 13:11
oh!
i forgot to .new that!
Ven should say got 'Array:U" :p
timotimo that is silly
no
i wrote my CArray[uint16] $tgt; $tgt[0] = 0;
Ven oh :P
timotimo that autovivified an array
the question stands ... it seems like i need to get the memory address of the CArray 13:12
is that .WHERE?
pepl timotimo: lightning talks: yes 13:14
timotimo cool
should i register beforehand somehow?
pepl Ven: don't prepare unless you can make use of it otherwise. can't promise anything besides a backup talk 13:15
timotimo: yes, please submit it via act.use.perl.at as lightning talk
Ven pepl: well, I mean, I'm not one to write really fast my talks soo 13:16
is lizmat doing her c-day is coming talk?
timotimo OK 13:17
pepl: i'm not sure if i've purchased my conference ticket yet :o
nine timotimo: to pass the address of a pointer variable, you can also use a $pptr = CArray[OpaquePointer] with $pptr[0] = $pointer; 13:18
Ven oh, I havn't purchased my ticket easier. 13:19
Well, student pass is 10e, I can afford that..
pepl it would be great if you could pay via bank transfer (which itself should be free inside SEPA land) 13:22
13:25 davido__ left 13:26 davido__ joined
timotimo aye 13:27
pepl: can you confirm that i still have to pay?
nine: that's not *quite* what i want, though
i want to pass the address of the CArray as a pointer
the function i'm trying to bind would put data into a bit of space i'm supposed to allocate, that's why it wants me to pass a pointer 13:28
and since we model pointers like that as CArray, that's what i'm doing
but i can't just put CArray[uint16] into the type signature of the native sub, as that will give me a BS error
FROGGS a solution would be to have OpaquePointer.alloc instead
I think
or just to solve that bloody issue about "got X[y] but expected Y[y]" :o) 13:29
pepl timotimo: in the sense that you're not sure if you already have? 13:30
13:36 Akagi201 joined
Ven Errrm... I think I'm going to split the regex part of my tutorial into another tutorial. 13:39
clojure has "clojure macros" as an aside 13:40
The tutorial is already massive.
nine timotimo: put OpaquePointer into the signature. You can nativecast that to CArray and vice versa.
timotimo: I did the same with callbacks that get passed a **: github.com/niner/Inline-Perl5/blob...5.pm6#L517 13:41
lichtkind FROGGS thanks it works now 13:45
FROGGS lichtkind: \o/ 13:46
lichtkind good so i have something to write for the article :)
13:47 chenryn joined
FROGGS :o) 13:53
13:57 zeropool joined 13:59 robinsmidsrod left
timotimo nine: i'm sorry, i think i'm confused. 14:01
the signature has OpaquePointer right now
froggs told me when i nativecast an OpaquePointer, that's actually a dereference 14:02
oh yay, Internal error: invalid thread ID in GC work pass 14:03
14:04 robinsmidsrod joined
moritz that's a new one for me :-) 14:04
timotimo now OpaquePointer<140112394061936> turns into GdkEvent<140112394079928> 14:05
i'm not sure that's right
14:05 deadcool joined
timotimo that's when i nqp::box_i($the_opaque_pointer.Int, GdkEvent) 14:06
i kind of thought that should leave the number the same?
14:06 zeropool left 14:10 perlnEwb joined
leont Given a key argument like foo.bar.baz of unknown lengt, how do I set %hash<foo><bar><baz>? 14:11
14:11 abraxxa left
leont My naive approach of while (...) { $current = $current{$next}; } $current{$last} = $value doesn't seem to work 14:12
timotimo is your "foo.bar.baz" a string?
14:12 perlnEwb left
leont Yes 14:12
moritz my $current = %hash; for 'foo.bar.baz'.split('.') { $current = $current{$_} }
m: my %h; %h<a><b><c> = 42; my $c = %h; for 'a.b.c'.split('.') { $c .={$_} }; say $c 14:13
camelia rakudo-moar 19d2de: OUTPUT«No such method '&postcircumfix:<{ }>' for invocant of type 'Hash'␤ in method dispatch:<.=> at src/gen/m-CORE.setting:1308␤ in block <unit> at /tmp/Tmpoqwsynh:1␤␤»
moritz m: my %h; %h<a><b><c> = 42; my $c = %h; for 'a.b.c'.split('.') { $c = $c{$_} }; say $c 14:14
camelia rakudo-moar 19d2de: OUTPUT«42␤»
moritz I forgot that postcircumfix { } isn't a method anymore
it might be nice to have a .dive method that did that for you
%h.dive('foo', 'bar', 3); 14:15
leont Well, I'm trying to set a value, not get it, that is a minor complication too
timotimo m: my %h; my $c = %h; for 'a.b.c'.split('.') { $c = $c{$_} }; $c{"d"} = "hi"; say %h; 14:16
camelia rakudo-moar 19d2de: OUTPUT«␤»
moritz m: my %h; %h<a><b><c> = 42; my $c = %h; for 'a.d.x'.split('.') { $c := $c{$_} }; $c = 42; say %h.perl
camelia rakudo-moar 19d2de: OUTPUT«("a" => {"b" => {"c" => 42}, "d" => {"x" => 42}}).hash␤»
moritz leont: ^^ quite minor, IMHO :-)
yay for binding 14:17
timotimo ah, of course
moritz and autovivication
leont Right, binding. Yes that makes live much easier
TimToady m: my %h; %h{'foo';'bar';'baz'} = 1; say %h<foo><bar><baz>
camelia rakudo-moar 19d2de: OUTPUT«(Any)␤»
leont moritz++ that did the trick
Ven TimToady: I tried it as well :)
moritz (also, if you read, the loop should have a 'last unless defined $c' or so)
Ven m: my %h; %h{'foo';'bar';'baz'} = 1; say %h
camelia rakudo-moar 19d2de: OUTPUT«␤»
TimToady m: my %h; %h<foo><bar><baz> = 1; say %h{'foo';'bar';'baz'} 14:20
camelia rakudo-moar 19d2de: OUTPUT«1␤»
TimToady works the other way, so just autoviv is busted
leont I'm writing a TOML parser, it has a useful but somewhat unusual syntax for hashes
TimToady m: my %h; %h<foo><bar><baz> = 1; say %h{lol <foo bar baz>} 14:21
camelia rakudo-moar 19d2de: OUTPUT«"bar" => {"baz" => 1} (Any) (Any)␤»
TimToady hmm
m: my %h; %h<foo><bar><baz> = 1; say %h{<foo bar baz>.lol}
camelia rakudo-moar 19d2de: OUTPUT«1␤»
TimToady m: my %h; %h<foo><bar><baz> = 1; say %h{<foo bar baz>.lol} = 42; say %h{'foo';'bar';'baz'} 14:22
camelia rakudo-moar 19d2de: OUTPUT«42␤42␤»
14:22 guru joined
TimToady m: my %h; %h{<foo bar baz>.lol} = 42; say %h{'foo';'bar';'baz'} 14:22
camelia rakudo-moar 19d2de: OUTPUT«␤»
14:22 guru is now known as Guest94154 14:23 Guest94154 is now known as ajr_
xfix github.com/rakudo/rakudo/commit/de...6da3ed63bf 14:27
Reminds me of my old Math::Tau module.
For Perl 6.
github.com/xfix/Math-Tau/blob/mast...ath/Tau.pm 14:28
jnthn timotimo: Looks like a bug. Try making a constant aliasing the IntTypedCArray[uint16] and using it in both places 14:29
jnthn survived the teaching o/ :) 14:32
Now I just have to...write my talk and get to Salzburg :)
lichtkind jnthn what do you teach that is so horrible php% 14:33
?
jnthn lichtkind: Oh, I was teaching something very nice
Just tiring, especially when I still felt a tiny bit jetlagged from last week at the start of it :)
lichtkind ah
TimToady must be nice to have something to talk about
I get to talk about how screwed up my summer was :)
lichtkind i wish i could make it to slazburg 14:34
14:34 cognome left
lichtkind but i did it once to miss a whole week and it took me 􏿽x9A weeks to catch up 14:34
i mean 3 still had czech keyboard
jnthn no šit!
14:35 cognome joined
lichtkind haha 14:35
jnthn: but you didnt looked reall bad in sofia :)
jnthn Well, no, I'd had some relatively quiet weeks leading up to it :) 14:36
I mean, all I did was write a profiler.
And drink ale.
Quite easy life. :)
lichtkind 􏿽x9Ait which reminds me i should learn fo the exam tomorrow :) 14:37
gtodd maybe one of the big YAPC's should have a BoF or community event on "Travel and Productivity Tips"
lichtkind definite
gtodd "How to avoid burnout while travelling the world, raising your kids and writing massive amounts of code ..."
TimToady
.oO("Are we there yet, Daddy, are we there yet?")
14:38
lichtkind jnthn: and please tell me when we start build gui on perl six
gtodd hahah
14:39 cognome left
jnthn doesn't yet have any kids to raise, so has a little less to juggle. :) 14:39
lichtkind: On GUI stuff, see the GTK::Simple stuff I hacked up on a train, then timotimo++ (and I think others) have been working on :) 14:42
lichtkind ah which reminds me that i have a panda problems 14:45
Ven explain TimToady's sample to some people...
timotimo hi, i'm doing GTK stuff, yes
Ven m: my %h; my $a = 'a.b.c'; say %h{||$a.split('.')}; say %h.perl
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!===␤Variable '&prefix:<|>' is not declared␤at /tmp/WVfbLzuEau:1␤------> my %h; my $a = 'a.b.c'; say %h{|⏏|$a.split('.')}; say %h.perl␤Variable '&prefix:<|>' is not declared␤at /tmp/WVfbLzuEau:1␤--…»
itz salzburg is warm 14:46
moritz Ven: just one |
Ven we don't have ||, I guess :). Not even sure it should work ehre tho
moritz m: my %h; my $a = 'a.b.c'; say %h{|$a.split('.')}; say %h.perl
Ven moritz: no. one | is "," - two is ";"
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/frxEcekfmi␤Variable '&prefix:<|>' is not declared␤at /tmp/frxEcekfmi:1␤------> my %h; my $a = 'a.b.c'; say %h{⏏|$a.split('.')}; say %h.perl␤»
moritz oh
ok
Ven itz: are you in salzburg :)?
14:46 virtualsue joined 14:47 virtualsue left
itz yes with virtualsue on the slowest hotel wifi in austria 14:47
Ven itz: ah, nice. would you be up for meeting up tomorrow around 4pm?
erm, I need to know when I can get into the hotel... Need timotimo or lizmat
14:48 azawawi left
timotimo well, that's a good question 14:48
i'm the person they're expecting
Ven they are :P
timotimo oh holy crap
jnthn: that helped!
Ven: maybe i should shoot them a mail or contact them via booking that my roomie is going to arrive quite a bit earlier 14:49
Ven timotimo: I'd appreciate it :)
even more so that I don't speak german.
I do intend to take a german dictionary, though :P
itz ven: probably doing tourist things tomorrow and not sure what our plans are
Ven has been learning some vocabulary... Not to much extent or success
14:49 virtualsue joined
timotimo that'll be fine 14:50
itz ven: but my email is [email@hidden.address] and you can contact me tomorrow and I'll read on my phone
jnthn timotimo: yay 14:51
aww, one of my students left their brolley behind... 14:52
dalek kudo-star-daily: d70a24a | coke++ | log/MoarVM-version.log:
today (automated commit)
rl6-roast-data: 9d12f67 | coke++ | / (4 files):
today (automated commit)
timotimo Ven: Ven i think i'll need to know your full name
jnthn anyways, I should probably go find my train, and maybe pick up some food and a pint on the way...
lichtkind Sub cwd (from GLOBAL) called at:
/home/lichtkind/code/perl/six/panda/lib/Panda.pm, line 82
Please use $*CWD instead.
jnthn probably bbiab, if the train wifi works... :)
lichtkind liz broke panda
timotimo jnthn: in any case, i wish you good travels!
lichtkind: did you make extra sure to pull in the panda repository?
jnthn timotimo: Thanks! :)
gtodd cd ~/src/rakudo ; git pull ; "Already up-to-date. Everyone is drinking beer in Austria so be patient"
jnthn &
Ven timotimo: ah, yes, indeed. that might be desirabe... 14:53
timotimo :)
Ven
.oO( better cancel my trip! )
14:54 colomon left 14:55 gtodd left, kaleem_ joined, colomon joined
lichtkind timotimo argh 14:56
14:56 kaleem left
pyrimidine lichtkind: panda works for me with latest nom. just gives some deprecation warnings 14:56
timotimo lichtkind: i made that same mistake quite often recently :) 14:57
lichtkind it does 14:58
installing gtk simple right now
dalek k-simple: 9618975 | (Timo Paulssen)++ | lib/GTK/ (2 files):
add a bit of GDK stuff

allows the user to enable events via event masks and then you can subscribe to an event supply via the signal_supply method of GTK::Widget
15:00
timotimo lichtkind: if you re-install now, you can get this commit as well -^
lichtkind i did by accisdent because i missed the dev libs for gtk 15:02
pyrimidine just curious, but how are reports for host08.perl6.com:8080/report being generated?
(or more specifically, how do I test different stages for my project?)
moritz pyrimidine: there's a project called emmentaler which creates the smoke reports 15:03
github.com/tadzik/emmentaler
nneds panda, iirc 15:04
pyrimidine moritz: thanks!
timotimo you can test your project by just running "panda install ." inside the project's folder
pyrimidine timotimo: so there isn't a 'panda test' variant? 15:05
timotimo i think there's a binary "panda-tester" or something
otherwise, you can use "prove" directly (or via the simpler route which used to be ufo, but i'm not sure if ufo works 100% at the moment)
15:06 gfldex joined
pyrimidine timotimo: ok. 'prove' works fine but it's build that's having issues (BioPerl6) 15:07
15:07 cognome joined 15:08 sqirrel joined 15:12 cognome left 15:20 virtualsue left 15:23 ezra1 joined, virtualsue joined 15:29 Ven left 15:38 [Sno] left 15:40 treehug88 joined 15:43 ghostlines left 15:46 pepl left 15:47 virtualsue left 15:50 kaleem_ left 15:52 virtualsue joined, virtualsue left 15:54 fhelmberger left 15:55 fhelmberger joined 15:56 Hor|zon left 15:59 fhelmberger left 16:00 zakharyas left 16:02 Mso150_f joined 16:07 cognome joined 16:12 cognome left 16:17 Hor|zon joined 16:18 FROGGS left
tony-o how often does panda update its module listing? 16:22
16:22 ajr_ left, sqirrel left, guru joined, guru is now known as Guest63210 16:23 Guest63210 is now known as ajr_, gfldex left, Hor|zon left
BSc_tadzik you have to do that manually 16:24
'panda update'
tony-o ahh 16:26
BSc_tadzik ooh, pandapack
I should take a look at that 16:27
tony-o it's an empty shell right now, i'm writing a POD to Readme.md converter for it right now
the dependency on Pluggable doesn't let it install, hmm :/ 16:28
16:30 psch joined
psch hi #perl6 16:30
16:31 FROGGS joined 16:34 chipotle left 16:35 Hor|zon joined 16:37 chipotle joined
timotimo ... the readme of zavolaj still claims arrays of structs are NYI ... 16:42
jnthn that's LTA...
jnthn waves from the train
16:43 pat_js left
timotimo :) 16:43
16:47 b2gills left, b2gills joined 16:50 _slade_ joined
BSc_tadzik waves his fabolous hair 16:51
16:55 xenowoolfy joined
nwc10 jnthn: train all the way? 16:55
what's the best way to get a message to lizmat? 16:56
xenowoolfy Just type now, lizmat is reading :-)
16:57 kjs_ left
ingy lizmat is in Ghent and a talk I believe 16:57
s/and/at
but yeah, she'll backlog 16:58
xenowoolfy Indeed, lizmat and i just finished dinner in Ghent. The lecture starts in an hour...
ingy ok :)
I had dinner with her 24 hours ago
leont ingy: what a coincidence, me too! ;-) 16:59
nwc10 PMs
16:59 dakkar left
ingy oh, xeno*woolfy*! 17:00
ingy is slow
leont: like my CSV grammar?
leont ingy: you're a brave man. Live demoing is dangerous, but live coding is really living on edge ;-)
nwc10 lizmat++ # APW talks will be recorded (and edited by a third party)
ingy :) 17:01
github.com/ingydotnet/pegex-csv-pm...re/csv.pgx
nwc10 FROGGS: so the good news is that the t-shirts have been delivered
jnthn nwc10: Train all the way home. Flight tomorrow morning to Salzburg, via Frankfurt.
nwc10 FROGGS: and the bad news is that they're at domm's flat, not pepl's
xenowoolfy is very xeno
ingy leont: yeah I was in rough shape too :[
nwc10 so I get to collect them tomorrow morning - hand trolley and U2
(domm is in California, just to add to the fun) 17:02
jnthn Oh my, my talk will be *recorded*? I had better behave! :P
xenowoolfy ncw10++ for orga skills and service
nwc10 jnthn: but it will not be live streamed, so you can try to outbid liz to ensure that the recording "failed" for some mysterious reason 17:03
xenowoolfy: you have to thank nina, pepl and Roland too
ingy that link is "Pegex: Perl 6 Rules for the rest of us™
nwc10 or I do, on your behalf
I still have to make slides for my talks
(they got "written" about 3 weeks ago)
jnthn nwc10: You and me both! 17:04
xenowoolfy ncw10: nina++ pepl++ Roland++
(Difficult to type on iphone)
17:05 [Sno] joined
[Coke] Ghent? there's a Ghent about 30m from my house! 17:06
xenowoolfy Is that a Belgian Ghent?
Locally it is spelled Gent 17:07
17:07 cognome joined 17:08 molaf left
[Coke] "The name has its origin in the Flemish city Ghent, in Flanders, Belgium." 17:09
17:10 Akagi201 left
dalek k-simple: c506039 | (Timo Paulssen)++ | lib/GTK/Simple.pm6:
remove debug output
17:11
xenowoolfy Afk (off to lecture)
17:11 cognome left
tony-o flanders has a cool bike race 17:13
17:13 ezra1 left
vendethiel ingy: will you be at APW? 17:14
17:14 xenowoolfy left, Akagi201 joined
vendethiel m: role Refl[::T, T]{}; if Refl[Int, Int].new { say "hey" } # how do you like your dependently typed perl6? 17:15
camelia rakudo-moar 19d2de: OUTPUT«hey␤»
vendethiel m: role Refl[::T, T]{}; if Refl[Int, Bool].new { say "hey" } # how do you like your dependently typed perl6?
camelia rakudo-moar 19d2de: OUTPUT«None of the parametric role variants for 'Refl' matched the arguments supplied.␤Cannot call ''; none of these signatures match:␤:(Mu ::$?CLASS ::::?CLASS, Mu ::T, T)␤ in any specialize at src/gen/m-Metamodel.nqp:2214␤ in any specialize at src/gen…»
vendethiel :-)
ingy vendethiel!!! 17:16
vendethiel \o, ingy 17:17
ingy vendethiel: saadly no. I'm at c-base in Berlin
vendethiel ah; too bad :)
ingy I'll be in Berlin until next weds
at least same TZ
vendethiel: yeah, I really would have enjoyed meeting you 17:18
sometime soon…
vendethiel ingy: ...and maybe everybody else!
ingy I've met everyone else!
vendethiel sorry then!
BSc_tadzik :D 17:19
tony-o BSc_tadzik: any idea why panda won't recognize & install 'Pluggable' as a dependency? I get the error that 'Pluggable' is not available in the ecosystem but if I install Pluggable by itself, it works fine 17:22
BSc_tadzik tony-o: no typo?
tony-o doesn't appear to be 17:23
BSc_tadzik I'm not sure if we have this levenshtein hinting system for deps
tony-o github.com/tony-o/perl6-pandapack/.../META.info
17:23 ajr_ left
BSc_tadzik yeah, it all looks fine. Very weird 17:24
tony-o the Pluggable thing is a Role, not a class though, would that affect it?
BSc_tadzik I'll check here in a second
it should not
as far as panda is concerned it may be a JS file
dalek rl6-roast-data: 6570195 | coke++ | / (4 files):
today (automated commit)
17:25
17:26 Hor|zon left
[Coke] S32-io/spurt.rakudo.parrot 17:27
^^ two failures today
nine BSc_tadzik: congratulations! But isn't the BSc supposed to come after the name? 17:31
tony-o what is bsc
nine tony-o: Bachelor of Science 17:32
BSc_tadzik nine: dunno, in Polish it doesn't :)
tony-o ahh, congrats
BSc_tadzik it's also Dr House and not Hours DR :P
or something
jnthn m: say 'BSc_tadzik'.subst(/<:Ll>/, *.Str.succ) 17:35
camelia rakudo-moar 19d2de: OUTPUT«BSd_tadzik␤»
tony-o now he is unix
jnthn ;)
nine BSc_tadzik: it's kind of complicated here. Most traditional titles and degrees go in front of the name but those newfangled Bachelors and Masters are postfixes.
jnthn Same in English, really. BSc comes last, but Dr comes first... 17:36
TimToady it's not at all complicated in America; we just omit 'em all, except for Dr :) 17:37
timotimo except for "House, MD"
tony-o oh, is that something that is said when addressing someone? 17:38
BSc ?
TimToady the only place you see those in America is if someone puts it on their door at their business 17:39
nine In Austria everyone and their pet has some title and likes to see it. Goes back to the monarchy when some wise leader discovered that it's much cheaper to give people titles instead of a pay raise...
tony-o i don't even call Dr 'Dr so and so'
interesting, i don't remember ever seeing it in germany 17:40
vendethiel helloworldquiz.com/#/game 17:41
nine Germans are much more relaxed with regard to titles. In Germany you should use the Dr. when addressing someone in a business letter but other titles or degrees are not as important.
vendethiel got 3k2. I don't know any weird or old languages...
tony-o good to know 17:42
psch gist.github.com/peschwa/f5aa95ef7e751572924e does this seem like a sensible way forward? 17:43
we don't have a mechanism in the parser for deprecated switches or "only once" 17:44
so i made that up...
where "the parser" is HLL::CommandLine::Parser
vendethiel actually, just got 4800
17:46 _slade_ left 17:51 liztormato joined 17:52 Hor|zon joined
liztormato [Coke]: Does that test fail by itself? 17:52
tony-o vendethiel: thank you for leading me to this: xeny.net/Homespring
liztormato It passed for me 2 days ago 17:53
[Coke] liztormato: yes.
vendethiel tony-o: np, I guess
[Coke] both tests get '' as a result.
liztormato Hmmm.... Well, can't look at it now ;-( 17:54
tony-o vendethiel: the hello world program for that 'lang' was ridiculous so i had to check it out
17:57 fhelmberger joined, kjs_ joined 17:58 Hor|zon left, Hor|zon joined
vendethiel tony-o: yeah, I got that one 17:58
18:01 liztormato left, fhelmberger left 18:03 Hor|zon left 18:05 kjs_ left 18:07 cognome joined
FROGGS nwc10: hopefully they arrive :o)... though, I guess the shirts are the things that I won't miss that much compared to others 18:08
18:10 zakharyas joined 18:11 cognome left 18:17 spider-mario joined
nwc10 nine: I found a tombstone near here for some dude with 4 titles 18:17
and I don't think that any of the set he'd collected were massively high powered
offhand I can't remember them
seems like the Austrians had it figured out well before modern coperates 18:18
give someone their own office and a job title with "manager"
18:18 SamuraiJack__ joined
jnthn nwc10: How many titles did you get yet? :) 18:19
Or is it not just a caes of, "live in Austria, magically get titles"? :) 18:20
nwc10 jnthn: well, the Austrians refuse to let you play with your furrien titles, unless you need them for your job
this is probably in breach of EU treaties, as they clearly have different rules for Austrians vs non-Austrians 18:21
but I'm not going to push it
jnthn :) 18:22
nwc10 FROGGS: t-shirts should arrive.
FROGGS awesome :o)
18:24 hagiri joined
carlin a divinity student named Fiddle, refused to take his degree 18:24
he said it's bad enough being Fiddle without being Fiddle, D.D.
18:25 prevost left
jnthn :D 18:25
I have a friend whose surname is Doctors. He got a PhD, thus now he's Doctor Doctors. :)
timotimo i can't find the place where i could submit a lightning talk :\ 18:26
hagiri TimToady, hello man, how r u ?
18:27 _slade_ joined
hagiri hello all, good morning or afternoon? 18:27
:D
nine Good evening, hagiri. 18:28
nwc10 we had lectures on Saturday morning at 9am from Dr D'eath. This guy, I believe: www.damtp.cam.ac.uk/people/p.d.death/
jnthn :D 18:30
tony-o jnthn: that's like the Catch 22 book, Major Major Major Major 18:33
jnthn timotimo: Aint' it the submit talk page
and then in duration you pick lightning?
18:34 rurban left
timotimo i don't see the "submit talk" page anywhere :o 18:35
am i derping to the max here?
jnthn Are you lug in?
timotimo yup
maybe i'm just too late to the party 18:36
FROGGS nah
18:37 sshhnnff joined
hagiri nine, thanks man 18:37
=)
timotimo hello hagiri 18:38
nine Oh, seems like I got a couple of minutes to spare in my talk. 18:41
jnthn nine: I can always ask a hard question? :P 18:44
FROGGS "What is the opposite of a duck?"
err no, damn
"What is the difference between a duck?" 18:45
(I know, I messed it up :/)
nine But...what _is_ the opposite of a duck?
jnthn Reliable method dispatch?
FROGGS nine: you have time to think about it until your talk starts :o)
nwc10 nine: you're allowed to run early 18:46
nine I will use at least some of the time just to speak slowlier 18:47
FROGGS nine: you could use different talking styles when it comes to P5 specifics or P6 specifics... 18:48
18:48 dwarring joined
FROGGS so you speak P5 stuff slowly and boring and the P6 stuff totally motivating :o) 18:48
all of us should do that actually :D
vendethiel maybe I should register for a lightning talk 18:50
something like "how to get into p6" just giving links for the tutorial, irc, faq, et al
FROGGS +1
18:50 gfldex joined 18:52 rurban joined 18:53 darutoko left
timotimo yays 18:56
tony-o m: say $*EXECUTABLE.WHAT, $*CWD.WHAT 18:57
camelia rakudo-moar 19d2de: OUTPUT«(IO::Path)(IO::Path)␤»
19:01 Mso150_f left, daxim_ left, Mso150_f joined
dalek ast: c58e197 | usev6++ | S04-statements/for.t:
Add tests for RT #77738
19:02
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77738
19:07 cognome joined, erdic left 19:08 erdic joined, sshhnnff left, daxim_ joined 19:09 guru joined 19:10 guru is now known as Guest17546, Guest17546 is now known as ajr_ 19:11 prevost joined
dalek ast: 054665c | (Pepe Schwarz)++ | S06-macros/unquoting.t:
Add test for RT #122746.
19:12
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122746
19:12 cognome left 19:15 kaare_ left
BSc_tadzik jnthn: hmm, weirdness :) 19:20
19:23 Sqirrel joined 19:26 muraiki joined
BSc_tadzik tony-o: installing Pandapack works for me 19:32
19:33 pepl joined 19:34 SamuraiJack__ left 19:39 jack_rabbit joined
vendethiel oooh, scalaz's founder was kicked from scalaz. 19:40
today is a great day
19:40 rurban left 19:45 amkrankruleuen left
nine vendethiel: this is good why? 19:46
vendethiel because this guy was the biggest asshole ever. always insulting
19:48 amkrankruleuen joined
FROGGS well, there is some kernel hacker that might fit in that category too :o) 19:49
PerlJam FROGGS: that's just "opinionated" not "always insulting"
FROGGS: but ... maybe "asshole" anyway ;)
geekosaur immediately thought djb or theo 19:50
FROGGS PerlJam: probably... thing is that one often only hears the bad stuff
nine After seeing what people do to Lennart Poettering, I don't give too much about negative comments about people. 19:52
20:00 Hor|zon joined 20:02 kjs_ joined 20:04 Hor|zon left, kjs_ left 20:05 Alula left 20:07 cognome joined 20:09 virtualsue joined 20:11 cognome left 20:13 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk 20:15 deadcool left 20:16 _slade_ left
dalek kudo/nom: 442a465 | jonathan++ | src/Perl6/ (2 files):
Liberalize attribute-having.

Make it so that custom declarators are allowed to have attributes to, and use the default Attribute class as a fallback.
20:16
20:19 virtualsue left 20:20 lichtkind left
timotimo what kinds of thing end in '-attr'? 20:23
itz „Larry Wall ist für Perl-Programmierer wie Steve Jobs für Apple-Fans“ 20:25
jnthn timotimo: So far, always Attribute
timotimo mhm mhm
AFKbbl
jnthn timotimo: The idea was that different meta-objects might want to use a different meta-attribute
20:26 Mso150_f left
jnthn But...I'm really not sure %*HOW is the right hook to hang that off 20:26
timotimo ah, hmm
in any case, i'm intrigued by your talk title
and interested to find out how the recent EXPORTHOW work ties into that
jnthn me too ;) 20:27
timotimo oh, or i could just read the abstract
jnthn ooh, I think my train is about to get me home on time o.O
timotimo neato 20:28
in that case, gnite jnthn :)
jnthn detrains
pepl itz: I guess the simplifications in content and language at the salzburg.at APW entry is systematic 20:30
20:31 chenryn left
TimToady FROGGS: obviously, one leg is both the same. 20:31
20:32 azawawi joined, spider-mario left
azawawi hi 20:32
TimToady o/
20:33 beastd joined 20:34 xfix is now known as notfix 20:38 zakharyas left 20:39 psch left
tony-o BSc_tadzik: panda runs 'perl6 -Irv' for tests? 20:41
20:41 erdic left
BSc_tadzik tony-o: no, prove -e perl6 20:41
20:42 erdic joined
tony-o weird, it's not picking up the ./lib folder 20:47
BSc_tadzik by default it won't 20:48
panda does make it work though :)
20:49 ajr_ left
tony-o how would i test it? locally i can do: prove -e 'perl6 -Ilib' t/ 20:50
and get a success, if i do prove -e perl6, then i fail, and it fails with panda
BSc_tadzik huh 20:52
pepl TimToady: FYI: there will be parking space for a few cars for the APW - they will be sign-posted when coming in via Jakob-Haringer Straße
20:52 Hor|zon joined
BSc_tadzik tony-o: you could hack panda to make it print the commands it runs 20:52
azawawi any idea how to make panda retrieve the latest META.info of a Perl 6 module?
BSc_tadzik there will be one prefixed with PERL6LIB=... most likely
azawawi: 'panda update' should do it
azawawi cool thanks... 20:53
20:56 amkrankruleuen left 20:57 Hor|zon left 20:59 hagiri left 21:00 Hor|zon joined
tony-o prove -e /Users/tony/Downloads/rakudo/install/bin/perl6 -r t/ 21:05
the error i get is could not find module and a list of @*INC, but it doesn't include the './lib' folder 21:06
21:06 Hor|zon left 21:07 cognome joined
bartolin tony-o: I often just add "PERL6LIB=lib " at the beginning of the command line to include "./lib" for a single command 21:09
(though I don't know if that helps in this case) 21:10
azawawi feather.perl6.nl:3030/ # Farabi6 proof of concept Perl 6 editor... will break under pressure :)
azawawi panda install Farabi6 # for a local installation 21:11
tony-o bartolin: that doesn't seem to affect @*INC at all
21:11 cognome left, rindolf left 21:12 vendethiel left
tony-o azawawi: ENV{FARABI6_UNSAFE} is not enabled 21:12
azawawi yeah i didnt enable it... panda install it locally and try it plz
it cant handle multiple connections well 21:13
bartolin tony-o: oh, you are executing prove. what's about "PERL5LIB=lib "? 21:14
tony-o still nada 21:15
feel like i'm missing something very obvious
timotimo azawawi: what syntax highlighting does that use? 21:16
azawawi timotimo: perl5+perl6 keywords workaround js mode
timotimo ah 21:17
having a ' as an apostrophe in a pod block makes it think the rest of the file is a single-quoted string %)
azawawi true it is a perl5 mode afterall 21:18
timotimo that's fair
azawawi i noticed finding files is so slow in perl6 21:19
timotimo aye, the 'Fetching $modulename" part of panda is painfully slow 21:20
azawawi enabled running code for a while 21:21
and then im going to turn it off :)
timotimo it needs to learn to interpret ANSI escape codes for colors in its output :) 21:22
azawawi sure :)
open a github issue please so i can remember 21:23
21:23 guru joined
timotimo will do 21:23
21:24 guru is now known as Guest13986, Guest13986 is now known as ajr_
azawawi but overall im impressed with the MoarVM stability 21:25
21:25 Alula joined
azawawi it is way better than before 21:25
21:25 avuserow left
azawawi timotimo: try Alt-F11 for full screen editing 21:26
21:29 ajr_ left 21:32 chipotle left
azawawi & 21:33
21:34 azawawi left, ajr joined 21:35 ajr is now known as Guest89660 21:38 avuserow joined, Guest89660 is now known as ajr_ 21:41 gfldex left
carlin tony-o: if you have panda in your path you should be able to run `panda-test` 21:42
21:45 beastd left 21:47 ajr_ left 21:57 fhelmberger joined
timotimo jnthn: your g_idle_add has "returns int32", but in the docs it says it actually returns a guint; we may want to correct this 21:59
21:59 pyrimidine left
dalek ast: e8fd9ec | usev6++ | S02-types/set.t:
Add tests for RT #116096
22:00
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116096
22:00 NegativeZero joined 22:02 NegativeZero left, fhelmberger left 22:05 brrt joined 22:06 bartolin left
dalek k-simple: 5e263c1 | (Timo Paulssen)++ | lib/GTK/Simple.pm6:
expose the timeout function of gtk's event loop
22:07
22:07 cognome joined 22:11 kjs_ joined 22:12 cognome left 22:15 Guest30590 is now known as j4jackj
jdv79 nopaste.info/a3cb6f413c.html seems to disagree with S07 - why? 22:16
tony-o gonna rebuild panda .. panda-test succeseds but panda install fails
timotimo how does it disagree? 22:17
jdv79 i thought from the comment in S07 it would return (10, 11, 12, 13, 14, 15..50) 22:18
oh, right. seems fine i guess.
cool 22:19
timotimo :) 22:22
22:31 treehug88 left, ezra1 joined 22:32 kjs_ left 22:37 grondilu left
timotimo m: my $a = 1; my $b = 2; say $a + $b i 22:38
m: my $a = 1; my $b = 2; say $a + $b * i
camelia rakudo-moar 442a46: OUTPUT«===SORRY!=== Error while compiling /tmp/AE2la6JSsq␤Two terms in a row␤at /tmp/AE2la6JSsq:1␤------> my $a = 1; my $b = 2; say $a + $b ⏏i␤ expecting any of:␤ postfix␤ infix stopper␤ …»
rakudo-moar 442a46: OUTPUT«1+2i␤»
22:39 pepl left 22:48 lizmat joined 22:50 woolfy joined, brrt left 23:03 Hor|zon joined 23:07 Hor|zon left, cognome joined
tony-o moar doesnt build now either .. 23:07
Stage parse : moar(15135,0x7fff78887310) malloc: *** error for object 0x7ff91f1ed290: pointer being freed was not allocated 23:08
23:08 BenGoldberg joined 23:11 cognome left
lizmat moar build failure confirmed, reconfiguring seeing if that hekps 23:22
helps
23:28 xenoterracide joined 23:31 amkrankruleuen joined 23:36 cognome joined
BenGoldberg Here's an interesting possible speedup... compare: 23:40
m: sub foo ($a) { $a+1 }; my $start = now; foo(42) for 1..1e6; say now - $start; 23:41
m: sub foo ($a is rw) { $a+1 }; my $start = now; foo(42) for 1..1e6; say now - $start;
camelia rakudo-moar 442a46: OUTPUT«9.74894771␤»
rakudo-moar 442a46: OUTPUT«9.00733102␤»
23:41 sivoais left
BenGoldberg Suppose we can detect a *lack* of assignments to a container; if there's no chance of the contents of the container being mutated, generate the same code as if "is rw" had been there. 23:42
23:45 ezra1 left 23:53 sivoais joined
lizmat nukes the install directory and starts building again just before hitting the sack 23:54
starting to wonder whether we might be missing a moar / nqp revision bump 23:55
23:56 leont left
lizmat borkedness of rakudo on moar confirmed after a complete rebuild 23:59