»ö« 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! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
arnsholt rakudo: say $*IN.get 01:43
p6eval rakudo 96d7e0: OUTPUT«Land der Berge, Land am Strome,␤»
colomon rakudo: say $*IN.get.flip 01:47
p6eval rakudo 96d7e0: OUTPUT«,emortS ma dnaL ,egreB red dnaL␤»
jjore Perhaps this is an issue I should take to parrot but I thought I just build parrot and rakudo fails its build inside parrot. dynext/perl6_group.so: undefined symbol: Parrot_capture_lex 01:55
Presumably this is familiar?
For the curious, my complete build transcript at diotalevi.isa-geek.net/~josh/101219/ 01:56
colomon Hmm. It looks like maybe Rakudo is building, but it fails when it tries to compile Test.pm? 02:08
can you try just ./perl6 ?
jjore Same failure. 02:12
Shrug. Looking at it under LD_DEBUG=all, I see it looking in ./perl6, /usr/local/lib/libparrot.so.2.10.1, then going off to unrelated libs and failing. 02:16
I guess I'll go find #rakudo and ask there. 02:19
colomon there is no #rakudo. 02:23
this is where the rakudo developers hang out.
jjore Oh, well ok then.
So uh, steps to repro: fetch repos for parrot + rakudo, build/install parrot, can't build rakudo 02:24
colomon platform? 02:25
jjore ubuntu.
colomon (most of the Rakudo developers are asleep, unfortunately.)
colomon might be worth peeking in #parrot to see if anyone knows what is going on there. I always build Rakudo with --gen-parrot, so this is a bit out of my experience... 02:31
jjore Ah. 02:33
colomon They may know if something has changed with Parrot_capture_lex recently. 02:34
jjore tried `git log -Scapture_lex` and didn't notice anything special. 02:36
Oh well. I can just as well play a video game instead too. :-)
uasi hi there 02:45
uasi colomon, jjore: Parrot_capture_lex thing has changed in this commit github.com/rakudo/rakudo/commit/fe...fe6cf80657 02:47
colomon uasi++ 02:48
uasi I got the same error when I updated to that version of Parrot with --gen-parrot 02:49
jjore yep. wasi++ 02:50
uasi jjore: maybe you should do 'make realclean' in raludo repo and try ./Configure.pl --gen-parrot 02:51
jjore Yep, will do. At least, something like that. 02:52
jjore Oh, interestingly enough, I guess I was missing that commit. 02:54
Oh, yep. I'd noticed Parrot_sub_capture_lex in parrot. Thought it was merely a related but different function. 02:55
colomon anyone online remember how to use wrap? (or at least where it appears in the spec?) 03:12
Jmax S06 03:13
colomon danke 03:15
Jmax bitte 03:16
colomon thinks he finally has a working p2, now just needs to stress test it up, clean it up, and maybe make a module with one or two of the handy core routines. 03:31
arnsholt colomon: That's the first one I did too =) 03:32
colomon It's a routine I've written several times before, though never in p6 (it turned out, I thought I had it done already).
arnsholt Ah, right. I'd never done it before, but knew the generalities of it 03:33
(Having taken a 3D graphics course a few years ago)
colomon conceptually very simple, but getting the details right is a bit tricky (or at least, I found it so).
arnsholt Yeah, I'm sure my code is riddled with bugs 03:34
colomon I think mine is fairly robust (barring more typos), but could definitely use serious cleaning and testing. 03:35
arnsholt Yeah, I've got to write some tests too 03:36
And documentation. I've got a single line comment in my code ATM =) 03:37
But I've sidetracked on to p4 now, which is fun
dalek rixel: 43db628 | diakopter++ | / (5 files):
add antlr grammars
05:15
dalek rixel: b61c69f | diakopter++ | / (10 files):
diffs :)
07:42
muixirt good morning 08:49
masak good monday, #perl6 09:24
masak buubot: karma wasi 09:27
buubot masak: wasi has karma of 1
masak wasi--
uasi++
:)
arnsholt, colomon: you people give me the warm fuzzies talking about the contest in the backlog. :) it's very nice to know people are hacking on solutions. 09:29
muixirt masak: things like empty loops consume slowly memory, how could i investigate the problem? 09:35
masak muixirt: I know some people use profilers to investigate where all the speed goes. don't know what people use to investigate memory leaks. 09:36
masak PerlJam: how's today's Advent post coming along? 09:44
are there any volunteers for slots #22 and #23?
dalek : 20cb908 | masak++ | misc/perl6advent-2010/schedule:
[misc/perl6advent-2010/schedule] 25: merry X-mas
09:46
muixirt masak: hmm, no advent post about Bufs? 09:52
dalek ecs: a7b0d9d | masak++ | S12-objects.pod:
[S12] Expanded inscrutable acronym for VienosNotes++

The spec is inscrutable enough as it is without people wasting 20 minutes to find the meaning of infrequent acronyms.
See twitter.com/VienosNotes/status/16767710964752384
09:52
masak muixirt: maybe next year.
muixirt maybe? *shivers* 09:58
only because it's snowing here :-) 09:59
masak :)
masak huh. HN has a user 'pmichaud', but it's not our pmichaud. :) 10:52
muixirt HN? 10:55
masak muixirt: news.ycombinator.com 11:12
muixirt ok 11:14
muixirt reads Mathematics The Most Misunderstood Subject 11:22
dalek ast: f94554a | (Kodi Arfer)++ | S02-builtin_data_types/whatever.t:
[whatever.t] Added tests for RT #80256.
11:34
dalek kudo: cae7f95 | uasi++ | src/Perl6/Actions.pm:
[Actions] Made Whatever currying cooperate with meta-operators.

Signed-off-by: Kodi Arfer <hippo@Thoth.(none)>
11:37
muixirt is a little bit disappointed about HN math story 12:01
colomon masak: what's the deadline for the contest, again? 12:11
masak for signing up: 24th. for sending submissions: 14th. 12:12
Trashlord what contest? 12:13
masak Trashlord: strangelyconsistent.org/blog/masaks...ng-contest
colomon masak++: Ah, that's good. That gives us time to adjust our wish lists post-Christmas. ;) 12:14
I was thinking I might do a blog post on p2 and schedule it for after the contest is closed. 12:15
Trashlord ha, looks cool 12:16
not sure if I actually know enough Perl 6 to participate in that, though, heh
masak colomon: you're very welcome to. I'm planning to do very thorough blog posts on each task, combining the theory with examples of people's solutions. 12:17
Trashlord: a winning strategy might be to sign up and send in five trivial solutions. if everyone else submits four or fewer, instant win. :)
(where "trivial" here means "passes the base tests and nothing more") 12:18
of course, if anyone actually sends in good solutions, that strategy is hosed.
Trashlord ha, yeah
I've never participated in a programming contest before, to be honest 12:23
takadonet morning all 12:54
masak takadonet: \o
masak PerlJam: ping 13:15
[Coke] . 13:49
[particle] the solution may be hosed, but the journey cannot be undone. 14:28
takadonet rakudo: subset DEPTH of Mu where { $_ eq 'beer' || $_ ~~ Int }; my DEPTH $ya='RE'; 15:00
p6eval rakudo cae7f9: OUTPUT«Type check failed for assignment␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/p6lhl1fBOH␤»
takadonet rakudo: class A { subset DEPTH of Mu where { $_ eq 'beer' || $_ ~~ Int }; has DEPTH $.ya is rw }; my $ya = A.new(ya=>'re');
p6eval rakudo cae7f9: ( no output )
takadonet bug?
colomon seems like 15:05
probably NYI?
takadonet nuts
jjore masak, re: memory leaks. More profilers. Just different. Often by having instrumented allocation + Iterable heap and stack. Ie, just plain old structured data and hooks. 15:15
flussence omg, I got my xmms2 code to actually do something!
masak jjore: chromatic on #parrot might be able to give more tips.
flussence: wow! nice!
flussence still gives a Null PMC access at the end though :) 15:16
jjore Oh, right, I forgot there's a #parrot. 15:18
masak what do I answer to twitter.com/VienosNotes/status/16870351094939650 ?
it's a really good question. does the spec give a clear answer?
colomon scratches his head. 15:24
gfldex what is a trait? I know what it does, but what _is_ it?
flussence fixes the code in my advent post
trait = role, I'm guessing 15:25
gfldex that would mean that methods have roles 15:26
flussence I think in the context he's using "trait", anyway...
gfldex so there is more then one type of trait?
flussence p6's traits are general modifier things, in other languages I've seen they're usually what p6 calls "roles" 15:29
mux or mixins
masak gfldex: a trait is a role that's applied to an object. 15:30
no wait, that's a mixin. :) 15:31
a trait is whatever follows 'is' and sometimes 'will' in declarations.
gfldex so the term trait is syntax that supplies meaning of intend?
masak so 'is BaseClass' is actually the exception here -- we're using the trait mechanism for inheritance. 15:32
flussence goes to read what "will" is
gfldex by applying the trait to the class object?
masak yeah, something like that.
gfldex that sounds clever ... :-> 15:33
masak TimToady: how can I inherit from a class called 'rw'? if there is a class called 'rw' in my namespace, how can I use the 'rw' trait on a class?
flussence (oh, 'will' is just a synonym for 'is' apparently) 15:34
masak aye.
masak should we be worried that PerlJam hasn't shown up with his Advent post yet? 16:00
flussence someone (else) might have to save the day again 16:02
colomon doh! 16:07
does anyone have something ready?
masak PerlPilot: PerlPilot == PerlJam, right? 16:33
colomon I believe so
masak me too, just making sure.
[Coke] AOL 16:40
masak PerlJam, PerlPilot: you're up for an Advent post today, and we're all eagerly awaiting a sign of acknowledgement from you :) 16:41
PerlPilot masak: I live. :) 16:53
masak \o/
Christmas is saved! :) 16:54
nom &
PerlPilot dealing with a sick child, but I'm writing (slowly) 16:54
user_1011 hi all 17:37
takadonet user_1011: hey
user_1011 need urgent help
how can i enable perl6 syntax coloring and autocomplete in padre?
many thanks in advance 17:38
takadonet user_1011: I do not use Padre but I'm sure someone else around here does...
user_1011 ok. what you use as perl6 ide 17:39
?
takadonet vim and emacs
vim has syntax highlighting
user_1011 on windows
takadonet do not use windows....
in padre, try to see if you can find a menu where it says 'view document as' ... and should be in that list
user_1011 yeah. i know. windows must die. but i need ide for perl6 development on windows 17:40
user_1011 there have this menu but it do nothing. 17:41
takadonet user_1011: padre.perlide.org/irc.html 17:42
You can try the #padre channel
user_1011 ok. many thanks 17:43
bye
[Coke] ... I use vim on windows. 17:58
which I wouldn't recommend to someon looking for an IDE, but "windows" isn't a showstopper there. 17:59
uasi rakudo: ((1 => 2, 3 => 4).hash, 5).perl.say 18:05
p6eval rakudo cae7f9: OUTPUT«({"1" => 2, "3" => 4}, 5)␤» 18:06
uasi rakudo: ((1 => 2, 3 => 4).hash, 5).elems.say
p6eval rakudo cae7f9: OUTPUT«3␤»
colomon :\ 18:09
flussence rakudo: ((1 => 2, 3 => 4).hash, 5).elems.perl.say 18:12
p6eval rakudo cae7f9: OUTPUT«3␤»
flussence um.
colomon I think that's a flattening too far 18:15
[Coke] ((1 => 2, 3 => 4).hash, 5).elems[0].perl.say 18:16
rakudo: ((1 => 2, 3 => 4).hash, 5).elems[0].perl.say 18:17
p6eval rakudo cae7f9: OUTPUT«3␤»
[Coke] rakudo: ((1 => 2, 3 => 4).hash, 5).elems[1].perl.say
p6eval rakudo cae7f9: OUTPUT«undef␤»
colomon rakudo: ((1 => 2, 3 => 4).hash, 5)[0].perl.say
p6eval rakudo cae7f9: OUTPUT«"1" => 2␤»
colomon rakudo: ((1 => 2, 3 => 4).hash, 5)[1].perl.say
p6eval rakudo cae7f9: OUTPUT«"3" => 4␤»
colomon rakudo: ((1 => 2, 3 => 4).hash, 5)[2].perl.say
p6eval rakudo cae7f9: OUTPUT«5␤»
colomon Of course, that might be right.
uasi rakudo: ({1 => 2, 3 => 4}.hash, 5).perl.say 18:33
p6eval rakudo cae7f9: OUTPUT«({"1" => 2, "3" => 4}, 5)␤»
uasi rakudo: ({1 => 2, 3 => 4}.hash, 5).elems.say
p6eval rakudo cae7f9: OUTPUT«2␤»
uasi rakudo: ({1 => 2, 3 => 4}.hash, 5)[0].perl.say
p6eval rakudo cae7f9: OUTPUT«{"1" => 2, "3" => 4}␤»
uasi {1 => 2, 3 => 4}.hash should be flattened? 18:34
colomon not in my opinion. 18:35
huf rakudo: ({1 => 2, 3 => 4}.kv, 5)[0].perl.say
colomon but I'm frequently stumped by flattening
p6eval rakudo cae7f9: OUTPUT«"1"␤»
huf huh, doesnt kv produce a list of pairs? or which one does?
uasi huf: .list 18:39
rakudo: ({1 => 2, 3 => 4}.list, 5)[0].perl.say 18:40
p6eval rakudo cae7f9: OUTPUT«"1" => 2␤»
colomon rakudo: ({1 => 2, 3 => 4}.kv, 5).perl.say
p6eval rakudo cae7f9: OUTPUT«(("1", 2, "3", 4), 5)␤»
huf ah, so .kv is the old perl5ish behavior?
alternating list of keys/values?
colomon yes. 18:40
rokoteko huf: what are the faults in the "old perl5ish behaviour"? 18:41
huf faults? did i imply faults? 18:42
rokoteko no. I was mainly curious if you did an I didnt explicitly detect them.
huf ah. no, that's a fine behavior, if it's what you want 18:43
surprise surprise, i like p6's solution more
colomon p6's solution is to let you do it either way, depending on how you ask. :) 18:44
rokoteko surprise vs sunrise .. it's only a matter of a very tiny amount of area how much those two words differentiate geometrically. 18:47
PerlJam whew! perlpilot is having some problems today. 20:07
PerlJam Anyway, to those that can, have a look at perl6advent.wordpress.com/?p=686&am...eview=true and give me some feedback before I publish it. 20:07
Tene PerlJam: 404 20:28
PerlJam I believe you have to have a WP account and be logged in for it to work. 20:29
takadonet indeed
Tene Ah. 20:30
That's *far* too much work. ;)
takadonet Tene you need to be an author .... 20:32
Tene takadonet: I already was! I did mine a full *year* early. 20:33
takadonet heh
Tene I don't know what you slackers are doing, doing yours so late.
PerlJam published. perl6advent.wordpress.com/2010/12/2...-synopses/ 20:35
now it's easier for some people to provide feedback :)
takadonet www.reddit.com/r/programming/commen..._synopses/ 20:36
PerlJam takadonet++ :) 20:40
colomon \o/
lue ohai o/ 20:52
lue Hm. I think I'm either not understanding actions well enough, or the rest of my code is going to receive some major refactoring. 21:16
PerlJam lue: what's the problem? 21:18
sjohnson Eddie Vector 21:20
lue With Pod, I have a tough time deciding where in the actions to create an object to hold stuff (and the stuff in that object really depends on where I create the object.) I'm more willing to blame a grammar set up for the nonactions way. 21:23
lue
.oO(I can't seem to understand proto regexes ...)
22:03
sorear can you be more concrete?
btw, * #perl6
lue rakudo: grammar A { regex TOP { <B> }; proto regex B { }; multi regex B:C { Cc }; multi regex B:D { Dd } }; say A.parse("Cc").perl 22:05
p6eval rakudo cae7f9: OUTPUT«Match.new(␤ from => 0,␤ orig => "Cc",␤ to => -3,␤)␤»
sorear uhm 22:07
lue I know I've made a stupid mistake here...
sorear niecza: grammar A { regex TOP { <B> }; proto regex B { }; multi regex B:C { Cc }; multi regex B:D { Dd } }; say A.parse("Cc").dump
p6eval niecza 406e042: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/WW201x2DG7 line 1:␤------> A { regex TOP { <B> }; proto regex B { ⏏}; multi regex B:C { Cc }; multi regex B␤ expecting quantifier␤Parse failed␤»
flussence B:<C> ?
sorear ah. yes, youi have.
niecza: grammar A { regex TOP { <B> }; proto regex B {*}; multi regex B:C { Cc }; multi regex B:D { Dd } }; say A.parse("Cc").dump 22:08
p6eval niecza 406e042: OUTPUT«#<match from(0) to(2) text(Cc) pos([]) named({"B" => #<match from(0) to(2) text(Cc) pos([]) named({})>})>␤»
sorear Rakudo may still be using proto regex B { <...> } syntax 22:08
flussence is that invalid now?
sorear but proto regex B { } is wrong in both models
flussence: about a month ago TimToady decided that protos should be {*} 22:09
flussence makes sense.
sorear he also changed STD, which forced me to implement the new model a bit earlier than I would have
flussence: not B:<C> 22:12
well, B:<C> is valid
lue proto regex B {*} fails in rakudo ( although proto regex B {{*}} works, but won't match anything, just like my first try ^^^ ) 22:15
sorear lue: does proto regex B { <...> } work? 22:16
rakudo's Perl6::Grammar seems to be using proto token fooo { <...> } exclusively 22:17
lue rakudo: grammar A { regex TOP { <B> }; proto regex B { <...> }; multi regex B:C { Cc }; multi regex B:D { Dd } }; say A.parse("Cc").perl 22:20
p6eval rakudo cae7f9: OUTPUT«Match.new(␤ from => 0,␤ orig => "Cc",␤ to => -3,␤)␤»
lue no :/
sorear rakudo: grammar A { regex TOP { <B> }; proto regex B { <...> }; regex B:C { Cc }; regex B:D { Dd } }; say A.parse("Cc").perl 22:21
p6eval rakudo cae7f9: OUTPUT«Match.new(␤ from => 0,␤ orig => "Cc",␤ to => -3,␤)␤»
sorear rakudo: grammar A { regex TOP { <B> }; proto token B { <...> }; regex B:C { Cc }; regex B:D { Dd } }; say A.parse("Cc").perl
p6eval rakudo cae7f9: OUTPUT«Match.new(␤ from => 0,␤ orig => "Cc",␤ to => -3,␤)␤»
sorear rakudo: grammar A { regex TOP { <B> }; proto token B { <...> }; token B:C { Cc }; token B:D { Dd } }; say A.parse("Cc").perl
p6eval rakudo cae7f9: OUTPUT«Match.new(␤ from => 0,␤ orig => "Cc",␤ to => -3,␤)␤»
sorear rakudo: grammar A { regex TOP { <B> }; proto token B { <...> }; token B:sym<C> { Cc }; token B:sym<D> { Dd } }; say A.parse("Cc").perl 22:22
p6eval rakudo cae7f9: OUTPUT«Match.new(␤ from => 0,␤ orig => "Cc",␤ to => 2,␤ named => {␤ B => Match.new(␤ from => 0,␤ orig => "Cc",␤ to => 2,␤ ),␤ },␤)␤»
sorear that's probably worth filing a bug
phenny: tell masak lue++ just noticed that 'token category:id' doesn't work in Rakudo; it needs to be 'token category:sym<id>'. Is this a new bug? 22:23
phenny sorear: I'll pass that on when masak is around.
sorear phenny: tell masak c.f. irclog.perlgeek.de/perl6/2010-12-20#i_3107596
phenny sorear: I'll pass that on when masak is around.
lue would using :sym<C> be acceptable in the meantime? 22:27
sorear yes
look at src/Perl6/Grammar.pm in your local Rakudo checkout - this is the largest known Rakudo-compatible* grammar and will probably answer a lot of questions 22:29
* it's actually a NQP-RX grammar, but Rakudo uses the same grammar engine
Tene sorear: by my memory, rakudo has never supported :foo, only :sym<foo> 22:50
cls_bsd a3/win 32 23:31