»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
raiph p5p6 vs p6p5 # you've already got blogs and tweets getting this wrong. i urge you to immediately consider changing the name, letting everyone know the new name, and editing existing blogs asap. 00:48
raiph strawman suggestion: 5u6 01:09
pmichaud raiph: what aspects of "5u6" do you find make it better than "p6p5"? 01:22
[Coke] or we could do it both ways. <shrug> 01:26
(we could put a tweetfeed on perl6.org somewhere, also.) 01:27
pmichaud yes, I figure doing it both ways works out fine. I will say that the choice 01:32
oops
I will say that the choice of "#p5p6" versus "#p6p5" was discussed and a consensus reached before choosing one. I suspect mdk just got it backwards (as I do sometimes), which makes me feel like we should just adopt both forms :) 01:33
after all, tmtowtdi :)
also, on another topic, the big "5" on the yapceu t-shirts appeared on *all* of the conference t-shirts, not just the conference staff yellow ones. :) 01:34
[Coke] if I ever get the pieces together for the twitefeed in here, I'll do it both ways.
pmichaud (it had been suggested that only the conference staff tees had 5's on them) 01:35
[Coke] looks like we'll have rakudo on vms soon. rurban++
pmichaud I'll have the p6-versions of the t-shirts up on cafepress soon; I wanted to first check with some tpf officials about the onion on the shirt 01:37
[Coke] there may be issues, aye. 01:38
pmichaud well, apparently there aren't. :-)
[Coke] the raptor is probably safer.
ah. ok.
pmichaud at least for this particular design, they didn't have any issue with it
(indeed, most of them asked where they could get one :)
[Coke] the amount of overage you're charging on the shirts might impact the decision.
colomon pmichaud++
[Coke] but IANA... somtehing. 01:39
pmichaud I'm thinking I won't do any overage.
I just like the shirt and like to see people wearing it :)
pmichaud also, iirc the raptor is intended to indicate p5, which would be a little incongruous on a p6-themed shirt :) 01:42
but I could see one replacing the beer mug with a raptor and having an overprinted 5+6 on the reverse :) 01:43
that might be a fun design to put together as well
[Coke] 5+6? This perl goes to 11. 02:43
DrEeevil sorear: niecza makefiles, not parallel-make safe :( 03:13
raiph pmichaud: the 5s only on supervisors tees comment came from me; i misinterpreted what i read and didn 03:16
raiph pmichaud: 5s only on supervisors tees comment was me. i misinterpreted the photo caption. /o\ 03:19
p5p6/p6p5 pros 03:20
1. that's what was agreed 03:21
raiph 2. that's what is now published 03:21
3. that's what is already set up 03:22
4. simple (especially if u allow both versions)
5. sorta puts emphasis on p6 (p6p5) 03:23
raiph 6. logical order (p5p6) 03:24
cons
raiph 1. IF (a big if) this sticks as something associated with Perl reunification, it'll naturally end up branding that process, and (the following bit is subjective, very obviously) p5p6 doesn't appeal to me 03:30
2. If you don't double up with both p6p5 and p5p6, well, confusion will ensue, and the last thing Perl 6 needs to be associated with is confusion about p5 versus p6 03:32
raiph (or if not confusion, at least an easy target for ridicule) 03:33
(sorry about my language being so assertive; what i mean is that confusion may ensue; may be an easy target etc.) 03:35
3. again, if you don't double up, p6p5 sends a not-so-subtle metamessage that it's really about p6, first and foremost. (of course, that might be exactly what you intended) 03:40
4. if you do double up, well, that also seems off to me -- "why didn't you pick a better name?" 03:43
raiph pros of the strawman suggestion of 5u6 03:43
1. IF the p6p5 effort becomes known about in the broader Perl community, having a good name would matter, and i think a name like 5u6 would be better 03:46
raiph 2. I can see Camelia's brother with a 5 on his right wing instead of the P (and leaning to his right and so on). so 5u6 or 5*6 or somesuch would work nicely. i realize this might horrify Larry -- if so, forget I said anything about Camelia ;) 03:54
3. the u in 5u6 can stand for something. i was thinking union (between p5 + p6), unique (what's unique about both p5 + p6), unicode (an important Perl strength), universal (the Perls are for general purpose programming).
raiph (getting out there, i imagine Camelia's brother's name is CamelIB, a philosophical camel that's a butterfly in another dimension...) 03:56
4. thinking tweets, i thought it might be better to do #perl #5u6 than #p6p5 #p5p6 03:58
raiph out of pros/cons mode. could be 5x6, 5X6, 5n6, 5*6, 5&6, 5+6, etc. 04:02
raiph . 04:18
the tweet issue is actually what first had me thinking #p6p5 was a problem. first, it would be an ugly hack to say both (#p6p5 #p5p6). second, u get a fundamentally different effect if u tweet #perl #5u6 or whatever than any of #p6p5, #p5p6, #p6p5 #p5p6
raiph conversely, if you are consciously choosing to fly under the radar, #p6p5 is a good choice 04:20
diakopter raiph: do you think use of the hashtag will go beyond a few uses? 04:31
raiph not sure. do u know if it was intended mostly just for those who met? 04:36
raiph diakopter: i think, if the hashtag on twitter remains #p6p5, it will get much less twitter exposure than if it's #perl #5u6 or somesuch 04:46
diakopter no; I don't know
I think whichever tag a major blog post/announcement uses will get exposure as it's retweeted, so it doesn't matter much which one is chosen. I think it'll be great when such a mass-retweeting does occur. MOARPERLPLZ 04:48
raiph diakopter: agreed about rooting for mass exposure for a renewed 5+6 push 05:04
moritz \o 05:13
dalek c: 4275b25 | moritz++ | lib/X/A (3 files):
document three more error classes
06:00
pmichaud current draft of my p6doc talk: pmichaud.com/2012/pres/yapceu-p6doc 06:22
comments welcomed 06:23
pmichaud I'm afk for a bit. 06:30
moritz pmichaud: s:g/'Pod::Parser'/Pod::To/ 06:42
(slide 31)
otherwise very nice, pmichaud++ 06:43
masak good morning, #perl6 06:52
moritz \o masak 06:53
masak pmichaud++ # nice slides; looking forward to the talk 06:58
hoelzro o/ 07:15
masak /o
masak commute & 07:29
felher pmichaud++ # i'm on slide. 07:39
Ah, and by the way, the talk looks nice too ;)
*'im on one slide
dalek c: 9b99b23 | moritz++ | lib/X/TypeCheck (4 files):
document TypeCheck error classes
07:57
kresike good morning all you happy perl6 people 07:59
tadzik oh hai 08:07
phenny tadzik: 21 Aug 23:31Z <japhb> tell tadzik I just pushed a lot of stuff to panda; I suggest pulling and ./reboostrap.pl, and then enjoy my last few days of hacking. :-)
tadzik: 21 Aug 23:33Z <japhb> tell tadzik if you want to use the saved meta features on panda *itself* and its local-bootstrap, you should ./reboostrap.pl *twice*, because only after the first bootstrap will panda be saving all that info.
tadzik japhb: okay, I'll take a look when I get to some Place of Power :) 08:15
japhb: argh, bootstrap broken on windows 08:16
dalek kudo/nom: c5f8b87 | moritz++ | src/ (2 files):
include placeholder name in X::Signature::Placeholder
08:28
flexibeast Hey all. i've been searching through various synopses / documentation, and i can't seem to find what e.g. '*$x' means? ('$*x' i get, it's the case of the sigils reversed i'm not understanding.) 08:30
moritz flexibeast: *$x in which context? 08:31
TimToady that only works in a signature
moritz flexibeast: in a signature?
TimToady it means pull one variadic arg from the slurpy list
moritz TimToady: might be part of a regex too
flexibeast Yes, in sigs (from memory).
dalek c: 79c17a1 | moritz++ | lib/X/ (4 files):
document more error types
flexibeast TimToady: Ah okay, thanks. :-) 08:32
TimToady is sitting in masak++'s macros talk
moritz doc.perl6.org/type/Signature might be of interest
documenting all those error classes would be much faster if I didn't decide that about a third of them could be improved in the process 08:33
TimToady as long as it's done by Christmas...
flexibeast moritz: Groovy, thanks. :-) 08:34
nwc10 gah. I've been indoctrinated 08:34
I can't see $foo++; without thinking "no, pre-increment is better" 08:35
moritz meh, why does 'git status' not automatically launch a pager, when all other git commands do? 08:37
shachaf git config --global pager.status true 08:38
hoelzro why do some people prefer pre-increment? 08:39
moritz easier to understand, faster
shachaf In C++ there are cases where it's slightly more efficient.
TimToady P5 optimizes $foo++ to ++$foo when the value is not used
moritz should we allow that in P6 too? 08:40
TimToady if the value is not used, there is not difference
*no
nwc10 but if it can't know (ie return value of subroutine) it can't, I thought? :-)
er s/:-)//
naughty fingers
moritz TimToady: only for the built-in prefix:<++> and postfix:<++>
TimToady nwc10: the presumption is that if you put a value at the end of a sub, you want to return it 08:41
in that case the user would need to say 'sink $x++' or some such
or we probably just catch --> Sink in the declaration 08:42
moritz
.oO( I ordered a kitchen but it just returns a Sink )
dalek c: d57507b | moritz++ | lib/X/Syntax/ (2 files):
two more error classes
08:43
hoelzro I can add a type constraint based on a role to a subroutine signature, right? 09:04
ex. sub foo($value does Role) { ... }
moritz hoelzro: sub foo(Role $value) { } 09:05
just like any other type constraints
hoelzro I see 09:07
thanks
hoelzro (whoever's been updating doc.perl6.org since last I looked)++ 09:12
moritz what we really need is some kind of design for it 09:14
and a bit of navigation etc.
hoelzro in time =) 09:17
having the docs is nice
tadzik seen japhb 09:21
aloha japhb was last seen in #perl6 9 hours 47 mins ago saying "phenny, tell tadzik, if you want to use the saved meta features on panda *itself* and its local-bootstrap, you should ./reboostrap.pl *twice*, because only after the first bootstrap will panda be saving all that info.".
jnthn ohhai o/ 09:23
moritz ohaio, jnthn
hoelzro o/ jnthn 09:24
ohio!
hoelzro so Parameter.ACCEPTS checks object identity? 09:28
I would kind of expect it to check the parameter's type constraint against the given value
oh, I needed to scroll further down =P 09:29
moritz note that it's not that easy 09:30
sub f($x, $y where { $_ > $x * 2 } ) { }
you can't check the second parameter in isolation
you can only check whole signatures, in general
smash masak++ # macros talk 09:34
TimToady r: sub f($x, $y where $y > $x * 2) { say "$x $y" }; f 1 2 09:36
p6eval rakudo c5f8b8: OUTPUT«===SORRY!===␤Confused␤at /tmp/bH_nDZBA10:1␤»
TimToady n: sub f($x, $y where $y > $x * 2) { say "$x $y" }; f 1 2
p6eval niecza v19-31-g94c69fe: OUTPUT«===SORRY!===␤␤Two terms in a row at /tmp/0tRui2r81s line 1:␤------> where $y > $x * 2) { say "$x $y" }; f 1 ⏏2␤␤Parse failed␤␤»
TimToady n: sub f($x, $y where $y > $x * 2) { say "$x $y" }; f 1, 2 # duh
p6eval niecza v19-31-g94c69fe: OUTPUT«Unhandled exception: Constraint type check failed for parameter '$y' in 'f'␤ at /tmp/qq8zGjdMAd line 0 (f @ 1) ␤ at /tmp/qq8zGjdMAd line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4133 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.s…
hoelzro moritz: interesting point
TimToady n: sub f($x, $y where $y > $x * 2) { say "$x $y" }; f 1, 3
p6eval niecza v19-31-g94c69fe: OUTPUT«1 3␤»
TimToady r: sub f($x, $y where $y > $x * 2) { say "$x $y" }; f 1, 3
p6eval rakudo c5f8b8: OUTPUT«1 3␤» 09:37
TimToady don't really need another closure there
removing an unnecessary layer of closure might be a useful optimization 09:38
moritz I just don't use the where-clauses often enough to be sure about the precedence levels and what works 09:38
TimToady you can't use anything comma or looser, since comma means next parameter 09:39
other than that, it's just a thunk
same deal with default value 09:40
r: sub f($x, $y = 1 + $x * 2) { say "$x $y" }; f 1 09:41
p6eval rakudo c5f8b8: OUTPUT«1 3␤»
TimToady rosettacode.org/wiki/Random_number_...%29#Perl_6 09:46
rosettacode.org/wiki/Trabb_Pardo%E2...thm#Perl_6 09:47
hoelzro r: sub foo(Str $value) {} say &foo.signature.params[0] ~~ 'hello' 09:48
p6eval rakudo c5f8b8: OUTPUT«===SORRY!===␤Confused␤at /tmp/kdcSH9OW6g:1␤»
hoelzro confused? how is that confusing?
=(
tadzik semicolon
r: sub foo(Str $value) {}; say &foo.signature.params[0] ~~ 'hello'
p6eval rakudo c5f8b8: OUTPUT«False␤»
tadzik r: sub foo(Str $value) {}; say 'hello' ~~ &foo.signature.params[0] 09:49
p6eval rakudo c5f8b8: OUTPUT«False␤»
hoelzro tadzik: ah, thanks
anyway...
arnsholt "Confused" is perhaps a LTA error message there
tadzik that's correct
hoelzro does that look right?
tadzik r: sub foo(Str $value) {}; say &foo.signature.params[0].WHAT
p6eval rakudo c5f8b8: OUTPUT«Parameter()␤»
tadzik that's not a string :)
arnsholt You want params[0].type
hoelzro ah ha
TimToady n: sub foo(Str $value) {} say &foo.signature.params[0] ~~ 'hello' 09:51
p6eval niecza v19-31-g94c69fe: OUTPUT«===SORRY!===␤␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/zGvEELowI_ line 1:␤------> sub foo(Str $value) {}⏏ say &foo.signature.params[0] ~~ 'hello'␤Other potential difficulties:␤ $valu…
TimToady niecza is more informative on that subject
moritz aye, rakudo needs to adopt STD's whole error tracking thing
arnsholt Indeed. Due to its grammar being more STD-like, I assume
TimToady nodnod
nodnodnod even 09:52
dalek c: 7c9ae89 | moritz++ | lib/Parameter.pod:
[Parameter] explain how to obtain an Parameter object; link to Signature
09:54
pmichaud fixing up Rakudo's grammar for better error handling is on my hit list 09:55
moritz your hit list is just long :-) 09:59
as is mine
jnthn as is mine
moritz and, like, everybody elses 10:00
jnthn Debugger is somewhat knocked off mine now though :)
moritz www.haskell.org/haskellwiki/Image:M...-chart.png 10:09
dalek kudo/nom: 1054d13 | moritz++ | src/core/ (2 files):
awesomify error message for X::Role::Initialization
10:23
c: 19996f3 | moritz++ | lib/X/Role/Initialization.pod:
document X::Role::Iinitialization
10:32
snarkyboojum hi guys - is there a suitable switch to take advantage of compiling Perl 6 on a machine with many cores? --jobs rings a faint bell... 10:39
compiling Rakudo rather :) 10:40
TimToady make -j 4
or whatever
snarkyboojum TimToady: cheers :) will give it a whirl 10:41
TimToady I think there's some way to run spectests in parallel too
snarkyboojum I should search back through the irc logs eh :) this will get me started though 10:42
colomon TEST_JOBS=4 works to make the spectest run in parallel, at least in niecza. 10:48
snarkyboojum noice - should try that.. I'm testing a 'make' of rakudo on a quite beastly beast - trying to optimise - finishes in about 3m15s 10:49
TimToady all systems are go for lunch & 10:50
snarkyboojum colomon: stupid question - but you're talking about an env var right? 10:52
colomon snarkyboojum: yes
snarkyboojum colomon: will give it a go - output of time make spectest forthcoming :) 10:53
colomon on OS X, the command line I use is just TEST_JOBS=4 make spectest
that temporarily sets the env var and runs make spectest.
snarkyboojum nice… I've just manually exported it
seems to be going fast!
apart from IO-Socket-INET.t :S 10:54
snarkyboojum colomon: finishes spectest in about 1m40s :) 11:00
snarkyboojum colomon: tho it fails some tests 11:07
colomon woof, that's fast! 11:24
snarkyboojum colomon: what are some compute intensive perl 6 benchmarky type things? there was a fractal generator from memory?
colomon snarkyboojum: yes,
github.com/colomon/mandelbrot 11:25
snarkyboojum colomon: ta
moritz note that rakudo's README documents the TEST_JOBS thingy 11:27
snarkyboojum colomon: what would be a good compute stress test with mandlebot.pl? 11:28
moritz: thanks - I'm a lazy bum :)
colomon snarkyboojum: just say something like perl6 mandelbrot-color.pl 1001 11:29
snarkyboojum moritz: I can't find TEST_JOBS in the rakudo README though
moritz wooops
snarkyboojum oh document(s)
colomon er, perl6 mandelbrot-color.pl 1001 >fractal.ppm 11:29
if that goes too fast, increase the number. :)
snarkyboojum colomon: will this just use a single cpu? 11:32
colomon snarkyboojum: yes
snarkyboojum colomon: bugger :)
colomon the niecza gtk-mandelbrot version is in parallel
colomon but rakudo doesn't have parallel processing yet, so far as I know 11:32
snarkyboojum colomon: ok.. might get mono installed and niecza going 11:33
colomon how many cores do you have?
snarkyboojum colomon: we need a gpu version :P
colomon: 16 hyperthreaded cores
colomon: with 60+GB RAM
colomon !!!!!!
colomon wonders if he could justify buying one of those for work.... 11:34
snarkyboojum colomon: but I don't see any performance increase between 16 and 32 test jobs.. so it seems spectest doesn't use HT
colomon: costs me $2.50/hr ;)
moritz snarkyboojum: it just uses whatever the OS uses for processes 11:35
snarkyboojum colomon: or not (as this is "testing" for work :))
moritz: makes sense
colomon .... $20 for a working day. $100 a month....that's actually not that insane. It's a server somewhere?
snarkyboojum colomon: aws.amazon.com/ec2/instance-types/ - a 'Cluster Compute Eight Extra Large Instance' instance on AWS :D 11:37
colomon: 2 x Intel Xeon E5-2670
colomon for what I'd need it for on work, I think they'd kill me on file storage costs. 11:38
gtk-mandelbrot probably not suitable, then, as it's got an actual GUI
snarkyboojum colomon: run it on a windows box then :) 11:39
colomon: file storage costs?
colomon I'd be testing my software on a lot of large files. 18 gigs worth. 11:40
as I recall, amazon's file storage is a bit pricey. and uploading them from scratch each time would kill the performance improvements of using the big box. 11:41
snarkyboojum colomon: ouch - could cost $1.80 for block storage
colomon that's per day or something, no?
snarkyboojum colomon: per month
colomon really? hmm.....
moritz if you have a huge blob of seldom-changing data, you could use the new "glacier" thing 11:42
snarkyboojum moritz: indeed - 1c/GB/month :P 11:43
moritz r: 1.Str::split('foo') 11:54
p6eval rakudo 1054d1: OUTPUT«Cannot dispatch to method split on Str because it is not inherited or done by Int␤ in method dispatch:<::> at src/gen/CORE.setting:830␤ in block at /tmp/dBdzCoABND:1␤␤»
dalek c: 2dc3ff6 | moritz++ | lib/X/Method/InvalidQualifier.pod:
X::Method::InvalidQualifier
11:56
c: 92a6deb | moritz++ | lib/X/Syntax/Number/RadixOutOfRange.pod:
X::Syntax::Number::RadixOutOfRange
11:59
dalek c: ff5a9cc | moritz++ | lib/X/Export/NameClash.pod:
document X::Export::NameClash
12:05
c: 14f9f8e | moritz++ | lib/X/Sequence/Deduction.pod:
document X::Sequence::Deduction
12:07
moritz r: class A { }; class B does A { } 12:09
p6eval rakudo 1054d1: OUTPUT«===SORRY!===␤B cannot compose A because it is not composable␤at /tmp/tCDkDOoTOE:1␤»
lumi_ moritz: Which 'it' is that? 12:17
moritz the last mentioned
lumi_: if you can come up with a clearer (but non-repetitive) error message, I can easily change it 12:18
lumi_ A is not composable, so B cannot compose it # perhaps? 12:22
moritz: Or is "X because Y" mandatory?
moritz no, not mandatory
b_jonas Should S02 have a provision that version control conflict markers like <<<<<<< are a token that causes a syntax error with an approperiate message? 12:23
Or would people want to write those for <<...>> strings/indexes? 12:25
moritz b_jonas: STD.pm6 recognizes it, and it's as much standard for Perl 6 as S02 is 12:25
b_jonas I see.
moritz b_jonas: it won't hurt to mention it, but the exact semantics are more accurately described in STD.pm6 anyway
b_jonas The exact semantics for what diagnosis is produced probably does not need to be in S02, but S02 at least needs to mention that it's invalid or else people could insist it's a valid <<...>> literal 12:27
moritz +1
n: say <<< 1 >>> 12:28
p6eval niecza v19-31-g94c69fe: OUTPUT«===SORRY!===␤␤Bogus term at /tmp/eHwsYd0IMZ line 1 (EOF):␤------> say <<< 1 >>>⏏<EOL>␤␤Parse failed␤␤»
moritz n: say << 1 >>
p6eval niecza v19-31-g94c69fe: OUTPUT«1␤»
colomon std: say <<< 1 >>> 12:30
p6eval std 235f71b: OUTPUT«===SORRY!===␤Bogus term at /tmp/gucLpAH6sX line 1 (EOF):␤------> say <<< 1 >>>⏏<EOL>␤Parse failed␤FAILED 00:00 42m␤»
colomon std: say <<<<<<<<<<< 1 >>>>>>>>>>>>
p6eval std 235f71b: OUTPUT«===SORRY!===␤Unsupported use of >> to do right shift; in Perl 6 please use +> or ~> at /tmp/Vib1VSCbEP line 1:␤------> say <<<<<<<<<<< 1 >>>>>>>>>>>>⏏<EOL>␤Bogus term at /tmp/Vib1VSCbEP line 1 (EOF):␤------> say <<<<<<<<<<< 1…
moritz $ ./perl6 -e 'class A { }; class B does A { }' 12:31
===SORRY!===
A is not composable, so B cannot compose it
dalek kudo/nom: 7b068ea | moritz++ | src/core/Exception.pm:
improve error message for X::Composition::NotComposable, lumi_++
12:32
moritz r: say Date.today 12:33
p6eval rakudo 1054d1: OUTPUT«2012-08-22␤»
diakopter "non composable cannot be composed"
dalek ecs: 5e47a16 | moritz++ | S32-setting-library/Exception.pod:
[S32::Exception] improve an error message, lumi++
12:36
b_jonas I think it's always *exactly seven* less than signs, in all version control software 12:40
smash pmichaud++ # p6doc talk 12:44
GlitchMr perl6: "a[\x2028]b".perl.print 13:16
p6eval niecza v19-31-g94c69fe: OUTPUT«"a[\x[2028]]b"»
..rakudo 7b068e: OUTPUT«"a[
]b"»
GlitchMr perl6: "\xA0".perl.print 13:17
p6eval rakudo 7b068e, niecza v19-31-g94c69fe: OUTPUT«" "»
GlitchMr perl6: Blob.new(1, 2, 3).perl.print 13:41
p6eval niecza v19-31-g94c69fe: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'Blob' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1402 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /home/p…
..rakudo 7b068e: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Blob' called (line 1)␤»
GlitchMr I guess that Blob isn't supported yet 13:42
moritz have fun guessing 13:43
tadzik hm. There's no Perl.pm, but could we maybe name tomorrows' release "Perl" after the town of PRS? 13:44
moritz I wouldn't object 13:46
though you could still call it Frankfurt :-)
tadzik or Frankfurt.pm, it wasn't taken yet :)
huh, seems that I released Riga.pm too :) 13:49
hoelzro you know what would be cool? a Perl 6 grammar -> Vim syntax file converter 13:52
hoelzro ponders
tadzik oh cool. Well volunteered :) 13:54
hoelzro puts it on the list 13:54
japhb tadzik, I broke bootstrap on windows? How the heck did I do that? 13:58
tadzik japhb: I donno
tadzik I'll forward an email to ya 13:58
japhb I didn't think any transform I did would have affected that. :-/
My apologies, I was trying to be very careful about that. :-( 13:59
tadzik yes, that's why I prefer not to touch bootstrap.pl. Never :)
sur, that's ok
do you have a windows machine to test that on?
japhb Nope.
tadzik hm, ok 14:00
I'll ask Gabor if he can bisect it
japhb Is jnthn around? He's the only one I know that regularly uses Windows to develop.
Ah, that's two, good.
(I also did smaller commits than I usually do, just in case I accidentally caused a problem of *any* kind, so it would be easier to bisect and fix the bad commit.) 14:01
tadzik good
japhb Well, on the flip side, did you get a chance to play with the changes on a working system? 14:02
japhb has not backlogged yet this morning, just saw your highlight ...
tadzik I rebootstraped a few times, I should have all the changes on 14:03
arnsholt Is FROGGS on GitHub someone here? 14:04
GlitchMr perl6: @("\x80\x40\xFF\x9F".encode('ISO-8859-1')).Str.print 14:05
p6eval rakudo 7b068e: OUTPUT«128 64 255 159»
..niecza v19-31-g94c69fe: OUTPUT«Buf()<instance>»
tadzik japhb: I'm still not sure why do we want URLs in 'list' 14:06
so locally installed modules look different, yeah, but the whole URL just for that?
GlitchMr But why I complicate stuff when I have .ords
japhb A couple reasons (for me): local installs, installing one of a few different forks of a project, etc.
tadzik hm 14:07
japhb tadzik, it's certainly not critical to me any more, since I updated 'info' to give both the project list and installed info as well.
tadzik ok cool
japhb Feel free to nuke it out of 'panda list --verbose' 14:08
tadzik talk & 14:09
japhb enjoy!
japhb is jealous of all the conference attendees. :-)
kresike bye all 14:28
moritz japhb: me too 14:37
japhb: did you see my comment on roles and inheritance in the type graphs? 14:38
TimToady wrt the table of p6 operators, there are 3 deletions (prefix:<=>, @@, p5=>), 5 additions (%%, Zop, Sop, ...^, set/bag operators), and 3 changed spellings (true => so, slice => lol, also => S&) 14:39
japhb moritz, I have not seen that comment yet. Link? 14:46
[Coke] LWP::Simple doesn't pass its tests, trying to install with recent panda, rakudo. 14:53
tadzik yes
it's brokens
just when I wanted to finish MuEvent::HTTP :)
moritz japhb: some roles like X::Comp inherit from a class (Exception) 14:54
japhb: now both that role *and* a role that does it (X::Syntax) get arrows the parent class (Exception)
and a class that does the role gets another arrow 14:55
for example doc.perl6.org/images/type-graph-X::Syntax.svg X::Syntax confused
japhb Ah yes, known bug that I kept forgetting to address.
moritz ok
I'll open a ticket if you don't fix it soon :-) 14:56
japhb It's a result of the "roles apply their isa list to the class that composes them"
moritz, probably not a bad idea to open the ticket. I'm a bit scattered this week, and I don't want to forget it again.
moritz ok, will do
japhb I guess I need to keep track of which isa relationships were explicit, and which came in from roles. 14:58
Makes me wonder how the Metamodel does this correctly. ;-)
Thanks for entering the ticket.
[Coke] arglebargle. I tried again to get panda working inside an installed rakudo, but it's a PITA. I must be doing it wrong. 15:00
I moved panda into the installed rakudo, and updated its shebang. 15:01
japhb [Coke], I have to run now but will be back in a bit. If you post a script of your problem, I can try taking a look at it when I'm back.
moritz japhb: github.com/perl6/doc/issues/4 the Metamodel simply doesn't have roles that inherit from classes
[Coke] it claims to install things, but not to the installed rakudo.
japhb moritz, yes it does.
japhb Er, and you pointed out the case I was thinking of in the issue. ;-) 15:02
[Coke] what do I need to do set my env to in order to use the installed modules?
japhb PERL6LIB 15:03
(Assuming they didn't just install into ~/.perl6/
Anyway, really AFK
&
[Coke] they DID install into ~/.perl6
[Coke] PERL6LIB=/home/coke/.perl6/lib perl6 ... use JSON::RPC - not found. 15:04
[Coke] ARG. JSON::RPC is not a class, it's a ... package? 15:05
so, yes, it all works fine, and my test is flawed. bother.
[Coke] bbkr: how can I find out more details if a client request results in a transport error? 15:11
bbkr: (on JSON::RPC::Client)
[Coke] phenny: tell cosimo that I'm blocking on Issue #15 for LWP::Simple. 15:19
phenny [Coke]: I'll pass that on when cosimo is around.
[Coke] phenny: ask bbkr how can I find out more details if a client request results in a transport error using JSON::RPC::Client 15:32
phenny [Coke]: I'll pass that on when bbkr is around.
bbkr [Coke]: there is no proper HTTP transport layer, the only message you get is http reposnse line (in exception object under .data attribute) 15:37
phenny bbkr: 15:32Z <[Coke]> ask bbkr how can I find out more details if a client request results in a transport error using JSON::RPC::Client
[Coke] star: use JSON::RPC::Client 15:40
p6eval star 2012.07: ( no output )
bbkr star: use JSON::RPC::Client; my $c = JSON::RPC::Client.new(url => "app.getresponse.com/error404.html"); $c.foo(); # this page returns 303 redirect
p6eval star 2012.07: OUTPUT«Transport error (-32300): "HTTP response is - 301 Moved"␤» 15:41
bbkr 301*
[Coke] so is there any way to get more info ther?
bbkr what info do you need?
[Coke] moved where? 15:42
GlitchMr Disconnections are getting silly
Just wondering, what was my quit message
bbkr [Coke]: you can modify this line github.com/bbkr/jsonrpc/blob/maste...ent.pm#L87 to return whole response in exception.data attribute 15:44
bbkr [Coke]: we still don't have HTTP::Request/Response classes to handle redirects or chunked transfers. the very basic communication added in JSON::RPC::Client does not handle many cases :( 15:46
bbkr [Coke]: which URL you try to connect to? local perl-perl communication or something external? 15:47
thou o/ 15:50
thou i have a question about new and BUILD. reading S12, it's not clear to me if the following should work or not: 15:57
nr: class Foo { has $.foo; }; my $f = Foo.new(:oops<should this fail or warn?>); $f.perl.say;
p6eval rakudo 7b068e: OUTPUT«Foo.new(foo => Any)␤»
..niecza v19-31-g94c69fe: OUTPUT«Foo.new(...)␤»
thou "All classes inherit a default new constructor from Mu. It expects all arguments to be named parameters initializing attributes of the same name." 15:58
moritz thou: excess named arguments are generally ignored in method calls
so, no warning or failure expected here 15:59
thou ok. that must be in S06
thou for some reason i thought that should error unless there's a slurpy *%foo param 16:00
moritz methods have an implicit *% at the end
thou ah 16:10
thou "Interface Consistency", S12. thanks, moritz! 16:10
thou rn: class Foo { has $.foo; method foo { return $.foo; } }; say "alive"; 16:32
p6eval niecza v19-31-g94c69fe: OUTPUT«===SORRY!===␤␤Two definitions of method foo (see line 1) at /tmp/wkfZwQvLCo line 1:␤------> class Foo { has $.foo; method foo ⏏{ return $.foo; } }; say "alive";␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niec…
..rakudo 7b068e: OUTPUT«alive␤»
sorear good * #perl6 16:40
thou hi, sorear
pmichaud good evening, #perl6 16:41
sorear DrEeevil: sorry I haven't been available much. I'd like elaboration on the "dirty bootstrap" and "unsafe makefiles" 16:43
I spent a good chunk of June trying to make the bootstrap not suck so much. Presumably you have something less ambitious in mind
GlitchMr I'm not sure, but "===" works like "is" (Python) for mutable types? 16:46
sorear can't speak for Python but it is object equivalence 16:50
n: say [] === [] # two distinct arrays
p6eval niecza v19-31-g94c69fe: OUTPUT«False␤»
sorear === tries to model distinguishability. internally 2 === 2 might be comparing different objects, but they aren't distinguishable because you can't modify one 16:51
n: my $x = 1+1; my $y=$x*1; say $x === $y
p6eval niecza v19-31-g94c69fe: OUTPUT«True␤»
sorear n: my $x = 1+1; my $y=$x*1; $x does False; say ?$x, ?$y, $x === $y # might be a problem? 16:52
p6eval niecza v19-31-g94c69fe: OUTPUT«Unhandled exception: Cannot use 'does' operator with an immutable object␤ at /home/p6eval/niecza/lib/CORE.setting line 1431 (die @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1370 (infix:<does> @ 8) ␤ at /tmp/GTyw4gbIJP line 1 (mainline @ 5) ␤ at…
sorear ah, you hit the guardrail there
thou i'd like a code review: github.com/softmoth/uri/compare/ma...references 17:08
PerlJam thou: What's with all of the Mu assignments? 17:19
thou PerlJam: my $u = URI.new('a'); $u.parse('completely/new/URI'); # .parse() wipes out previous URI completely. 17:20
PerlJam ah 17:21
thou that's how it was written already, i didn't change that code
i'm not a big fan of that interface, i guess i'd rather create a new URI.
[Coke] I think the right answer here is to get LWP::Simple working, as I don't think this api that returns json is really using jsonrpc. 17:50
thou [Coke]: is that comment related to URI, or did i miss something due to the net split? 17:53
[Coke] thou: you missed a conversion from over an hour ago about JSON::RPC::Client 17:55
thou ah, ok 17:56
[Coke] aloha: seen ronaldxs? 17:59
aloha [Coke]: ronaldxs was last seen in 15574 days 17 hours ago .
[Coke] tadzik: ronaldxs has a fork of lwp simple that passes all tests. 18:01
[Coke] masak: if I "use LWP::Simple;\nuseJSON::Tiny;\n\nmy $ua = LWP::Simple.new\nmy $c..." I get a confused on line one, even though the error is a missing semicolon on line 4. 18:09
[Coke] slowly gets his perl6fu together. 18:18
[Coke] Timbus: have you looked into integrating MuEvent into Net::IRC::Bot? 18:24
dalek rl6-roast-data: 3a5e6c8 | coke++ | p (2 files):
today
18:49
rl6-roast-data: abc4e97 | coke++ | / (4 files):
today
[Coke] looks like rakudo is down a few tests today, some oddness in S32-exceptions/misc.rakudo 18:51
(which IS odd, because it says it passed more tests than before.) 18:53
moritz r: class A { }; class B does A { } 19:41
p6eval rakudo 7b068e: OUTPUT«===SORRY!===␤A is not composable, so B cannot compose it␤at /tmp/_S6oXr4LVr:1␤»
dalek c: 566a7a1 | moritz++ | lib/X/Composition/NotComposable.pod:
X::Composition::NotComposable
19:42
diakopter the yapc crew is conspicuously quiet 20:32
[Coke] mmm. 20:33
I was just thinking that.
probably the crappy network.
diakopter or something's afoot
[Coke] thank goodness they all have git so they don't need the net. ;)
moritz or probably some informal post-conference meetup
or they are just plain tired
japhb_ [Coke], I've got a few minutes now, do you still need help with panda problems? (I still haven't backlogged at all today.) 20:34
moritz many of the 6ers were in Perl before the YAPC, so they already had two intense days of conference behind them
[Coke] japhb_: no, now I need MuEvent::run and Net::IRC::Bot::run to interact. ;) 20:37
japhb_ heh
tadzik I'm here 20:43
tadzik but I may suddenly get asleep at a random moment :) 20:43
diakopter .u phenny 20:45
japhb_ tadzik, I like that phrasing -- it's very evocative. ;-) 20:46
tadzik phenny: en pl "evocative"? 20:48
tadzik oh :) 20:48
phenny diakopter: Sorry, no results for 'phenny'. 20:50
diakopter O_O
japhb_ phenny is ... very lagged
tadzik :)
diakopter yeah but; it wasn't on the channel when I sent that
phenny tadzik: "sugestywny" (en to pl, translate.google.com)
tadzik phenny: why, thanks you
felher is now back at "home" and wants to thank all people he met on the yapc for a wonderful time :) 20:54
felher s/on the/at the 20:55
sirrobert How do I sign a method signature with a role? 22:05
sub myfunc (MyRole $foo) { ... }
diakopter with a flourish?
sirrobert nope; with a faunish =) 22:06
sirrobert ah, no special syntax; my original attempt was just awkwardly tried 22:09
japhb_ sirrobert, heh, I was wondering what you were asking, because I was thinking "Looks right to me ..." :-) 22:09
sirrobert based on some debugging output I'd written +MyRole =) 22:10
sirrobert (there was some error that said something like, "Class+Role") 22:10
japhb_ sirrobert, you can get Class+Role if you apply the role to a particular object (with e.g. runtime but or does), rather than an entire type (in e.g. your class declaration) 22:12
sirrobert ahh, got it
I was using "but", that must be why I got that
mhasch is home from yapc::eu 22:14