»ö« 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.
sorear where I live, it will always be today. 00:01
flussence (actually I might be wrong, my NTP's been iffy lately...)
00:03 LlamaRider joined 00:04 Abcxyz joined
masak PerlJam++ # 24th advent post 00:08
PerlJam: "Niecza" link doesn't work :/
PerlJam: my $suffix = ' ' x $width - $text.chars - $prefix.chars; # this will not work unless you parenthesize the last three terms 00:10
seems I'm wrong. ignore me. 00:11
infix:<-> binds tighter than infix:<x>. TIL.
'night, #perl6 00:14
00:15 quester left 00:16 Targen joined
LlamaRider Hi. I just ran into " Smartmatch against False always fails; if you mean to test the topic for truthiness, use :!so or *.not or !* instead " 01:01
I'm indeed comparing False with False and want a true value out. What would be *the* safe way?
... good old == seems to work so far 01:03
let me know if I should be using something different 01:04
01:06 hypolin joined
flussence smartmatch only really makes sense to use if one of the other operators doesn't, and for booleans == is fine 01:07
01:09 anuby joined
LlamaRider I'm happy I used it, since I am trying to learn as much as I can right now. And getting tripped on smart-matching booleans was a valuable experience. 01:09
though I am sure I don't yet understand the reasoning behind its design. 01:10
flussence I'm confusing myself a bit now... 01:12
rpn: say False ?^ False
p6eval rakudo c8de2e, niecza v24-12-g8e50362: OUTPUT«False␤»
..pugs: OUTPUT«␤»
01:12 rindolf left
flussence anyone know why that's false but True ?^ True returns Nil? 01:12
01:17 rindolf joined 01:21 rindolf left 01:24 rindolf joined 01:27 raiph joined 01:29 LlamaRider left 01:31 MayDaniel left
Patterner I just compiled parrot, nqp and rakudo with clang 3.2. all tests passed. (all from git repos) 01:52
01:59 nebuchadnezzar left 02:00 whiteknight left, nebuchadnezzar joined 02:04 nebuchadnezzar left 02:10 nebuchad` joined 02:15 bot48 left 02:22 nebuchad` left 02:36 rindolf left 02:43 rindolf joined
[Coke] rpn: say True ?^ True 02:44
p6eval rakudo c8de2e: OUTPUT«Nil␤»
..niecza v24-12-g8e50362: OUTPUT«False␤»
..pugs: OUTPUT«␤»
[Coke] looks like a rakudobug.
02:52 FROGGS left 03:05 FROGGS joined 03:08 orafu left, OuLouFu joined 03:09 OuLouFu is now known as orafu 03:15 Chillance left 03:22 lolage left 04:53 gootle joined 05:14 gootle left 05:25 telex left 05:36 telex joined, geekosaur left 05:37 geekosaur joined 06:24 kaleem joined 06:28 colomon left 06:36 rindolf left 06:41 SamuraiJack joined 06:53 skids left 06:58 daniel-s__ joined 07:02 daniel-s_ left
moritz \o 07:11
07:14 xinming joined 07:17 xinming_ left 07:18 alec joined
alec hello 07:18
how can i get perl6?
i'm on ubuntu
i couldn't find a package
i did apt-cache search perl | grep 6
nothing
oh, hi Ayiko
are you the person who did those rosalind.info solutions in perl6? 07:19
that's the whole reason i came here
ayiko == 'my darling', does it not?
sorear alec: try apt-cache search rakudo and apt-cache search niecza 07:25
alec: if neither comes up, you'll have to build from source
alec yeah 07:27
i got rakudo
apt-get installing now
sorear what version of rakudo?
if it's older than 2012.06 or so you ought to install from source anyway 07:28
alec 2012.04 07:29
sorear: what will i miss out on if i don't build from source? 07:31
sorear I think that falls under "or so" 07:32
bugfixes, feature additions, and performance improvements 07:33
it's a gradual process
alec ok 07:34
i see what you mean about speed 07:40
07:42 geekosaur left 07:43 geekosaur joined 07:50 geekosaur left, geekosaur joined 07:51 geekosaur left, geekosaur joined
alec hey, geekosaur 07:53
07:57 alec left 08:16 cognominal left 08:23 cognominal joined
moritz \o 08:29
dalek ar: c2d5e6b | moritz++ | / (3 files):
bump some versions in preparation of 2012.12 release
08:30
ar: c2ee09b | moritz++ | tools/star/Makefile:
new download URLs are rakudo.org/downloads
ar: 01e61d2 | moritz++ | docs/announce/2012.12:
2012.12 star release announcement
ar: a1b106e | moritz++ | modules/ (8 files):
bump module versions
08:31
08:36 alec joined
alec what does the ~~ operator do? 08:36
also, trying to understand how this line works: 08:37
for @introns -> $d { $rna ~~ s/$d// } 08:38
FROGGS that is like: for my $d (@introns) { ... } in Perl 5
alec i don't know perl5 08:39
i'm learning perl6 from scratch
FROGGS ahh, k
alec i actually know what the code's doing
FROGGS it iterates over the elements of @introns
alec i just need it broken down for me
ok 08:40
FROGGS you get the elements as $d
alec ok
FROGGS ~~ is smartmatch, it applies the regular expression (regex) to $rna
alec ahh, handy
that's very cool
i get it 08:41
thank you
ok
08:41 kaare_ joined
FROGGS you are welcome 08:42
alec what about %conv<UAA UAG UGA> = '' xx 3;
what is is %conv
?
FROGGS it's a hash 08:43
alec i know what the code is doing, i just don't know how it does it
aaaaaah
i see
FROGGS %hash<thing> it a pair with key 'thing'
alec ok
FROGGS so, UAA, UAG and UGA are keys
alec yeah
and '' xx 3? 08:44
FROGGS '' xx 3 is repeating the empty string three times, in list mode, so it returns a list with three empty strings
alec aaah
FROGGS you you end up with the hash and all its pairs are initialized with empty strings
alec yeah 08:45
FROGGS r: say 'a' xx 3
p6eval rakudo c8de2e: OUTPUT«a a a␤»
alec aah
r: say '' xx 3
p6eval rakudo c8de2e: OUTPUT« ␤»
FROGGS r: my %conv<UAA UAG UGA> = '' xx 3; say %conv
p6eval rakudo c8de2e: OUTPUT«===SORRY!===␤Shaped variable declarations is not yet implemented. Sorry. ␤at /tmp/fhVgWR3z6P:1␤------> my %conv<UAA UAG UGA>⏏ = '' xx 3; say %conv␤»
FROGGS uhh
r: my %conv; %conv<UAA UAG UGA> = '' xx 3; say %conv 08:46
p6eval rakudo c8de2e: OUTPUT«("UAA" => "", "UAG" => "", "UGA" => "").hash␤»
FROGGS see
alec oh wow
that's nifty
so xx makes it a list?
FROGGS r: my %conv; my $i = 0; %conv<UAA UAG UGA> = $i++ xx 3; say %conv
p6eval rakudo c8de2e: OUTPUT«("UAA" => 0, "UAG" => 1, "UGA" => 2).hash␤»
FROGGS enum style
alec yeah
FROGGS right, xx returns a list, x would return a str 08:47
alec ok
FROGGS r: say 'a' x 3
p6eval rakudo c8de2e: OUTPUT«aaa␤»
alec is there xxx?
FROGGS dont thing so
think*
r: say 'a' x ^3
p6eval rakudo c8de2e: OUTPUT«aaa␤»
FROGGS r: say ^3 08:48
p6eval rakudo c8de2e: OUTPUT«0..^3␤»
FROGGS ranges -----^
r: say 'hello' for ^3
p6eval rakudo c8de2e: OUTPUT«hello␤hello␤hello␤»
FROGGS r: say 'hello' for 0..2 # same
p6eval rakudo c8de2e: OUTPUT«hello␤hello␤hello␤»
08:49 quester joined
FROGGS alec: you already have the perl6 ebook? 08:49
alec no
didn't know there was one
i just found some code by Ayiko on rosalind.info
and it looked cool
i never learned perl5 or any other perl 08:50
but perl6 looks different... kinda suits my thinking style
so i want to learn it
FROGGS github.com/downloads/perl6/book/20....23.a4.pdf
alec ok, sweet, i'll get it now
FROGGS alec: the cool thing about Perl (whether 5 or 6) is that you can almost write in normal english 08:51
r: say 'good morning' unless 'it is already late'
p6eval rakudo c8de2e: ( no output )
alec hmm 08:52
the thing i like about it so far is that it's sorta unixy
FROGGS but you can turn it around like in other languages: unless $condition { ... }
alec yeah
FROGGS unixy? in what way?
Perl 5 is some sort of swiss army knife of unixes, but the language itself isnt unixy (dont know what unixy is exactly) 08:54
huf unixy perl is awk, i feel :) 08:55
alec when i look at the way it handles regexes i feel right at home
FROGGS ahh, yes
alec i don't like having to import re then re.compile, etc. in python 08:56
FROGGS there is some sort of connection
or use preg_match() like in php
alec yeah, it all just feels stupid
FROGGS right
alec regexes should just be there
i think in regexes
huf then you have twice as many thoughts as thoughts 08:57
alec lol
FROGGS r: given 42 { when /\d/ { say 'yeah!' }
p6eval rakudo c8de2e: OUTPUT«===SORRY!===␤Unable to parse expression in block; couldn't find final '}'␤at /tmp/uixThek0_U:1␤------> given 42 { when /\d/ { say 'yeah!' }⏏<EOL>␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infix s…
FROGGS meh
r: given 42 { when /\d/ { say 'yeah!' } }
p6eval rakudo c8de2e: OUTPUT«yeah!␤»
alec nice
huf you know the adage, one problem, regex, two problems :)
FROGGS r: given 42 { when /$<number>=(\d)/ { say $<number> } } 08:58
p6eval rakudo c8de2e: OUTPUT«「4」␤␤»
alec hmm
alec is falling asleep at the keyboard 08:59
night all
FROGGS gnight 09:00
09:02 alec left
moritz moritz.faui2k3.org/tmp/rakudo-star-....12.tar.gz # R* release candidate 09:03
I'll spend most of the day travelling, so plenty of time for you all to test it 09:04
FROGGS fetches is right now 09:08
09:27 quester left
felher good morning, #perl6 09:31
FROGGS morning felher
09:41 Psyche^ joined 09:44 Patterner left, Psyche^ is now known as Patterner
FROGGS moritz: this commit isnt included in rakudo star, which produces an obs warning: github.com/jnthn/grammar-debugger/...80c0a16b39 09:46
09:46 Kharec joined 09:54 SmokeMachine joined 10:02 hypolin left 10:03 ServerSage left 10:06 anuby left 10:18 GlitchMr joined 10:34 cognominal left, sftp joined
FROGGS moritz: forget what I said, there are still |$args in the modules... 10:35
11:00 jaldhar_ joined, _jaldhar left
FROGGS phenny: tell jnhtn that I believe that the | must go: github.com/jnthn/grammar-debugger/...ger.pm#L40 11:17
phenny FROGGS: I'll pass that on when jnhtn is around.
FROGGS phenny: tell jnhtn here too: github.com/jnthn/grammar-debugger/...cer.pm#L10 11:18
phenny FROGGS: I'll pass that on when jnhtn is around.
masak g'day, g'day, #perl6 ;) 11:30
11:32 geekosaur left 11:34 geekosaur joined 11:35 geekosaur left, geekosaur joined
FROGGS masak! \o/ 11:36
:o)
err, hi masak
masak :D 11:38
sorear: I... wasn't entirely accurate. it's always today where I live, too. :) 11:40
FROGGS phenny: tell moritz that the rakudo-star RC looks good to me (ubuntu 12.10 amd64) 11:41
phenny FROGGS: I'll pass that on when moritz is around.
FROGGS phenny: I love you
masak FROGGS++ # explaining stuff in the backlog 11:42
FROGGS thanks 11:43
11:50 SamuraiJack left 11:51 SamuraiJack joined 11:55 SamuraiJack left 12:14 att___ joined 12:17 att__ left, rindolf joined
masak what's the name of the group { ±1, ±i, ±j, ±k } with quaternion multiplication? 12:19
heh. I should be able to figure this out :) 12:20
it's either Z_8, Z_4 x Z_2, or Z^3_2. 12:21
hm, but none of the cycle graphs for those groups seem right. 12:22
oh! was looking at abelian groups :) 12:23
here it is: en.wikipedia.org/wiki/Quaternion_group
12:28 colomon joined 12:33 MayDaniel joined 12:37 odoacre left 12:38 odoacre joined 12:50 spider-mario joined 12:51 nebuchadnezzar joined 12:53 fgomez joined 12:56 nebuchadnezzar left 12:57 nebuchad` joined, nebuchad` is now known as nebuchadnezzar 13:01 nebuchadnezzar left 13:20 nebuchadnezzar joined 13:22 att___ left 13:24 att__ joined 13:37 rummik left 13:44 rummik joined 13:49 att__ left 13:51 att__ joined 13:52 PacoAir joined 13:56 PacoAir left 14:00 jaldhar_ left 14:01 PacoAir joined, Celelibi left 14:02 PacoAir left, PacoAir joined 14:04 Celelibi joined
masak quiet day today :) 14:12
hoelzro everyone's still recovering ;)
masak .oO( you're doing it wrong ) :P 14:20
14:24 am0c_ joined 14:25 att__ left 14:26 att__ joined 14:29 kaleem left 14:30 lolage joined
masak this season, I'm thankful we don't have this kind of tone on p6c or p6l: article.gmane.org/gmane.linux.kernel/1414106 14:31
14:32 am0c_ left 14:33 am0c_ joined
masak I sure hope this "Linus Torvalds" isn't some influential bigshot in that other community, because then people would perhaps be too intimidated to take him aside and tell him he should try harder not to be abrasive on the list. 14:33
tadzik I like how he writes "f*cking", but only sometimes 14:35
btw, how did you stumble upon that? I wouldn't be surprised if there was /r/LinusGetsAngry ;)
masak even saw it on twitter the other day. 14:36
s/even /
even if the guy Linus is responding to did something really stupid -- and he may have, I dunno -- what Linus writes seems over the top and, frankly, mean. 14:37
"you didn't understand the rules? well, as project leader, allow me to set you on fire in public."
huf he's a bit over the top, but a) that's his style... b) he's communicating to every maintainer with this rant, not just the one specific person and c) for better or worse, being a kernel dev is being responsible no matter what 14:40
but yeah, he's not a nice person :)
masak can't argue with point (a), only deplore it. points (b) and (c) would stand even for a stern but respectful message. 14:42
14:43 am0c_ left
masak huf: let me put it this way. TimToady, Guido, and matz seem to be genuinely nice leaders. Linus doesn't. why is that? are kernel developers more tough-skinned than FLOSS language developers? do people enjoy it when Linus is being a jerk? 14:45
14:46 kaleem joined
tadzik mayhaps people secretly admire it. Or by being kernel devs they can be wearing t-shirts saying "I can stand Linus" or something ;) 14:47
arnsholt masak: There's also Theo de Raadt in the kernel camp 14:49
14:51 kaleem left, kaleem joined 14:52 kaleem left
masak tadzik: good point. unfortunately, I think the kind of community where testosterone drives communication also silently turns away lots of potential contributors. 14:52
arnsholt: I know nothing about de Raadt. his Wikipedia article only says that he's "outspoken". 14:53
tadzik: it's also quite possible the Linux community "created" the Linus persona, because they needed it. 14:54
just as it's quite possible the Perl 5 community "created" the p5p atmosphere because they needed it. 14:55
tadzik it turns away some and possibly attracts others
masak I don't know how probable that hypothesis is, but it's worth considering, and definitely something the Perl 6 community needs to keep in mind in its attempts to construct alternative models of collaboration.
tadzik if their results were bad then there was probably a horrible mistake made 14:56
arnsholt He doesn't have the swearing turned up to 11, but he rubs people the wrong way in a similar manner I think
masak tadzik: maybe it's a sign of a large working meritocracy. someone who does good gets commitbits, someone who screws up gets flamed in public. 14:57
by the way, I don't doubt that this guy will get second and third chances if he can just lick his wounds and try again. it's not about that.
14:57 lolage left
masak also, I don't much mind Linus swearing. it's the context in which he expresses himself strongly that turns me off. 14:58
arnsholt Yeah, swearing isn't necessarily a problem. It's how a large part of the message seems to be "you are a failure in every way" 15:00
masak right. 15:01
it's as if benevolent-dictatorship were a scarce, precious resource. 15:02
and he chooses to use it like this, and that seems... suboptimal.
huf hmm, i didnt read his rant as "you are a failure in every way" 15:03
15:03 LlamaRider joined, LlamaRider left
huf just as "you made a mistake and then put another one on top of it, now stop and think" but in the most uncivil abrupt manner possible 15:03
15:03 LlamaRider joined
huf it is what it is *shrug* 15:03
LlamaRider o/ #perl6 15:04
masak LlamaRider!
\o/
tadzik well, I don't mind it all. I may, or may have not if that had any effect on me at all
masak I've been shouted at by TimToady. but then it took me being a real PITA first. it was hardly unprovoked. it did make me stop and think.
tadzik as long as the results are good I'll just sit there and watch with a face expression of a bored camel :) 15:05
masak TimToady doesn't swear, except when he's being a linguist ;)
huf i think in basically any community, someone has to be the ... um.. what's the english word for it
the bogeyman
masak huf: "bastard"? :)
huf masak: yeah, kinda.
masak huf: that's the mst hypothesis.
huf it's best if the person who plays that role doesnt actually enjoy it too much
masak right.
huf and realize they're at least partially playing a role
masak: yeah, mst ;)
masak it's still being tested around these parts.
huf i hope this channel manages without this persona, if only to provide variety 15:06
masak we have a bastard role here, but not a resident bastard. the role is more like a hat that people can wear.
huf :)
masak over the years, I think I've maybe wore that hat ~3 times. 15:07
it's not very needed around here.
our main line of defense is kindness and trying to get through. if that fails, we go all-caps. 15:08
huf :)
masak but it doesn't fail all that often, and that's the point. 15:09
people are much more likely to be defused by a joke and a smile, or a hug, than angry words and scowls.
huf the honey and the stick :) 15:10
masak then again, it's obvious that kindness gets drowned out when a community scales up.
huf so does constructive bastardness
sadly, destructive bastardness is what scales well :(
masak right. it's almost like a Maslow pyramid.
the only time I've had trouble keeping up with the newcomers on this channel was after the release of Rakudo Star. 15:11
then I could detect a slight decrease in the kindness discipline. but maybe I imagined things.
huf how frequently do you get newbies who have vague questions but absolutely refuse to read any existing documentation you point them to?
masak the tough bit is when newbies start to answer questions from newbies. then you get into a "how is babby formed" kind of situation ;) 15:12
huf oh yeah, that one
masak huf: we have people who refuse to read existing documentation sometimes, yes.
especially if we point them to the synopses.
which are admittedly a bit opaque.
huf yes, that's the word i was looking for
i can glean more and more info each time i go back to them : 15:13
:)
probably in part because you guys keep fixing it
masak .oO( synopses are like trolls, they have layers ) 15:14
huf i beg your pardon? 15:15
masak just a deliberate Shrek misquotation ;)
huf oh. i'm not up to date on shreklore :) 15:16
masak it's from the first movie.
LlamaRider maybe this is a good place to sneak in a nano-rant about S05 and grammars. The text there is kind of highly non-linear to read through, especially if you make my mistake of entering from perlcabal.org/syn/S05.html#Grammars 15:19
-- end-of-rant -- ;-)
15:21 isBEKaml joined
isBEKaml phenny: tell moritz thanks for the [doc] cleanups. I was trying to push something that was obviously not up to the mark. :) 15:22
phenny isBEKaml: I'll pass that on when moritz is around.
15:26 Chillance joined
masak LlamaRider: well, you're right, of course. 15:26
LlamaRider: it's probably better to get an introduction to grammars through some other resource.
S05 is more a reference than anything else.
15:26 skids joined
masak I also don't always like its disposition. 15:27
LlamaRider in its defense, it did contain the information I was looking for, though in a very minimal and hinting fashion
I was trying to understand why rules mess up my single-quoted whitespaces. Ended up figuring out things work if I use tokens instead, but not much more than that. 15:28
masak "in a very minimal and hinting fashion" is a good description of most of the spec. a Camel book it is not. 15:32
moritz isBEKaml: I'm glad you pushed something at all :-) 15:36
phenny moritz: 11:41Z <FROGGS> tell moritz that the rakudo-star RC looks good to me (ubuntu 12.10 amd64)
moritz: 15:22Z <isBEKaml> tell moritz thanks for the [doc] cleanups. I was trying to push something that was obviously not up to the mark. :)
isBEKaml moritz: :)
masak moritz! \o/
isBEKaml anybody feel that the classes example in p6book is wrong? raw.github.com/perl6/book/master/s...bjects.pod 15:37
moritz they could be much more awesome. That's sure :-)
isBEKaml r:gist.github.com/4380959 15:38
masak isBEKaml: space after the 'r:'
isBEKaml huh.. ENOP6EVAL?
r: gist.github.com/4380959
p6eval rakudo c8de2e: OUTPUT«Nominal type check failed for parameter '@dependencies'; expected Positional but got Array instead␤ in method new at /tmp/YSfEWacEnH:6␤ in block at /tmp/YSfEWacEnH:27␤␤»
masak o.O 15:39
isBEKaml that's what I got.
masak oh, 'Task *@dependencies'.
isBEKaml yep
masak yeah, I don't think that works.
there's even an RT ticket for that somewhere.
isBEKaml heh, we have code that doesn't work in a book! :D 15:40
ofcourse, code doesn't work in a book, but it should outside. :P 15:41
n: gist.github.com/4380959 15:42
p6eval niecza v24-12-g8e50362: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any␤ at /tmp/f14vyvZDGm line 17 (Task.perform @ 13) ␤ at /tmp/f14vyvZDGm line 34 (mainline @ 12) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4218 (ANON @ 3) ␤ at /home/p6eval/…
masak isBEKaml: try to remove the 'Task ' typing of that slurpy, and it should work fine. 15:44
here's the RT ticket, by the way: rt.perl.org/rt3/Ticket/Display.html?id=113964 15:45
isBEKaml masak: No luck. It now takes it to be a Parcel and says there's no such method 'Any' on Parcel 15:46
masak showmethecode
nevermind, I reproduced it. 15:47
it got further. that error is in the .perform method.
isBEKaml r: gist.github.com/4380996 15:48
p6eval rakudo c8de2e: OUTPUT«No such method 'Any' for invocant of type 'Parcel'␤ in at src/gen/BOOTSTRAP.pm:845␤ in at src/gen/BOOTSTRAP.pm:839␤ in any at src/gen/BOOTSTRAP.pm:836␤ in method perform at /tmp/qPM2jU5sWY:17␤ in block at /tmp/qPM2jU5sWY:34␤␤»
masak oh!
the &!callback attribute is private, so it won't get initialized properly by .bless 15:49
neither will @!dependencies, I guess.
moritz make them public
masak on it.
moritz there's really no reason to keep them hidden
masak then it works.
isBEKaml masak: but we are passing by name, no?
masak yeah, but private attributes can't be initialized that way. 15:50
sorear doesn't like it.
I can sort of see where he's coming from.
it's more "proper" OO, but it violates people's expectations.
isBEKaml masak: I don't see the violation here. All I can say is, we init them once and let the object handle it. It's as OO as I see it. 15:52
15:53 fgomez left, Abcxyz left
masak isBEKaml: it exposes the names of private attributes to the outside world, and ties those names to consumer code. 15:54
isBEKaml masak: in that case, we can have aliasing - but that's more work than needed. 15:55
masak if you're an object and the whole outside world is potentially your enemy, by letting consumers initialize your private attributes, you just exposed internal secrets to the enemy. 15:56
and you wouldn't be able to refactor private attributes without breaking downstream code.
isBEKaml masak: yeah, I can see that.
masak OO language design. it's tricky. 16:00
LlamaRider Q: can P6 grammars be used for generation?
masak LlamaRider: theoretically, yes.
LlamaRider: I have a proof-of-concept sitting around in an old project called GGE. 16:01
isBEKaml masak: then we ban bless? doc.perl6.org/routine/bless
masak: though that particular applies to public attributes.
masak bless is what we've been talking about all along.
it's how you create new objects in Perl 6.
.new is just a common name for a method that wraps .bless 16:02
16:05 thou joined
isBEKaml well, do we have any other way to instantiate new objects? 16:06
arnsholt masak: For generation, did you have any clever ideas for handling interpolated code (other than throwing up your hands and giving up)?
isBEKaml arnsholt: giving up is considered clever? I didn't know! :D 16:07
masak I did not have any clever ideas. in fact, I can't recall considering that aspect.
it would seem to me that there's only one thing you can do with interpolated code: run it.
but from the flip side, it's not clear to me that every such bit of code would make sense on the generation side of things, if it was originally written for the parsing side. 16:08
arnsholt Yeah, probably. I guess you could try to regenerate until the tests pass =)
masak so, hm.
arnsholt But even limited generation would probably be an awesome feature
For things like fuzzers and such it'd be very useful 16:09
masak LlamaRider: here's my proof-of-concept script: gist.github.com/908829 16:10
the email where I found that says it's using the 'ng-compat' branch of GGE. but this is old code, so no guarantees it'll work in today's Rakudo.
16:12 rindolf left
masak building something like this into actual Perl 6 grammars shouldn't be impossible -- as long as there's some way to extract and introspect regex ASTs. 16:12
hm... module idea... :)
16:19 rindolf joined
hoelzro what is ss/.../.../ for as opposed to s/.../.../? 16:20
flussence s:samespace 16:21
hoelzro ah ha
I'm guessing that's a regex adverb rather than a general Q form one? 16:22
masak "Linus is the scariest boss ever. And he doesn't even pay you. I'm so glad he's at the helm of Linux." -- support of tadzik's hypothesis that some people like it, at www.reddit.com/r/programming/commen...l_changes/
hoelzro ugh 16:23
that latest post from him just gets under my skin.
isBEKaml hoelzro: I bet you haven't seen his antics on youtube (to NVIDIA) :)
hoelzro isBEKaml: I've heard of them. 16:24
isBEKaml hoelzro: lkml has lots of mails where he routinely drops f-bombs, insults and such.
hoelzro yeah, he's got a reputation for it
I just don't like how he shits all over people. 16:25
isBEKaml hoelzro: well, kernel folks tend to have thick skins. de Raadt and Linus are just what they are out of that culture. 16:26
hoelzro I don't know if that justifies it... 16:27
masak hoelzro: I felt that his second reply to Mauro was more in line than the first one. and it made me understand a bit better why Linus was upset. still think the first email was too harsh, though.
hoelzro masak: I haven't seen the second 16:28
16:28 colomon left
isBEKaml hoelzro: I tend to think it's an offshoot from how people treated him - he does get to have his way because linux kernel is his brainchild. 16:29
hoelzro I don't have a problem with him getting his way
and he *is* really good at what he does, and knowledgable
but I think he could get his point across without being a dick 16:30
masak right. that's basically the big question: could he?
oh, and Joyous Kwanzaa, everyone. 16:31
isBEKaml masak: yeah, Mauro acknowledged what he did. I think his mistake was in talking to kernel devs than pulseaudio folks about why they relied on that particular flag. Thinking out loud on high volume lkml lists is out of the ordinary.
16:33 erkan joined, erkan left, erkan joined
masak isBEKaml: seems to me Mauro questioned why a userspace component would care about kernel breaking backwards compat, and that's what set Linus off. 16:34
(because to Linus, not breaking kernel backwards compat is *the* prime directive)
having a discussion where that is not an assumption makes no sense to him, and he wants to protect kernel development from people who don't get that bit. 16:35
isBEKaml masak: yes, like I said - he could have gained a better picture in talking to pulseaudio folks and then he would have realised that they were breaking backward compatibility, which I believe, he didn't do.
masak I don't know enough about pulseaudio to have an opinion about that. 16:36
isBEKaml masak: I think Mauro was already fully clued in about the fact that breaking backward compatibility on the kernel side is an absolute no-no, when he's the module lead for his kernel component. 16:37
masak and yet Linus feels a need to remind him. 16:39
isBEKaml masak: yep, reason why it was a genuine mistake on Mauro's part and Linus' overreaction. 16:40
masak *nod* 16:41
16:45 fgomez joined 16:48 alec joined
alec hi 16:48
can someone explain to me how this line works?
16:48 Kharec left
alec print %conv{ $rna.substr($_, 3) } for 0,3...^$rna.chars-3; 16:50
i know roughly what it does, i just can't figure out what the operators do
specifically $_ and ...^
FROGGS r: my $rna: 'ABABABAB'; 0,3...^$rna.chars-3; 16:51
p6eval rakudo c8de2e: OUTPUT«===SORRY!===␤Confused␤at /tmp/tCjBe6hYUk:1␤------> my $rna:⏏ 'ABABABAB'; 0,3...^$rna.chars-3;␤ expecting any of:␤ colon pair␤»
FROGGS r: my $rna: 'ABABABAB'; say $_ for 0,3...^$rna.chars-3;
p6eval rakudo c8de2e: OUTPUT«===SORRY!===␤Confused␤at /tmp/F7mRRL2ddZ:1␤------> my $rna:⏏ 'ABABABAB'; say $_ for 0,3...^$rna.cha␤ expecting any of:␤ colon pair␤»
FROGGS r: my $rna = 'ABABABAB'; say $_ for 0,3...^$rna.chars-3;
isBEKaml FROGGS: '='
flussence ???
p6eval rakudo c8de2e: OUTPUT«(timeout)»
FROGGS hmmm
timout?
flussence oh, heh
I thought the first line was p6eval :) 16:52
FROGGS r: my $rna = 'ABABABAB'; say $_ for 0..3;
p6eval rakudo c8de2e: OUTPUT«0␤1␤2␤3␤»
FROGGS k
r: my $rna = 'ABABABAB'; say $rna.chars
p6eval rakudo c8de2e: OUTPUT«8␤»
isBEKaml r: my $rna = 'ABABABAB'; for 0,3 .. ^ $rna.chars -3 { .say }
masak alec: $_ means "current element" in a for loop or map.
p6eval rakudo c8de2e: OUTPUT«0␤3␤4␤5␤» 16:53
alec ok
FROGGS okay, the for loop iterates over 0, and 3 to length of rna minus 3
masak alec: ...^ means "sequence, but throw away the last element, the one which matches the end condition".
alec ok
FROGGS right, $_ is the element in a loop if you dont give it a name via ->
alec ok
masak this sequence is a bit risky, because it assumes the $rna string has a multiple-of-three amount of chars.
isBEKaml r: my $rna = 'ABABABABA'; for 0,3 .. ^ $rna.chars -3 { .say } 16:54
p6eval rakudo c8de2e: OUTPUT«0␤3␤4␤5␤6␤»
masak FROGGS: and people tend not to use -> with statement-modifier 'for' loops :)
isBEKaml: original example used three dots.
FROGGS alec: then it does the print before the for loop, simple subtring
16:54 colomon joined
masak isBEKaml: and no space between '...' and '^'. 16:54
isBEKaml r: my $rna = 'ABABABABA'; for 0,3...^ $rna.chars -3 { .say }
p6eval rakudo c8de2e: OUTPUT«0␤3␤»
masak r: say 0, 3 ...^ 33
p6eval rakudo c8de2e: OUTPUT«0 3 6 9 12 15 18 21 24 27 30␤»
isBEKaml masak: yeah, I was wondering why I got back 4 and 5. :) 16:55
masak :)
alec ahh
i'm starting to see
r: say 0,4...^44 16:56
p6eval rakudo c8de2e: OUTPUT«0 4 8 12 16 20 24 28 32 36 40␤»
FROGGS alec: cool, is it?
alec yes, FROGGS
FROGGS (didnt know that too)
alec r: say 0,4...44 16:57
p6eval rakudo c8de2e: OUTPUT«0 4 8 12 16 20 24 28 32 36 40 44␤»
masak right. 16:58
alec: just be very aware that if you don't hit that end condition...
...you fall off the edge and don't come back.
r: say 0, 2, 4 ... 11
p6eval rakudo c8de2e: OUTPUT«(timeout)»
masak not a bug. by design. 16:59
alec ok
r: say 0,4...45
masak same deal.
p6eval rakudo c8de2e: OUTPUT«(timeout)»
masak r: say 1, 1.1 ... 2
p6eval rakudo c8de2e: OUTPUT«1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2␤»
alec r: say 0,4...^45 17:00
masak same deal.
p6eval rakudo c8de2e: OUTPUT«(timeout)»
masak the '^' doesn't protect you from falling off the edge.
alec k
yeah
masak aleph_0 minus one is still aleph_0 ;)
alec yeah
looking now at $rna.substr($_, 3) ... does .substr take 2 args always? 17:02
FROGGS I guess not 17:03
r: say 'ABC'.substr(1)
p6eval rakudo c8de2e: OUTPUT«BC␤»
FROGGS alec: just try
r: say 'ABC'.substr(1, Inf)
p6eval rakudo c8de2e: OUTPUT«BC␤»
masak r: say 'ABC'.substr(1, Inf + 7)
p6eval rakudo c8de2e: OUTPUT«BC␤»
FROGGS thats a bit abstract but it is clear what it does
alec 'EUEO>P'.substr(4,6) 17:05
r: say 'EUEO>P'.substr(4,6)
p6eval rakudo c8de2e: OUTPUT«>P␤»
alec ok, yeah
17:05 SamuraiJack joined
FROGGS r: say 'æðŋ¶ħŧħ'.substr(2,1) 17:06
p6eval rakudo c8de2e: OUTPUT«ŋ␤»
FROGGS unicode safe^^
alec r: say 'EUEO>P'.chars-3
p6eval rakudo c8de2e: OUTPUT«3␤»
alec r: say 'EUEO>P'.substr(4,3) 17:10
p6eval rakudo c8de2e: OUTPUT«>P␤»
alec r: say 'EUEO>Pe'.substr(4,3)
p6eval rakudo c8de2e: OUTPUT«>Pe␤»
alec r: say 'EUEO>Pepppp'.substr(4,3) 17:11
p6eval rakudo c8de2e: OUTPUT«>Pe␤»
alec ok 17:12
so what does the word shift do?
like there's this line:
hoelzro so I'm nearly "done" with my pygments lexer for Perl6, and I'd like to get people to test it out. What would be the best way of informing the Perl6 community so they could test it out?
e-mail? blog post?
alec my $rna = shift @introns;
i know what it does, just don't know how it does it 17:13
FROGGS it retrieves the first array element by removing it and returns it to $rna 17:14
I hope that you mean that by "how"
alec ok 17:17
yes
ok, one more thing i can't figure out
how do {} work?
FROGGS what, a code block?
alec print %conv{ $rna.substr($_, 3) } for 0,3...^$rna.chars-3;
as in those ones
FROGGS ahh, %conv is a hash 17:18
alec for @introns -> $d { $rna ~~ s/$d// }
and those ones
the {}
curly braces
FROGGS you can access the elements by keys, like: %hash<key> or %hash{'key'}
alec ok
FROGGS the second one allows you to put functions there, the first one automatically quotes the string
alec ok 17:19
FROGGS the for loop you posted is like: for RANGE BLOCK
alec aren't they both for loops?
FROGGS and the block is surrounded by { and } 17:20
ahh, yes
the second for loop I ment
isBEKaml hoelzro: I don't think we are a big enough community to have preset standards. Why not do both? mail p6u, blog and push it to some of the many news aggregators. :)
alec ok
hoelzro isBEKaml: ok =)
isBEKaml hoelzro++ #pygments 17:21
FROGGS for loop syntax a): for RANGE BLOCK, where BLOCK is { STATEMENT;: STATEMENT }, or b) STATEMENT for RANGE;
the b) is called statement modifier syntax
because the statement comes first 17:22
alec gotcha
yes, i could see the syntax differed slightly... 17:23
FROGGS ohh, forget about the : before STATEMENT, thats a typo
alec ok
FROGGS statements are devided by ; and grouped by { } 17:24
alec ok
FROGGS like in many other popular languages
Ayiko hi #perl6 :)
alec yes
hi Ayiko
are you the same Ayiko as wrote rosalind.info solutions?
Ayiko I see my Rosalind toying got someone interested in perl6 :) 17:25
alec yep
i'm studying the one you wrote for SPLC now
i've pretty much worked out what every line does
i don't know any perl5... perl6 just looks cool though
FROGGS it does, ya 17:26
Ayiko I do warn you, my tries are not officially approved as the recommended way to write perl6 :)
alec i figured, Ayiko, but works for me... 17:27
i have this song called ayiko stuck in my head now
Ayiko there's a song? Oo
alec yeah. i used to listen to it all the time. lemme see if i can find it 17:28
FROGGS is dancing to paul simon right now... you can call me al
alec www.youtube.com/watch?v=gI3ymHyXj8k 17:30
Ayiko heh, not too bad :) 17:32
alec brings back memories 17:33
alec sheds a tear
FROGGS cant see it in germany -.-
alec i just split up with my wife, she and i used to listen to that when we lived in cyprus
Ayiko move a bit to the left, in Belgium it works :)
alec lol
hoelzro what's the difference between $?ROLE and ::?ROLE?
masak hoelzro: the latter returns a Str, according to S28. 17:39
hoelzro I see
masak feels a little bit useless to me, actually. 17:40
since you can get the Str from $?ROLE, I mean.
I move for deletion of '::?ROLE'.
hoelzro is ::? special?
I'm guessing it's :: for the main namespace + ? for the compiler value? 17:41
17:52 pmurias joined
hoelzro ok, time for the ultimate test: rakudo/src/Perl6/Grammar.pm! 17:55
masak :) 18:03
alec: nice music. thank you. 18:07
18:07 lolage joined
masak alec: also, it's really nice to see you ask the right questions and get good answers from the channel. keep up the good work. :) 18:07
alec great. i'll just keep studying Ayiko's rosalind.info solutions, then 18:11
they're the whole reason i want to learn perl6
Ayiko oh boy, I'll need to get to work on more solutions then :)
alec lol
how many have you done?
i was looking at one you did about a week ago
dec 20 it was posted 18:12
isBEKaml 'night, folks!
alec night
masak 'night, isBEKaml
18:12 isBEKaml left
masak Ayiko++ # dragging people in 18:12
Ayiko 34 solved, but 2 without programming, 2 with perl5 due to performance issues :s
alec ok
i've solved about 7, 2 without programming as well
the first 2 18:13
Ayiko oh, and 5 were done in python due to them being the python intro :)
r: grammar A { regex TOP { { return say "hi"; }};}; A.parse(''); 18:19
p6eval rakudo c8de2e: OUTPUT«hi␤»
Ayiko r: grammar A { regex TOP { { for ^2 { return say "hi"; }}};}; A.parse('');
p6eval rakudo c8de2e: ( no output )
Ayiko r: grammar B { regex TOP { { for ^2 { return say "hi"; }; say ':('; }};}; B.parse(''); 18:21
p6eval rakudo c8de2e: OUTPUT«hi␤Can not get attribute '$!storage' declared in class 'Parcel' with this object␤ in method reify at src/gen/CORE.setting:5409␤ in method gimme at src/gen/CORE.setting:5797␤ in method sink at src/gen/CORE.setting:6073␤ in regex TOP at /tmp/DigN8MZ9gK:1␤ in met…
Ayiko I'm not sure if there are any specs for what to return from a code block or using return to drop out of grammar parsing completely 18:23
18:24 Tim-Tom left 18:43 SamuraiJack left 18:45 werwerwer joined
masak Ayiko: generally, {}-style code blocks in rules don't return anything. I think the 'return' there is messing things up for you. 18:47
Ayiko well, the for loop messes it up, my objective is to stop parsing completely 18:49
exit works but is a bit too much
I'm guessing <commit> <!> would work, but <commit> is NYI
arnsholt There's a magic rule to bug out of parsing, IIRC 18:50
<panic: "Reason"> I think
masak STD.pm6 actually implements 'panic' as a method. 18:52
it's at STD:6103. 18:53
r: repeat while False { "foo" ~~ / 'f' { say "got here" } 'o' { last } / }; say "after the loop" 19:00
p6eval rakudo c8de2e: OUTPUT«got here␤Null PMC access in find_method('sink')␤ in block at /tmp/RCzcgxM5lQ:1␤␤»
masak wohoo!
masak submits rakudobug
how 'bout that :D
Merry Null PMC Christmas, everybody. 19:01
19:15 denisboyun_ joined 19:16 GlitchMr left 19:20 erkan left 19:24 erkan joined
flussence
.oO( and a .happy given Year.new )
19:29
19:29 denisboyun_ left
masak oh, bet no-one has done this since before Christmas ;) 19:30
r: say Date.new
p6eval rakudo c8de2e: OUTPUT«2013-12-24␤»
masak :D
flussence lol 19:34
arnsholt =D 19:35
19:35 rummik left
flussence p.s. useful idiom I found the other day: ".method given Thing.new(gigantic param list)" is easier to understand than normal postfix calls, especially when there's several \n's between those ()'s 19:37
19:37 arkydo joined
arnsholt Ooh, neat 19:39
19:57 cognominal joined 20:01 GlitchMr joined 20:08 SmokeMachine left 20:12 colomon left 20:13 cognominal left, colomon joined 20:14 skids left
masak Rich Hickey explains reducers in Clojure. vimeo.com/45561411 -- sort of a part II of Steele's presentation about conc/parallelism. 20:18
20:19 cognominal joined
masak a couple of parallels with Perl 6. his 'fold' feels like our 'hyper', for example. 20:19
moritz always thought a "fold" was more like a reduce 20:22
masak he's doing a little bit of a redefinition trick in introducing "fold". 20:23
GlitchMr I've seen thedailywtf.com/Articles/Out-of-All...swers.aspx - and I thought "what"
masak he says "there's 'foldl' and 'foldr' and stuff, but my 'fold' is order-agnostic"
GlitchMr After that, I've seen github.com/perl6/perl6-examples/bl...5-unobe.pl - and I also thought "what"
I'm going to put my solution. prob005-unobe is way too verbose 20:24
dalek pan style="color: #395be5">perl6-examples: 30bb349 | (Konrad Borowski)++ | euler/prob005-glitchmr.pl:
[euler] add solution for problem 5
20:26
GlitchMr Enjoy
20:27 ServerSage joined
GlitchMr perl6: say [lcm] 1..20 20:27
p6eval rakudo c8de2e, niecza v24-12-g8e50362: OUTPUT«232792560␤»
GlitchMr Solved.
masak ;) 20:28
that's... pretty.
GlitchMr Simple mathematic problem. 20:29
This is what is really short in Perl 6.
masak at least part of Mr Hickey's idea here seems to be to talk about collections and reducers separately. so collections can have a say on how they are to be reduced. but if they don't want to they don't have to; the reducers will just pick some default strategy. 20:30
20:31 arkydo left 20:34 arkydo joined
GlitchMr I guess it would be short in Haskell too 20:35
Prelude> foldl1 lcm [1..20] 20:36
232792560
Close enough
20:38 Kharec joined 20:44 bruges_ joined 20:46 bruges left
hoelzro how *does* one get 1,3...10 to terminate after reaching 10? 20:58
I want to create an odd-numbered sequence up to a user-supplied value
moritz r: say 1, 3 ...^ *>10
p6eval rakudo c8de2e: OUTPUT«1 3 5 7 9␤»
hoelzro oh, I see... 20:59
that's...really cool.
masak all the previous solutions turned out to be too special-cased. 21:02
this one makes sense, as long as people know about the dangers of triggering actual infinities. 21:03
21:03 Targen_ joined 21:04 Targen left 21:06 GlitchMr left
hoelzro r: my $divisor = 2; say(* != $divisor && * %% $divisor); 21:07
p6eval rakudo c8de2e: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling op call: Error while compiling op if: if block expects an argument, but there's no immediate block to take it␤»
hoelzro I take it that more than one * in an anonymous sub isn't legal?
moritz it is, in general 21:08
and I'm sure you shouldn't get an internal error like that
hoelzro heh
moritz but I can imagine that && (which thunks) and * get in each other's way
r: say (* + *).(2, 40)
p6eval rakudo c8de2e: OUTPUT«42␤»
hoelzro any advice for a whatever expression that says "anything divisible by, but not equal to, $divisor"? 21:09
masak 'night, #perl6
hoelzro o/ masak
moritz hoelzro: does have to be a whatever-expression? 21:10
just use a block
21:10 pmurias left
moritz { $_ %% $divisor && $_ != $divisor } 21:10
hoelzro moritz: I'm just trying different things out
moritz note that if you use two stars, they are counted as two different arguments
hoelzro ah ha
moritz so it won't work for your case anyway 21:11
Ayiko r: say ((* < 5 and * > 5)(4,6)) 21:15
p6eval rakudo c8de2e: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling op call: Error while compiling op call: Error while compiling op if: if block expects an argument, but there's no immediate block to take i…
moritz r: * == 5 // 21:16
p6eval rakudo c8de2e: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/dNfXbcrAHN:1␤------> * == 5 //⏏<EOL>␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infix stopper␤»
moritz r: * == 5 // True
p6eval rakudo c8de2e: ( no output )
moritz r: * == 5 // * == 8
p6eval rakudo c8de2e: ( no output )
Ayiko r: say ({* < 5 and $^a > 5}(6))
p6eval rakudo c8de2e: OUTPUT«True␤»
moritz r: say (* == 5 // * == 8)(5, 8) 21:17
p6eval rakudo c8de2e: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in block at /tmp/N582co1YRe:1␤␤»
moritz submits rakudobug
colomon n: say (* == 5 // * == 8)(5, 8) 21:19
p6eval niecza v24-12-g8e50362: OUTPUT«True␤»
21:24 cognominal left 21:25 arkydo left 21:33 REPLeffect left, REPLeffect joined, snearch joined 21:44 LlamaRider left
flussence my panda's broke. "No object at index 164", and rebootstrap.pl fails too :( 21:53
21:54 cognominal joined
moritz rm -rf `perl6 -e 'say %*CUSTOM_LIB<site>`; cd panda; git clean -xdf; # that's basically what I do in such cases 21:55
flussence looks like bootstrap.pl is doing something now... thanks 21:56
21:56 thou left 21:57 erkan left 21:59 thou joined 22:00 snearch left 22:07 skids joined
bbkr I cannot figure out why read on socket returns only 256bytes despite requested length given on 2012.12. it completely breaks LWP::Simple and MongoDB :( 22:08
flussence ARGH 22:10
still broke :(
hoelzro one can use any delimiter for m/.../ just like q/.../ and rx/.../, right?
22:12 noggle left
bbkr I cannot figure out why read on socket returns only 256bytes despite requested length given on 2012.12. it completely breaks LWP::Simple and MongoDB :( 22:15
sorry about duplicate above :)
Ayiko hoelzro: m{} and m// work, other things I tried fail: (), <>, §§, !! 22:16
hoelzro Ayiko: as far as () goes, you probably need an extra space 22:17
tadzik bbkr: well, should it return _at least_ 256, or _no more than_ 256?
hoelzro r: $_ = 'foo'; m (o); say $/
p6eval rakudo c8de2e: OUTPUT«「o」␤␤»
tadzik I suspect the latter, which will be quite alright 22:18
but I don't like broken LWP::Simple either ;)
Ayiko bbkr, that generates test results like: Dubious, test returned 1 (wstat 256, 0x100) when trying to panda install LWP::Simple?
tadzik yes
bbkr Ayiko, yes
tadzik: there is $sock.read(2048); in the code and it returns Buf with size of 256 despite more bytes available. $sock.read(4) works fine. it has problem with fetching anything above 256 bytes 22:20
Ayiko aha, just got me tripped up too (HTTP::Client fails too, but that tries to fetch 127.0.0.1:8080/test.txt )
22:21 kaare_ left
sorear bbkr: you're supposed to keep calling .read until either it returns zero or you have all the bytes 22:22
bbkr sorear, what is the point of length argument then? 22:23
sorear bbkr: 256 seems a little buggy but in general, packet size limits will prevent you from getting all the data at once, and Berkeley sockets systems will return partial data rather than wait for future packets
bbkr: allows you to set an upper limit on the amount to read
tadzik C legacy, eh 22:24
22:25 Chillance left
sorear even without the C legacy an upper limit is sometimes useful 22:25
tadzik sure
sorear like if you have Content-Length data and you want to avoid accidentally reading part of the next headr
tadzik next header? 22:26
bbkr sorear, looks like meaning of this param was misunderstood in few modules. knowing what it does i'll try to bring LWP::Simple to life
sorear tadzik: pipelining
tadzik bbkr: I just got to it :)
today I learned about HTTP pipelining :) 22:27
flussence pipelining is turned off by default more often than not :(
sorear bbkr: i'm telling you what it should do. whether it actually does that is another matter. 22:30
can you still crash the perl 6 http server by sending a request "BOB / HTTP/1.0\r\n\r\n" ? 22:31
I remember it used to spectacularly mishandle the unknown-request-method error
tadzik it's possible 22:34
they can be brought down by an nmap scan too
bbkr BTW: supernovus created refactored 2.0 branch of HTTP::Client. it's not ready yet but looks very promising and worth including in Star once finished. 22:36
tadzik where did Devel::Trace go :( 22:37
oh, it just doesn't work with -M 22:38
and the code doesn't hang when I use it. Crap 22:40
bbkr hm, spec for IO::Socket.read says "Reads and returns $bytes bytes from the handle". not "up to $bytes bytes". so LWP::Simple is using it correctly - read(2048) should return 2048 bytes from the handle if available, not just one chunk of 512 bytes 22:42
flussence (I've half a mind to give up and start using monthly releases of rakudo; I know there were good reasons for no longer using ~/.perl6/ but it's caused nothing but grief for me since then)
sorear and it doesn't even support HTTP 0.9
bbkr: that sounds pretty awful 22:43
I wish I had time to rewrite all the specs
bbkr so is it spec bug (the param means upper limit), or rakudo bug ? 22:44
hoelzro damn; I was hoping to be able to push out a "preview" version of my pygments lexer tonight =( 22:46
Grammar.pm says no
sorear bbkr: my hubris is telling me the spec is wrong and sockets should always follow a Berkeley-esque interface 22:48
bbkr sorear, thanks, i'll fill issue in perl6/specs repo 22:49
tadzik bbkr: well, so, uh, how is this HTTP::Client 2.0? :) 22:50
I tried fixing LWP::Simple and failed
it mostly doesn't hang now, but still fails all the tests
and hangs on t/get-unsized.t 22:51
the code never checks if it should maybe stop read() ing if it returned 0
oh, it went through after a few minutes 22:52
bbkr tadzik: it's labeled as "still incomplete and even more broken" :)
tadzik :) 22:53
fair enough
22:53 PacoAir left 22:54 Kharec left
tadzik bbkr: I've made it a bit better (I think) at github.com/tadzik/perl6-lwp-simple/ 22:55
if you want to go further with it
bbkr i'll test it. also worth replacing in Star repo so it won't be released with broken version. 23:02
23:04 Targen_ left 23:09 Targen joined
bbkr sorear, read() issue reported in github.com/perl6/specs/issues/26 23:15
flussence bah, I give up. Rebuilt after deleting my rakudo install directory entirely and I still get the same error in panda as before. 23:22
tadzik do you still have ~/.perl6 around? 23:23
flussence nope
tadzik mess in panda directory?
I mean the source from where you bootstrap it
like leftover .pirs 23:24
flussence I've run git clean -dfx in there a few times, and it's up to date
23:30 lorn left 23:33 lorn joined 23:35 japhb_ joined 23:40 spider-mario left
flussence okay, I *think* I've got it to work using r 2012.11 from distro packages now... 23:55