»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 30 July 2009.
colomon jnthn++ 00:00
Though that's disappointing -- it really hamstrings the elegance of operator overloading in a lot of cases. 00:01
00:03 jferrero joined 00:06 kane_ left 00:10 Khisanth joined, Khisanth left 00:11 Khisanth joined, Khisanth left 00:22 maja joined
__ash__ I found a kind of hack to get around not being able to explicitly call role methods directly from within a class, gist.github.com/164492 if anyone else has seen this issue. I know in the spec they have a different solution but it doesn't work right now 00:23
00:23 maja_ left 00:27 zamolxes joined 00:29 jhelwig left 00:33 nacho__ left 00:35 M_o_C left 00:49 missingthepoint joined, zamolxes left 00:51 zamolxes joined 01:03 Eevee joined 01:08 braceta left
meppl good night 01:16
01:19 meppl left 01:22 braceta joined
missingthepoint good night meppl :) 01:33
01:38 kst` joined 01:43 Chillance_ joined 01:47 Chillance_ left 01:48 Chillance left
cognominal What is the natural way to express in Perl 6 this XML BNF rule ? 01:51
[17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))
token pitarget { <Name> - :i xml } # but what is the equivalent of - to say match the left except if it matches the right 01:52
01:53 kst left
cognominal should I write a closure to reject if the name matches xml ? 01:53
01:59 tann joined 02:29 Whiteknight left 02:37 braceta left 03:14 eternaleye left 03:17 eternaleye joined 03:20 donaldh left, donaldh joined 03:22 PZt left, jferrero left 03:24 cotto left 03:25 cotto joined 03:26 cookys_ left, Limbic_Region left
pmichaud cognominal: / <!before :i xml> <name> / 03:34
or slightly clearer:
cognominal: / <!before :i 'xml'> <name> / 03:35
which means "match <name> but not 'xml'"
one can also do
/ [ 'xml' :: <!> || <name> ] / 03:36
when we have closures implemented, it can be 03:37
/ <name> <!{ $<name> eq 'xml' }> /
03:39 sri_kraih joined 03:50 icwiener joined 03:51 icwiener left 03:52 sri_kraih_ left
eternaleye rakudo: class Base { method foo { '::foo' } }; class T is Base { method foo { 'T::foo'; Base::foo(self:) } }; my T $a .= new; say $a.foo; 03:53
p6eval rakudo 5667dc: OUTPUT«Statement not terminated properly at line 2, near "(self:) } "␤in Main (src/gen_setting.pm:3366)␤»
missingthepoint Pm++ for a clear answer :) 03:58
pmichaud ...or many of them :-) 03:59
missingthepoint :) 04:00
rakudo: say ('pmichaud++') xx 4 # :-) 04:05
p6eval rakudo 5667dc: OUTPUT«pmichaud++pmichaud++pmichaud++pmichaud++␤»
missingthepoint hopefully lambdabot will parse that ok... :) 04:08
pmichaud: do you have any projects you could use help on? 04:09
pmichaud undoubtedly I do, but my mind is a bit frazzled at the moment 04:10
missingthepoint i should have some CSV-handling code for you today
pmichaud oooh! yes!
\o/
I'd like it to be able to parse docs/spectest-progress.csv :-)
missingthepoint no
i set my goal slightly higher... 04:11
gimme a few hours
:O)
pmichaud no rush -- I'll likely be heading off to bed here soon.
missingthepoint no problem, hopefully you'll enjoy it in the morning... (and i suspected that was your purpose for the CSV code) 04:12
hopefully you get over the jet lag soon 04:13
04:13 rfordinal joined
pmichaud argggggh 04:14
missingthepoint hands pmichaud a warm beverage and some sleeping pills
:) 04:15
pmichaud I've just made a small change to rakudo to fix up immediate blocks
as far as I can tell, the change produces _exactly_ the same PIR output for a small test program
but one instance works, another fails.
missingthepoint does the small test program adequately exercise the change? 04:16
pmichaud yes
oh, hmm. 04:17
missingthepoint hmm
pmichaud I think I know where the change might be.
it's not in the PIR from my code -- it's in the generated setting code.
that would make sense.
04:27 whoisthatgoksie left
missingthepoint rakudo: sub foo(Array @bar) { say @bar.elems }; my @a = <quux florble blaarg>; foo(@a) 04:28
p6eval rakudo 5667dc: OUTPUT«Parameter type check failed; expected Positional[Array], but got Array for @bar in call to foo␤in sub foo (/tmp/R1V0nOYrMe:2)␤called from Main (/tmp/R1V0nOYrMe:2)␤» 04:29
04:30 nihiliad left 04:32 rfordinal left
missingthepoint rakudobug, or am i doing something silly? 04:44
pmichaud Array @bar means "an array of arrays"
missingthepoint or NIY?
ah, something silly :)) 04:45
pmichaud you're sending it an array of strings.
it's not necessary to say "Array @foo" -- @foo is already known to be an array.
missingthepoint thanks :)
04:45 takadonet joined
takadonet hey 04:45
all
missingthepoint i didn't think through the semantics of Array in combination with the sigil 04:46
takadonet: go ahead...
takadonet with what?
missingthepoint ah, that was a greeting. hi ;) 04:47
(thought you were about to announce something profound... :-)
takadonet it was. Just hacking away creating a parser with a grammar 04:48
04:50 frew joined 05:09 bionoid left 05:23 alester joined 05:28 frew left, PZt joined 05:45 orafu left, orafu joined 06:02 __ash__ left, wayland76 left 06:07 takadonet left, molaf joined 06:09 zamolxes left 06:20 alester left 06:39 sparc joined 06:43 Su-Shee joined
Su-Shee good morning! 06:43
07:12 azawawi joined
azawawi std: "hi" 07:12
p6eval std 27911: OUTPUT«ok 00:04 37m␤»
07:20 donaldh left, donaldh joined 07:21 azawawi left 07:24 abra joined 07:35 mberends left 07:38 whoisthatgoksie joined 07:45 tann left 08:01 rfordinal joined, mikehh_ joined
payload a strange error. it "forgets" a method? gist.github.com/164660 08:09
08:18 mikehh left 08:19 meppl joined 08:24 mikehh_ is now known as mikehh 09:22 masak joined
masak morning, starfishes. 09:22
pugs_svn r27912 | azawawi++ | [Cursor] TMP_PREFIX is now working again. 09:28
moritz_ good morning 09:30
masak everything I touch turns into bugs... :P 09:32
I'm like the software kind Midas.
s/kind/king/ 09:33
I'd better start from the beginning: I wanted perl6eval to print "$d days left to April", and to calculate $d herself using Temporal.pm. 09:34
only way I can do that, given the current implementation, is using .epoch on two dates and calculating the difference.
fair enough, but .epoch is behaving very strangely. so I'm checking www.tondering.dk/claus/cal/calendar29.txt now to see whether the algorithm in Temporal.pm is correct. 09:35
09:45 batlock666 joined
pugs_svn r27913 | azawawi++ | [Cursor] TMP_PREFIX is not applicable in ->parsefile 09:49
masak ok, here's what's bugging me: 09:50
line 123 of src/setting/Temporal.pm
both $jd and $.time.second are given a multiplicative factor of 1. 09:51
that's a unit error, as far as I can see.
09:51 batlock666 left
masak (because $jd has a unit of days, and $.time.second has a unit of seconds) 09:53
09:59 azawawi joined
azawawi hi 09:59
masak o/
moritz_ masak: if you want p6eval to print something upon each invocation, for speed reasons it should be in Perl 5 10:01
azawawi masak: so what's new in the world of Perl 6?
masak moritz_: oh, that's not my goal. :)
10:01 kane_ joined
moritz_ big buzz is going on 10:01
masak azawawi: there's PR abroad!
moritz_ use.perl.org/~pmichaud/journal/ read the last two entries
masak phenny: tell mberends in src/setting/Temporal.pm, line 123-124, $jd and $.time.second have the same multiplicative factor, despite being of different units. this puzzles/concerns me -- what am I missing? 10:03
phenny masak: I'll pass that on when mberends is around.
masak moritz_: my goal was to make it part of my morning routine to calculate the days remaining till April, using perl6eval. I haven't used Temporal.pm much yet, so I thought it'd be a good way to exercise it. 10:04
seems I was right.
pugs_svn r27914 | azawawi++ | [S:H:P6] Added a MOVED_TO_PADRE sign... 10:05
r27915 | azawawi++ | [S:H:P6] first batch of old code deletion 10:06
r27916 | azawawi++ | [S:H:P6] Second batch of deletions...
r27917 | azawawi++ | [S:H:P6] Converted sign to UNIX format 10:07
moritz_ masak: ok 10:10
10:11 Front_slash joined 10:31 fridim_ joined 10:35 arthur-_ joined 10:43 azawawi left 10:47 kane_ left 10:51 cookys joined 10:56 M_o_C joined
masak use.perl.org/~pmichaud/journal/39424 # pmichaud++ for ^100 11:16
11:17 Front_slash left 11:20 donaldh left 11:21 donaldh joined 11:26 finanalyst joined
finanalyst pmichaud: ping hi 11:26
@seen pmichaud 11:27
lambdabot pmichaud is in #perl6. I last heard pmichaud speak 6h 42m 10s ago.
colomon masak: Yeah, that is a sweet, sweet blog post. Wish I'd had it handy when chatting with a visitor to the channel yesterday... 11:48
11:50 daemon joined
masak I'm not sure anyone could have foreseen the positive reaction pmichaud's lightning talk had on the YAPC crowd. it was electrifying. 11:50
I'm sure we'll have lots of "Perl 6.0.0 being released in April?" and "but you told me Perl 6 would be done in April!" in the coming months. 11:51
it is inevitable.
but seeing the audience's reaction at YAPC, I suddenly realized that what people have been waiting for is some kind of phase shift, no matter if it's 6.0.0 or not. people want to hear "we've gotten this far, come see how cool it is already". 11:52
Rakudo is well worth that kind of attention today. if the #perl6 crowd manage to deliver on the ambitious roadmap that pmichaud has outlined until April -- and previous similar promises tell me that we will -- then Rakudo Star will be beyond awesome. 11:55
12:00 whoisthatgoksie left
colomon I certainly agree that Rakudo is worth attention today, and hope Rakudo Star will be beyond awesome, indeed. 12:03
I must admit, though, that I've had a rough week with my personal Rakudo usage. I keep on bumping up against huge performance issues and NYIs. 12:04
masak I'm not surprised. 12:05
colomon It makes for a whiplash experience between "This is the coolest language ever!!!!" and "Except this key point isn't implemented yet," or "It's so incredibly slow it's useless!"
masak Parrot does have huge performance issues.
I'm not steeped enough in Parrot development to be able to say what would be needed to address them.
colomon I'm about to e-mail pmichaud on that very subject. :) 12:06
masak as for the NYIs in Rakudo, is there an NYI you think is _not_ slated for April?
colomon (Once I finish feeding my boy...)
masak because my feeling is that many of the most bothersome ones will land before then.
colomon No, I except they will be done then. But it's frustrating now.
Don't get me wrong, I still have all the faith in the world in the development team. 12:07
masak colomon: well, if you're not careful I'll start telling you about developing on top of Rakudo last summer. :P take a look at the spectests graph and see how it looked by June 2008. 12:08
12:08 marshyon joined
masak that was the Rakudo we built November on. 12:08
colomon It's just that a week ago I thought it was very nearly ready for use, and this week has put the lie to that.
masak colomon: understood.
and the feedback is very welcome.
also, I do see the danger in overpromising by saying "awesome! awesome!" and then people will try it and see a sluggish piece of NYI. 12:09
colomon Yeah, that's a bit of what I'm worried about at the moment.
I started work on a vector class, just to see what I could do. 12:10
And it is soooooo beautiful for simply implementing the basic operations.
And I can overload dot and cross operators using the actual symbols -- huge win!
masak aye. 12:11
colomon But then it turns out I can't overload + and then normal Num::+ in the overloaded function.
masak :/
colomon known bug, it turns out.
masak aye.
colomon It's kind of like being a kid in the most awesome candy shop ever... 12:12
...only to be told half the candies are poisonous. :)
masak :)
well, we do keep a list of poisonous candy. and pmichaud++ and jnthn++ are regularly going over the list and removing the poison from the candy. 12:14
even with the more peripheral people helping and fixing bugs, clearly the bottleneck is developer tuits.
so if you want the process to go faster, consider joining. or paying someone to fix Rakudo bugs. 12:15
colomon I've implemented vectors a number of times over the years, and the p6 version is the clear winner, hands down, in ease of implementation and expressiveness. It's amazing how much the language rocks.
masak nod.
I also think it's very important to be clear about expectations. 12:16
colomon joining or paying: like I say, I'm e-mail pmichaud. won't say more than that yet. :)
s/e-mail/e-mailing/ 12:17
masak the numbers bandied about for comparing Perl 5 against Rakudo in terms of speed are something like 500 to 700, I think.
colomon I got 5000x in one of my scripts this week.
masak oh, let's say 5000, then.
I'll call this number the Rakudo Sluggishness Factor. 12:18
I think an RSF of 3 would be theoretically possible. and very, very good.
but even an RSF of 20 would be acceptable, at least in the early days.
12:18 Whiteknight joined
moritz_ wants a negative RSF 12:19
Su-Shee yeah, well obviously getting from a parrot to a camel goes by the way of a snake. ;)
aeh. snail.
pugs_svn r27918 | azawawi++ | [perl6] Removing obsolete smop_highlight.
masak "famous Freudian slips" :)
Su-Shee I do the same with peas and pears :) 12:20
colomon masak: agreed, both with 3 and 20.
pugs_svn r27919 | azawawi++ | [STD_syntax_highlight] Upgraded to jQuery 1.3.2 12:21
masak phenny: tell mberends non-destructive beauty patch to Temporal.pm: gist.github.com/164752 -- I'd apply it myself, but suddenly felt a review wouldn't hurt. 12:23
phenny masak: I'll pass that on when mberends is around.
pugs_svn r27920 | azawawi++ | [STD_syntax_highlight] Deleted jquery 1.2.6 12:25
finanalyst @seen Matt-W 12:30
lambdabot Matt-W is in #perl6. I last heard Matt-W speak 1d 22h 54m 7s ago.
finanalyst colomon: rather than + how about 'add'? At least for the time being 12:33
12:35 Whiteknight left
colomon finanalyst: actually, I just found different Unicode math symbols to use as a work around. 12:35
carlin Silly question, how do I create a directory? - "Could not find non-existent sub mkdir"
12:35 cyocum joined
colomon run "mkdir xxxx" will do it, I believe. 12:36
finanalyst colomon: much better idea
cyocum hi I have perl 6 grammar question is there anyone about who might have a few minutes?
finanalyst colomon: will use it on something I am doing!
carlin colomon: I get "Could not find non-existent sub mkdir" 12:37
masak cyocum: sure.
12:37 Whiteknight joined
colomon could you actually use "add" as the name of an infix operator? 12:37
cyocum hi masak
masak colomon: you can.
colomon carlin: No, "run" is the p6 command.
masak cyocum: oh hai
cyocum masak: I am writing a very, very simple grammar to parse dice roles a la D&D but I cannot seem to find out what is in the match object that comes back from the parse 12:38
colomon carlin: "run" is the rough equivalent of "system" in p5.
masak cyocum: ok. `say $/.perl` is a good idea then. 12:39
cyocum masak: ok..one sec
carlin Ah, so there is no mkdir() method like in p5?
masak carlin: not yet in Rakudo, anyway.
carlin: both S29 and S32-IO mention a mkdir function. 12:40
cyocum masak: huh...nothing coming out of that...I tried "$/.perl.say" and got "Method 'say' not found for invocant of class ''...is there a place where I can throw up the code?
pugs_svn r27921 | azawawi++ | [spec_highlight] Copy JQuery to parent directory
12:40 hexmode left
masak cyocum: try `say $/.perl` 12:41
cyocum: gist.github.com
cyocum masak: cool..tried that and got "undef" so I am doing something stupid somewhere
carlin masak: Oh I see, thanks
masak cyocum: s/stupid/unusual/ :) 12:42
cyocum masak: lol...ok I have put it up at gist.github.com/164758 12:43
masak cyocum: my $match = DiceParser::TOP("2d6"); 12:44
this stands out as the unusual part to me.
cyocum yep...I saw that in an RT IIRC
masak try `DiceParser.parse('2d6')` 12:45
or even `DiceParser.parse('2d6') or die "Could not match"`
cyocum masak: cool...I tried that from the formal spec but couldn't seem to get it to work..I will give it another try
masak: ok..I am farther now! 12:46
masak rakudo: regex foo { foo }; say foo('foo').perl
p6eval rakudo 5667dc: OUTPUT«Method 'perl' not found for invocant of class 'PGE;Match'␤»
masak submits rakudobug 12:47
cyocum masak: thanks!
masak np :)
cyocum masak: follow on question...how to I get stuff out of the match object and do pesudo-useful things with it?
pugs_svn r27922 | azawawi++ | [spec_highlight] make sure that the output html directory is there 12:48
masak rakudo: grammar G { regex TOP { <foo> }; regex foo { foo } }; G.parse("foo"); say $/<foo>
p6eval rakudo 5667dc: OUTPUT«foo␤» 12:49
masak cyocum: like that.
cyocum ah...I thought it worked like a hash
masak rakudo: grammar G { regex TOP { <foo> }; regex foo { \d+ } }; G.parse('42'); say $/<foo> # probably easier to grok
p6eval rakudo 5667dc: OUTPUT«42␤»
masak cyocum: it works as a hash, but also as an array (for numbered captures) 12:50
cyocum masak: ok
masak I'm sure S05 can explain it better than I, if you're curious for details.
cyocum masak: yeah...I got lost in all the detail :)
masak that happens to all of us. :) 12:51
you need to attack it repeatedly, and mix reading with experimenting.
cyocum masak: like learning how to swim in a way...
masak I don't know, I didn't read any literature in order to learn how to swim :P 12:53
cyocum masak: lol
masak: I think I found another bug
masak \o/
cyocum masak: well, I forgot the final ; in the line and it still worked
I will show you
masak if it's after a '}', then that's to be expected. 12:54
cyocum no...take a look: gist.github.com/164758
masak the line at the end?
cyocum yeah
masak that's OK. not a bug.
cyocum OH
masak thanks for playing, though. :) 12:55
cyocum masak: that's...odd behavior
masak: lol..thanks
masak no, Perl 5 works the same.
cyocum masak: oh...I never noticed that
masak you can always skip semicolons if they're not used to delimit statements
cyocum I knew you could do it in map { } @array like statements 12:56
wait...drunken pm conversation coming back to me now...
yeah...you can do that but I learn C/C++ before I learned perl so I tend not to do that 12:57
*learned
masak yes, the rules for semicolons are different in the C/C++ group.
12:59 cyocum is now known as cyocum|afk 13:01 cyocum|afk is now known as cyocum 13:04 Chillance joined
cyocum ok new question 13:04
13:04 nErVe joined
cyocum this might seem rather silly 13:04
masak listens 13:05
cyocum but what's the difference between regex, rule, and token in a grammar?
masak that's a good question, not a silly one.
cyocum ah
:)
masak I asked it about 10 times before the answer stuck.
basically, when in doubt, use regex.
cyocum ok 13:06
masak then there are two pieces of behaviour that you can add, something like good defaults.
the first one is what 'token' does, called ratchet behaviour.
en.wikipedia.org/wiki/Ratchet_(device) 13:07
a ratchet prevents things from going packwards.
s/packwards/backwards/
cyocum ok...like commit in P::RD?
masak very possibly.
cyocum ok
masak I don't know about that feature, but I find it likely. 13:08
cyocum btw: I am translating a P::RD grammar into P6
masak cool.
the second default... you know that whitespace is insignificant in Perl 6 regexes, yes?
cyocum yes
like /x
masak aye.
now, 'rule' takes the 'token' behaviour, and also adds a special kind of whitespace significance. 13:09
cyocum OH
masak put simply, if you put in whitespace in the rule, whitespace will be allowed there in the match.
or, as with the case with whitespace between two identifiers, it will be required. 13:10
cyocum right...that's why things where getting weird
13:10 jan_ left
masak and it all works under the hood. 13:10
cyocum ok
13:10 carlin left
cyocum masak: one further question as this seems to be coming along nicely now...is there some LWP like thing in p6 that I can use? I know something about Web.pm but I am not sure if that is what I am looking for... 13:13
13:13 KyleHa joined 13:14 nErVe left
KyleHa Good morning #perl6 13:14
masak KyleHa: oh hai
cyocum: so you want to pull down pages from the web, is that correct?
moritz_ cyocum: I think cosimo wrote something LWP::Simple-like
github.com/cosimo/perl6-lwp-simple/tree 13:15
cyocum masak: well, like that..I want to get content from a URL..HTML is just a side benefit
masak cyocum: what moritz_ said.
cyocum @moritz_: Thanks!
lambdabot Unknown command, try @list
masak also, I'd say it's not central to Web.pm, but might end up there depending on future decisions. 13:16
cyocum moritz_: thanks!
masak: cool
masak for now, you're on your own for solutions -- but, that said, I'd personally be very interested in what you come up with. so, I believe, will many people here on #perl6.
cyocum hehe...well, now is the time to write apps for p6 and I had a diceparser/roller lying around so I thought it would be easy enough 13:17
moritz_ aye, we are always eager to hear about working Perl 6 code ;-)
cyocum hehe
masak cyocum: here's some code to illustrate what I just said about rule: 13:19
rakudo: rule foobar { foo bar }; rule foobang { foo \! }; for "foobar", "foo bar", "foo!", "foo !" Z &foobar xx 2, &foobang xx 2 -> $s, &r { say ?($s ~~ &r) }
p6eval rakudo 5667dc: OUTPUT«0␤1␤1␤1␤»
masak in short, whitespace is optional when possible, and required when necessary.
cyocum *nods*
*copies code for further study*
moritz_ wow, 459 tickets in the perl6 RT queue 13:22
masak sorry. :/ 13:23
moritz_ masak: not all your fault ;-)
masak no, and I'm thankful for that. 13:24
people: submit bugs, so it won't all be my fault! :P
cyocum masak: lol...well, I did try to help :P
masak cyocum: don't know if you noticed, but you helped drag up a bug. so, thanks for that. 13:25
cyocum masak: np
moritz_ rakudo: my @a = 1..10; say @a.split(2).perl 13:26
p6eval rakudo 5667dc: OUTPUT«["1 ", " 3 4 5 6 7 8 9 10"]␤»
moritz_ rakudo: my @a = 1..10; say @a.split(2).perl; say @a.perl 13:27
p6eval rakudo 5667dc: OUTPUT«["1 ", " 3 4 5 6 7 8 9 10"]␤[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]␤»
missingthepoint night all :)
13:27 missingthepoint left
moritz_ now I understand why there's a patch to "fix splice" in the queue 13:27
and we have don't run any splice tests. 13:29
KyleHa If I confirm that the patch fixes the splice tests, should I apply it? 13:37
moritz_ I'm already on it
payload rakudo: my @evens = ($_ * 2 unless $_ % 2 for 0..100); say @evens
p6eval rakudo 5667dc: ( no output ) 13:38
payload :(
cyocum rakudo: my @evens = (grep {$_ % 2} for 1..100); say @evens; 13:40
p6eval rakudo 5667dc: ( no output )
masak p6eval seems to be having a bad hair day.
cyocum and I seem to have a bad code day :P
moritz_ it fixes the tests, but not bug I found
KyleHa rakudo: my @e = grep { $_ % 2 } 1 .. 100; say @e; 13:41
p6eval rakudo 5667dc: OUTPUT«Statement not terminated properly at line 2, near "1 .. 100; "␤in Main (src/gen_setting.pm:3366)␤»
moritz_ comma after }
perl5ism--
cyocum rakudo: my @e = grep { $_ % 2 }, 1..100; say @e; 13:42
p6eval rakudo 5667dc: OUTPUT«13579111315171921232527293133353739414345474951535557596163656769717375777981838587899193959799␤»
moritz_ rakudo: my @e = grep { $_ !% 2 }, 1..100; say @e;
p6eval rakudo 5667dc: OUTPUT«Statement not terminated properly at line 2, near "!% 2 }, 1."␤in Main (src/gen_setting.pm:3366)␤»
moritz_ !% seems to be NYI
cyocum what does !% do?
moritz_ negated divisibilty test 13:43
cyocum ok..that's what I thought
KyleHa But % isn't just a divisibility test. Is there also !/ and !+, etc? 13:44
moritz_ no
M_o_C KyleHa: You sure? Maybe they replaced modulo % with an infix mod? 13:45
13:46 jferrero joined
KyleHa rakudo: say 17 % 5; 13:47
p6eval rakudo 5667dc: OUTPUT«2␤»
M_o_C ok...
moritz_ or formulated better, !% *is* the divisbility test, not the negated test 13:50
% in boolean context is the negated test
masak KyleHa: % differs from + and / in that it's often used in a boolean context. therefore, it has been made 'iffy' as a special case. see line 3645 of STD.pm for the special case. 13:52
cyocum I think I found another bug...maybe
masak :) 13:53
cyocum my @e = grep { $_ % 2 }, 1..100; say @e.join(',');
rakudo: my @e = grep { $_ % 2 }, 1..100; say @e.join(',');
p6eval rakudo 5667dc: OUTPUT«1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99␤»
cyocum ok..maybe not but I tried this on my command line
masak looks good to me.
cyocum: then you probably ran into problems due to ','
cyocum ./perl6 -e 'my @e = grep { $_ % 2 }, 1..100; say @e.join(',');' and it didn't work
yeah
masak you can't both have ',' and surround the program with '...' 13:54
common pitfall, but certainly not Rakudo's fault. :)
cyocum ok
masak that can happen with perl5 too.
cyocum I have another grammar question as well
masak shoot.
moritz_ drops dead 13:55
cyocum ok..I have a regex "rule" that has two subrules like so: regex modifier { <plusminus> <digit>+ }
it seems that I cannot get the '+' or '-' seperately from the <digit>+
masak moritz_: you're way too sensitive! no-one did any actual shooting! :)
cyocum it seems to be all or nothing
lol
masak cyocum: note that you are using 'regex'. 13:56
cyocum true I tired token and rule
*tried
masak cyocum: now, which of 'regex', 'token', 'rule' has the whitespace behaviour we talked about?
cyocum rule
masak correct.
let's both try to write a grammar that makes it work with 'rule'. 13:57
cyocum ok
masak rakudo: grammar G { regex TOP { ^ <modifier> $ }; rule modifier { <plusminus> <digit>+ }; token plusminus { \+ | \- } }; say ?(G.parse("+42")); say ?(G.parse("+ 42")) 13:59
p6eval rakudo 5667dc: OUTPUT«1␤1␤»
masak there you go.
cyocum ok...the only things different than mine is the ^ and $ and the \+ \- 14:00
masak the ^ and $ are not strictly necessary, but perhaps just good style.
cyocum *nods*
masak I used \+ and \- instead of '+' and '-' to avoid the apostrophe problem on the command line. 14:01
(I usually test things on the command line before submitting them to perl6eval)
cyocum ok..but how do you access the <plusminus> seperately from the <digit>+? If I do "say $match<modifier><plusminus>" I just get the wholematch 14:02
*whole match
masak rakudo: grammar G { regex TOP { ^ <modifier> $ }; rule modifier { <plusminus> <digit>+ }; token plusminus { \+ | \- } }; G.parse("+42") or die; say ~$<modifier><plusminus> 14:03
p6eval rakudo 5667dc: OUTPUT«+␤»
cyocum huh 14:04
masak worksforme.
cyocum this is what it looks like now: gist.github.com/164758
masak cyocum: ok, now you've discovered a bug. :) 14:06
cyocum LOL
\o/
masak don't know it it's a new one, but it's definitely a bug.
investigating...
14:08 cyocum is now known as cyocum|afk 14:09 cyocum|afk is now known as cyocum
masak here's a boiled-down version: 14:13
rakudo: grammar G { regex TOP { ^ <foo>? $ }; rule foo { <bar> <digit>+ }; regex bar { \+ | \- } }; G.parse("+2"); say $<foo><bar>; say $/.perl; say $<foo><bar>
p6eval rakudo 5667dc: OUTPUT«+2␤Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ ast => "+2",␤ Str => "+2",␤ from => 0,␤ to => 2,␤ named => {␤ 'foo' => [␤ Match.new(␤ ast => "+2",␤ Str => "+2",␤ from => 0,␤ to => 2,␤ named => {␤
.. '…
masak aww, it doesn't show the error at the end.
rakudo: grammar G { regex TOP { ^ <foo>? $ }; rule foo { <bar> <digit>+ }; regex bar { \+ | \- } }; G.parse("+2"); say $<foo><bar>; $/.perl; say $<foo><bar> 14:14
p6eval rakudo 5667dc: OUTPUT«+2␤Method 'postcircumfix:{ }' not found for invocant of class 'List'␤»
masak ergo, .perl is intrusive in some way.
cyocum huh
interesting
masak cyocum: ah!
rakudo: grammar G { regex TOP { ^ <foo>? $ }; rule foo { <bar> <digit>+ }; regex bar { \+ | \- } }; G.parse("+2"); say $<foo>[0]<bar>; $/.perl; say $<foo>[0]<bar> 14:15
p6eval rakudo 5667dc: OUTPUT«+␤+␤»
masak cyocum: that's what you should do in your program as well.
cyocum right
masak because of the '?'.
cyocum yes...I see that now
masak I'm not so sure this is a bug anymore.
cyocum probably not
masak it's more like the usual foreign-objects-from-PGE problem. 14:16
14:16 marshyon left
cyocum ok..thanks for the help! 14:17
masak bows
14:17 PhatEddy joined
PhatEddy Array autovivification looks much stronger than before and I am hoping to resolve RT #62948 after adding some tests from it. 14:20
Anyone interested in looking at the three proposed tests? Or at least basic versions of them? 14:21
KyleHa Sure!
mikehh rakudo (5c4b1b8) builds on parrot r40463 make test/make spectest (up to 27922) PASS - Ubuntu 9.04 amd64
masak mikehh++
PhatEddy rakudo: my @a; @a[1] = "b"; my $x = + @a.grep({ $_ eq "b"}); say $x
p6eval rakudo 5667dc: OUTPUT«Use of uninitialized value␤1␤»
PhatEddy rakudo: my @a; @a[1] = "b"; my @b = ("c", @a); say "@b" 14:22
p6eval rakudo 5667dc: OUTPUT«@b␤»
PhatEddy rakudo: my @a; @a[1] = "b"; my @b = ("c", @a); say @b
p6eval rakudo 5667dc: OUTPUT«cUse of uninitialized value␤b␤»
PhatEddy I think now the two (the first and last) would be enough ... 14:23
KyleHa I think I should look at the ticket. 8-) 14:24
PhatEddy ok - hanging about ...
14:26 cyocum left, hal9001 joined
KyleHa The patch actually includes tests. 14:26
That makes me wonder why it hasn't been applied... 14:29
PhatEddy: Your tests show that the problem is gone, but they're not written as tests the way the rest of the test suite is. 14:30
14:30 finanalyst left
PhatEddy KyleHa - how about the tests in the patch - are they better ? 14:31
pmichaud good morning #perl6
PhatEddy I realize the examples I just gave to 'rakudo:' are not ok for test suite ... 14:32
masak morn', pm.
KyleHa Yes, the tests in the patch look OK.
PhatEddy btw the last test in the patch (invliving min) may not quite work because of RT #61836 and I wouldn't plan to add that one (at least for array_extending) 14:34
14:35 jan_ joined
PhatEddy rakudo:: my @a; @a[2] = 'b'; my $m = @a.min(); 14:36
rakudo: my @a; @a[2] = 'b'; my $m = @a.min();
p6eval rakudo 5667dc: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤in sub Any::_block648 (src/gen_setting.pm:208)␤called from method Any::min (src/gen_setting.pm:217)␤called from Main (/tmp/aggFEFxfCi:2)␤»
KyleHa You could add it and fudge it. 14:37
14:39 edpratomo joined
PhatEddy There are already tests for 61836 in S03-operators/misc.t but if you still want it I would add it ... 14:41
masak is there any way I can combine qx with variable interpolation in Rakudo? 14:50
14:51 Psyche^ joined
masak finds qqx 14:52
never mind. :)
14:55 Front_slash joined 14:58 PhatEddy left
masak does .=subst return an rvalue? that is, can I chain them? 14:59
15:02 Patterner left, Psyche^ is now known as Patterner 15:06 payload left 15:10 KyleHa left
pmichaud .=subst _should_ return the object that was modified 15:13
masak hm, given and .=subst interact badly. :/ 15:14
rakudo: my $s = 'the lazy dog jumped over the foxy star'; given $s { .=subst(/(<[aeiou]>)/, {uc $0}, :g) }; say $s
p6eval rakudo 5c4b1b: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤th lzy
..dg jm…
pmichaud there seems to be something wrong with $/ in given
masak ah, so that's a known one. I suspected that.
15:14 __ash__ joined 15:15 arnsholt left 15:16 sbp is now known as the, JimmyZ joined, the is now known as sbp 15:18 KyleHa joined 15:20 donaldh left, donaldh joined 15:24 dalek joined
moritz_ hm. Rakudo does not seem "lite" or "light" to me 15:27
masak agreed.
pmichaud Relative to "Perl 6" it is. :-) 15:28
moritz_ still it's a term that will lead to disappointment
pmichaud The disappointment is likely to exist no matter what we do.
moritz_ unless somebody makes it *very* fast until April
but we can influence the kind of disappointment people will experience ;-) 15:29
pmichaud I'm not sure that we can do or say anything that makes it absolutely clear to everyone that the April release isn't Perl 6.0.0 -- some people are going to be disappointed.
sbp just call it Perl 6 2.0 Beta 15:30
then people will understand
moritz_ not.
2.0 sounds very mature
pmichaud yes, we can influence the disappointement people experience -- in some ways "Rakudo light" conveys "not completely there".
or even "not all there, but still useful"
moritz_ anyway, it's a term I could live with
sbp how about Microperl?
moritz_ rakudo is more than micro ;-) 15:31
pmichaud unfortunately "Rakudo light" also sounds like a weak beer, so ...
moritz_ it's just not "macro" yet ;-)
sbp 6.0% alcohol by volume?
doesn't sound weak to me
moritz_ so something inbetween - "Rakudo meso"
moritz_ chuckles
sbp Queen Perl Approximately 15:32
masak to me, 'Rakudo Light/Lite' sounds liek one of those dreadful low-fat products that play on people's misconseptions about food.
moritz_ anyway, it'll be better discuss this when we know what the product looks like
Su-Shee I think one can convey the message of rakudo's level of perl 6 support best with real-world usable code examples featuring what rakudo has to offer.
sbp I think it's an awesome idea, anyway
it got a lot of publicity. I heard about it elsewhere before in here!
Su-Shee optimally within typical usage scenarios like "here, this is for admis, here this for web developers, here this for computer linguists, here something for security people.." 15:33
cosimo rakudo genesis
sbp I suspect the people who will be disappointed are those who are more likely not to have looked too closely at it anyway. the people who won't feel disappointed are those more likely to be actually using it, perhaps? 15:34
cosimo i like it :)
pmichaud My wife liked "Rakudo Genesis" also
Su-Shee which I btw find very difficult to think about wihout ending up in coding xx basic modules.
masak cosimo: me too. :) maybe for the next phase or so.
sbp hmm. could name all the releases after books of the Bible
Su-Shee I like rakudo star because I can pun with rakudo starlet. ;)
pmichaud "Rakudo Star" does have a nice set of puns and interpretations that can go with it 15:35
and that's -Ofun
(books of the bible) I'm not sure I'd want to promote "Rakudo Exodus" 15:36
"Rakudo Psalms" would be interesting, though :-)
sbp Rakudo Habakkuk might be a mouthful too
Rakudo Lamentations may be too depressing 15:37
Su-Shee sbp: but pretty funny :)
KyleHa How 'bout "Rakudo Release"
sbp KyleHa: too sexual
moritz_ let's just make a Genesis.pm perl mongers group, and have it support Rakudo in some way ;-)
KyleHa Perl 6 is a sexy language.
sbp good slogan though 15:38
"Let it all out: with Rakudo Release."
Su-Shee sounds like Rakudo Relaxed Release. ;)
sbp "it" ostensibly referring to one's programmatical creativity
moritz_ condemns everybody who argues about the name to write a Perl 6 patch today
Su-Shee *hihi* 15:39
moritz_ does !op has the same precedence as op itself?
masak thinks so
sbp I would do if I wouldn't be likely to make the software worse... :-)
15:39 JimmyZ left
masak sbp: writing a patch by itself cannot harm the software. 15:39
moritz_ sbp: that's why look at patches before we appy them. So that's not a valid excuse 15:40
sbp hmm, this is a good point
got suggestions for something easy to do?
I'm about to go offline too, so make it offline haxable
moritz_ sbp: git is very good for that ;-)
sbp yeah, I mean, don't suggest anything that needs me to wade through gobs of manuals 15:41
KyleHa Gobs of manuals work well offline also. 15:42
sbp as long as I can get 'em now, sure
so, any suggestions?
KyleHa Pick a failing test and make it pass. 15:43
sbp I tried to fix the pi() thing
but just got very confused
masak rakudo: for 1,2,3,4,5 -> $a, $? { say $a } 15:44
p6eval rakudo 5c4b1b: OUTPUT«Invalid twigil used in signature parameter. at line 2, near " { say $a "␤in Main (src/gen_setting.pm:1248)␤»
masak std: for 1,2,3,4,5 -> $a, $? { say $a }
p6eval std 27922: OUTPUT«ok 00:03 41m␤»
masak submits rakudobug
rakudo: sub foo($a, $?) { say $a }; foo("OH HAI") 15:45
std: sub foo($a, $?) { say $a }; foo("OH HAI")
p6eval rakudo 5c4b1b: OUTPUT«Invalid twigil used in signature parameter. at line 2, near ") { say $a"␤in Main (src/gen_setting.pm:1248)␤»
std 27922: OUTPUT«ok 00:04 39m␤»
15:47 nihiliad joined 16:08 sri_kraih left, bionoid joined 16:09 mberends joined
mberends ahoy, Destroyer 16:10
phenny mberends: 10:03Z <masak> tell mberends in src/setting/Temporal.pm, line 123-124, $jd and $.time.second have the same multiplicative factor, despite being of different units. this puzzles/concerns me -- what am I missing?
mberends: 12:23Z <masak> tell mberends non-destructive beauty patch to Temporal.pm: gist.github.com/164752 -- I'd apply it myself, but suddenly felt a review wouldn't hurt.
masak mberends: oh hai. left some messages for you. :)
mberends masak: you're missing valid code from me ;)
all epoch values should be seconds, including fractional part, and .epoch returns days :/ 16:11
masak that explanation just made me more confused. :/
couldn't you just fix it and say "it should be like this"? :P 16:12
moritz_ "it's wrong" is the version, no?
mberends like moritz_ said
I'll fix it during commute this evening :) 16:13
masak thank you.
I'll add, in the atmosphere of general grumpiness, that I don't like the fact that S32-Temporal contains a lot of implementation code. 16:14
there should be better ways of specifying it that don't tie implementations down to particular lines of code.
mberends *nod
masak if I find the tuits, I might beat S32-Temporal into the shape I'd prefer. 16:15
also, did p6l ever discuss a Temporal::Interval?
pmichaud masak++ wields his +4 Sledgehammer of Software Reshaping again...
mberends of course that would be very nice. and Interval would be a cool addition 16:16
moritz_ ENOTENOUGHBIKESHEDDING?
masak I agree that we all agree too much.
moritz_ can't argue about that ;)
pugs_svn r27923 | kyle++ | [t/spec] apply patch from (Ronald Schmidt)++ for RT #62948 16:17
masak with Interval in the mix, one could define C<Time - Time>, C<Time + Interval> and C<Time - Interval>.
mberends could that do multi dispatch on just the return type, eg seconds, days, ... 16:18
__ash__ is there a specific syntax for calling a role's method indirectly? i know with a class there is a whole bunch of ways of doing it (in S12-methods/indirect.t) and those seem fine, but they don't work with a role
moritz_ __ash__: after composition, a method from a role and from a class should be indistinguishable 16:19
rakudo: role B { method foo { say "YaY" } }; class A does B { }; A.new."foo"
p6eval rakudo 5c4b1b: ( no output ) 16:20
moritz_ it works locally here
I wonder what's wrong with p6eval
masak mberends: not sure I understood that. 16:21
__ash__ mortiz_: but if you say override a method from the role you loose the ability to call it (see gist.github.com/164492 ), thats the reason i want to call it explicitly, it works with classes but not with roles
masak mberends: ok, so what about the patch? :)
moritz_ __ash__: uhm, Logger2::log self, $msg; is a sub call, not a method call 16:22
__ash__ lines 20-23 of that gist were the only way I could come up with calling a roles method explicitly
moritz_ rakudo: role B { method foo { say "YaY" } }; class A does B { method foo { say "Oh NOEZ" } }; A.new.B::foo()
p6eval rakudo 5c4b1b: OUTPUT«Method 'B::foo' not found for invocant of class 'A'␤»
__ash__ mortiz_: in the spec your suppose to do (within a method) self.RoleName::methodname but its not working in rakudo, according the test spec, thats why i was kinda looking for a work around for now 16:23
mberends masak: gist lines 20-23 looks as if you're only adding a few spaces 16:24
moritz_ rakudo: role B { method foo { say "YaY" } }; class A does B { method foo { say "Oh NOEZ" } }; say A.WALK(:name<foo>).join(', ')
p6eval rakudo 5c4b1b: OUTPUT«foo␤»
moritz_ __ash__: s/mortiz/moritz/ ;-)
masak mberends: yes, it's not an important change. I just made the <=> operators line up. 16:25
same with 32-33.
moritz_ __ash__: maybe there's some way to do it with WALK - I'm not sure though
__ash__ moritz_: one work around I did before was call .^methods then look for the one I wanted in the list 16:26
mberends masak: gist line 43 adds the seconds-within-day to the day, I don't remember the spec for that but the code makes sense (is there a fractional second part included?)
__ash__ maybe i'll wait for someone to implement self.Role::meth :P 16:27
moritz_ __ash__: or do it yourself ;-)
impatience++
masak mberends: let me try and see if I understood you by repeating back what you just said. 16:28
__ash__ moritz_: lol, well considering i started playing with parrot like a week ago, sure thing, but i probably won't see anything productive for like a month while i figure some of this stuff out
mberends nononono
moritz_ __ash__: having a concrete goal in mind often helps, IMHO
masak mberends: the .epoch method on Temporal::Time should return an integral number in the unit of days.
mberends nono 16:29
masak :)
KyleHa I seem to have b0rked my 'git-svn' working directory.
moritz_ KyleHa: git checkout .; git reset --hard HEAD # gets rid of all local changes
masak mberends: it was so much easier to talk to you face-to-face. :P
moritz_ warning: possiblity of data loss :)
mberends .epoch should return in the unit of seconds
masak ok. good. 16:30
I'll continue:
$jd is in the unit of days.
__ash__ moritz_: is there a way for a method to say what its bound too?
if anything 16:31
masak therefore, there is a conversion factor between $jd and what .epoch should return, of 86400.
mberends therefore it also needs ($jd -2440588) * 24 * 3600, and then your patch
moritz_ __ash__: not sure... maybe you can get the invocant type by introspecting the signature
masak mberends: I can apply both, right away.
mberends yesyes
masak so multiply by 24*60*60, and then subtract the magical number, yes? 16:32
mberends ok
__ash__ rakudo: class A { method foo { ... }}; say &A::foo.signature;
mberends no
p6eval rakudo 5c4b1b: OUTPUT«Signature()<0xb66bc0d8>␤»
masak no?
mberends masak: parens first
masak mberends: ($jd - 2440588) * 24 * 60 * 60
mberends ok 16:33
masak patches
mberends what does that say about the spectests? :P
16:36 beggars joined
masak same as always, I'd guess: that despite fantastic efforts from many people, we have too few of them. 16:36
mberends 100% 16:37
moritz_ and in this case we had only tests from the implementor
which is better than no tests, but still suboptimal
mberends that's always a bad idea
masak "the implementation conforms to my biased view of it" :) 16:38
mberends :)
so, I can write some more tests then?
dalek kudo: 212b145 | masak++ | src/setting/Temporal.pm:
[Temporal.pm] fixed formula in epoch

changed the names of a few local variables to make parameter passing prettier.
16:39
__ash__ moritz_: maybe an easier place for me to start is adding 'is Class;' to the inside of a class definition... I noticed that doesn't work, 'does Role;' works however maybe that will help me understand how parrot's working better
moritz_ sadly sometimes I don't understand the specs until somebody implements them
masak mberends: you have my official permission.
moritz_ dalek: welcome back 16:40
mberends keep the supply of forgiveness handy ;)
pugs_svn r27924 | moritz++ | [t/spec] unfuduge infix:<!%> tests for rakudo
r27925 | moritz++ | [t/spec] tests for RT #67976
16:40 xomas_ joined
KyleHa moritz++ # sharing the git-fu 16:43
masak rakudo: ((Temporal::DateTime.new(date => Temporal::Date.new(:year(2010), :month(4)), time => Temporal::Time.new()).epoch - Time.gmtime.epoch) / 86400).ceiling.fmt("%d days left until April!").say 16:44
p6eval rakudo 5c4b1b: OUTPUT«0 days left until April!␤»
masak ok, my patch hasn't gone in yet.
it's really 235 days.
dalek kudo: 5517d80 | moritz++ | src/ (2 files):
implement infix:<!%>
kudo: 75d2b7d | moritz++ | src/setting/Any-list.pm:
simplify List.kv
kudo: 7d06fad | dakkar++ | src/ (2 files):
moved kv to setting
pmichaud moritz++ # applying dakkar++'s patches
16:49 pmurias_ joined
pmurias_ how large is the git-svn clone of the entrie pugs history? 16:50
moritz_ for just the 't/' sub dir the corresponding .git dir is 15M
never tried the whole thing 16:51
maybe KyleHa++ can share his, he has a clone, I just don't know if it contains the full history
KyleHa Mine's 203M. 16:52
moritz_ KyleHa: could you delte the *.rakudo files, tar it and upload it somewhere?
*delete* 16:53
KyleHa Okeydoke. 16:54
moritz_ (the problem with git-push'ing is that it doesn't preserve the svn meta data, thus making it harder to svn-dcommit)
KyleHa I don't know how git-svn does authentication. If someone does a dcommit from this, I wonder if it would commit as me. 16:55
moritz_ KyleHa: the crecendials should be stored in .subversion/auth, not in the .git/*
KyleHa Oh good. 16:56
16:57 fridim_ left
KyleHa Hmm. Where can I drop 91M? 16:58
pmurias_ moritz_: so what is the prefered way of getting the pugs repo into git-svn? 16:59
moritz_ do you have an account on feather?
pmurias_ yes 17:00
moritz_ pmurias_: obtaining a copy from KyleHa++ ;-)
that question was meant for KyleHa ;)
KyleHa Here ya go: 71.194.15.106/pugs.tar.bz2
moritz_ downloads
masak seems at one time we had a Temporal::Duration, but it was removed on Feb 19 by autarch. 17:01
pmichaud I haven't had this much fun writing blog posts and articles in years. :-) 17:02
masak pmichaud++
moritz_ and I had much fun reading them 17:03
KyleHa: is that your home computer? if yes I wish I had as much upstream bandwidth as you have ;-)
KyleHa Yes, it's my home computer.
moritz_ wow
pmichaud latest muse: use.perl.org/comments.pl?sid=43556&cid=69932 17:04
(and I'm generally rejecting "Rakudo Light" for now, fwiw)
KyleHa I'm too lazy to figure out how to get it up on the corp computers with a real connection. 17:05
moritz_ I'm putting a copy up on feather now
KyleHa I've seen that name floating around. What is feather? 17:06
pmichaud KyleHa: feather.perl6.nl is a server for general Perl 6 development
pmurias_ run by Juerd++
with accounts avalible for all interested in perl 6 development 17:07
KyleHa What do folks do with it (more specifically than "general Perl 6 development")?
pmichaud KyleHa: it hosts the pugs subversion repository, and perl6-projects.org
moritz_ KyleHa: perl6-projects.org and pugscode.org are hosted on it...
pmichaud many of us use it as our permanent irc presence
moritz_ also the bot 'dalek' runs on it, people have there screen+irssi sessions running on it 17:08
KyleHa That explains it; thanks all. 8-) 17:09
cognominal thx, pmichaud, for the <! before ...> answer
pmichaud cognominal: you're welcome.
masak food & 17:10
17:10 abra left 17:11 masak left
pugs_svn r27926 | azawawi++ | [spec_highlight] Copy resources as needed 17:12
17:13 Khisanth joined
__ash__ moritz_: if i make any progress on explicitly calling a function like self.Class.method is anyone else working on that right now? 17:14
moritz_ __ash__: no idea 17:15
pugs_svn r27927 | azawawi++ | [perl6] preparing to move std highlighter stuff into a sub directory
__ash__ eh, well if i get anything useful out of it i'll let you know, anyway, i gotta run, cya
moritz_ ciao 17:16
17:16 __ash__ left
pugs_svn r27928 | azawawi++ | [std_hilite] moved all STD highlighter stuff under src/perl6/std_hilite 17:18
17:21 frew joined 17:22 zamolxes joined
pugs_svn r27929 | azawawi++ | [std_hilite] fixed relative path after move 17:22
17:23 mikehh_ joined
pmurias_ Whiteknight: what was the problem with using boehm with parrot? 17:28
17:29 Su-Shee_ joined 17:31 Su-Shee left 17:32 KyleHa left 17:33 Su-Shee_ is now known as Su-Shee
pugs_svn r27930 | azawawi++ | [std_hilite] made it work 17:37
moritz_ the git-svn copy of pugs can now be found at pugscode.org/files/pugs.tar.bz2 17:38
pugs_svn r27931 | azawawi++ | [std_hilite] ignore temporary stuff
17:39 mikehh left
pmurias_ moritz_: wouldn't it be smaller if it only contained to .git? 17:41
moritz_ pmurias_: it would 17:43
Whiteknight pmurias_: no particular problem that I was aware of. Some issues needed to be resolved involving PMC destructors and ensuring that they are called correctly 17:45
but not insurmountable
pmurias_ Whiteknight: destructors in a cycle seem problematic judging from the bohem docs 17:47
Whiteknight: i'm thinking of using a gc for smop and i think using a premade things would be better then writing a half-baked implementation myself
Whiteknight ok 17:48
I haven't had the time to really dig into Boehm yet
so I don't know all the details
17:48 netsquire joined
pmurias_ any alternatives you know of? 17:48
Whiteknight none that should be so transparently pluggable, no 17:49
I could look around for you
17:49 kane_ joined
Whiteknight anyway I have to sign off, I'll talk to you ltaer 17:49
later*
pugs_svn r27932 | azawawi++ | [std_hilite] fixed destination path 17:50
17:50 Whiteknight left 17:55 tomaw_ is now known as tomaw- 17:58 frew left 18:03 tann joined 18:24 itz_ left
colomon I just built Chicago on my 64-bit Linux machine. t/spec/S03-operators/autoincrement-range.rakudo failed in the spec tests. Is this expected? 18:27
"Bad plan. You planned 96 tests but ran 33." 18:28
18:30 netsquire left 18:31 daemon left 18:32 mberends left
moritz_ colomon: I don't think so, but I recommend updating to the latest developer version ;-) 18:40
18:46 __ash__ joined
pugs_svn r27933 | azawawi++ | [std_hilite] cleanup lex 18:48
18:56 KyleHa joined 19:00 payload joined
colomon moritz_: I already did! Just realized I did a git clone of today's repo instead of grabbing the Chicago version. 19:00
I'm off to the movies now... 19:01
19:06 arnsholt joined 19:08 Front_slash left 19:15 thei0s joined, thei0s left 19:18 Whiteknight joined 19:20 donaldh left, donaldh joined
pugs_svn r27934 | azawawi++ | [std_hilite] try to make it work for now 19:32
moritz_ somebody on #perlde pointed out that there was no license information on rakudo.org 19:34
any idea to which section I should add it?
pmichaud Documentation would be my guess for now. 19:41
std: :foo\ ("bar")
p6eval std 27934: OUTPUT«ok 00:04 37m␤»
moritz_ rakudo: say 'foo' ~ /<+[a..z]-[f]>+/ 19:51
p6eval rakudo 5517d8: OUTPUT«foo_block51␤»
moritz_ rakudo: say 'foo' ~~ /<+[a..z]-[f]>+/
p6eval rakudo 5517d8: OUTPUT«oo␤»
19:53 iblechbot joined
moritz_ rakudo: say 'foo' ~~ /<+alpha-[f]>+/ 19:56
p6eval rakudo 5517d8: OUTPUT«oo␤»
19:57 lionWrk joined 20:07 LionMadeOfLions left 20:08 rfordinal left 20:09 rfordinal joined 20:11 damyan^ joined, damyan left 20:12 pmurias_ left 20:13 xomas_ left 20:14 xomas_ joined 20:16 iblechbot left 20:17 KyleHa left 20:20 rfordinal3643 joined, rfordinal left
dalek kudo: 61f269d | pmichaud++ | docs/ROADMAP:
First ROADMAP update for Rakudo Star.
20:34
20:45 smash joined 20:52 nErVe joined 20:56 Whiteknight left 20:58 edpratomo left 20:59 masak joined
masak evening, perl6ers. 20:59
moritz_ oh hai
masak rakudo: my $x = bar => [ baz => 42, sloth => 43 ]; my $y = :bar[ baz => 42, sloth => 43 ]; say .kv.perl for $x, $y 21:00
p6eval rakudo 61f269: OUTPUT«["bar", ["baz" => 42, "sloth" => 43]]␤["bar", "baz" => 42, "sloth" => 43]␤»
masak is this a bug? if so, is it new?
moritz_ .kv changed recently 21:04
today, that is
21:04 hal9001 left
masak it got ported into the setting, no? 21:04
moritz_ yes
so it seems to pick up the one from Any-list.pm 21:05
and not the one from Pair
masak but surely the spectests would've caught this...
moritz_ t/spec/S32-array/kv.t still passes. 21:06
masak then it has too few tests. 21:07
21:07 nErVe left
moritz_ rakudo: my $p = foo => 'bar'; say $p.keys 21:07
p6eval rakudo 61f269: OUTPUT«0␤»
masak o_O
moritz_ rakudo: my $p = foo => 'bar'; say $p.key
p6eval rakudo 61f269: OUTPUT«foo␤»
moritz_ uhm.
masak: do you agree that Pair.keys should return the same as Pair.key? 21:08
masak yes, but possibly in a List.
moritz_ rakudo: my $x = bar => [ baz => 42, sloth => 43 ]; my $y = :bar[ baz => 42, sloth => 43 ]; say .kv.elems for $x, $y
p6eval rakudo 61f269: OUTPUT«2␤3␤»
moritz_ rakudo: my $x = bar => [ baz => 42, sloth => 43 ]; my $y = :bar[ baz => 42, sloth => 43 ]; say .perl for $x, $y 21:09
p6eval rakudo 61f269: OUTPUT«"bar" => ["baz" => 42, "sloth" => 43]␤"bar" => ["baz" => 42, "sloth" => 43]␤»
moritz_ so they are different under the hood, but return the same .perl output?
rakudo: my $x = bar => [ baz => 42, sloth => 43 ]; my $y = :bar[ baz => 42, sloth => 43 ]; say $x eqv $y
p6eval rakudo 61f269: OUTPUT«1␤»
moritz_ rakudo: my $x = bar => [ baz => 42, sloth => 43 ]; my $y = :bar[ baz => 42, sloth => 43 ]; .WHAT.say for $x, $y 21:11
p6eval rakudo 61f269: OUTPUT«Pair()␤Pair()␤»
moritz_ rakudo: my $x = bar => [ baz => 42, sloth => 43 ]; my $y = :bar[ baz => 42, sloth => 43 ]; say kv($_).perl for $x, $y 21:12
p6eval rakudo 61f269: OUTPUT«[0, "bar" => ["baz" => 42, "sloth" => 43]]␤[0, "bar" => ["baz" => 42, "sloth" => 43]]␤»
moritz_ rakudo: my $x = bar => [ baz => 42, sloth => 43 ]; my $y = :bar[ baz => 42, sloth => 43 ]; .PARROT.say for $x, $y
p6eval rakudo 61f269: OUTPUT«Perl6Pair␤Perl6Pair␤»
21:13 Su-Shee left
moritz_ hm, calling @.values seemed to be not my brightest idea 21:22
masak moritz_: I'll submit the bug if you add the test. :) 21:24
moritz_ masak: ok; I've turned it into 8 tests already
masak :)
moritz_ but I try to get more of them passing before submitting them 21:25
masak hm, isn't the idea that they should fail?
21:25 molaf left
moritz_ no; the idea is to fix rakudo so that they pass ;-) 21:25
masak: have you got a bug number for me already? 21:26
masak soon.
21:26 mike joined, mike is now known as Guest52299
Guest52299 perl6: say 4; 21:26
p6eval elf 27934, pugs, rakudo 61f269: OUTPUT«4␤»
moritz_ masak: somehow I suspect it's a dispatching bugs wrt colon pairs 21:27
Guest52299 perl6: say "test"
p6eval elf 27934, pugs, rakudo 61f269: OUTPUT«test␤»
moritz_ rakudo: multi a(*@b) { 'slurpy' }; multi a(Pair $x) { 'Pair' }; my $x = :a; my $y = a => True; say a($x); say a($y) 21:28
p6eval rakudo 61f269: OUTPUT«Pair␤Pair␤»
moritz_ not that easy, it seems :/
Guest52299 perl6: my $c = { state $n; return ++$n; }; say $c(); say $c(); 21:30
p6eval elf 27934: OUTPUT«Unknown rule: scope_declarator:state␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
..pugs: ( no output )
..rakudo 61f269: OUTPUT«Can't return outside a routine␤in Main (/tmp/ZiThTezyPq:2)␤»
moritz_ Guest52299: try it without the 'return', simply ++$n;
Guest52299 thanks. 21:31
perl6: my $c = { state $n; ++$n; }; say $c(); say $c();
p6eval pugs, rakudo 61f269: OUTPUT«1␤2␤»
..elf 27934: OUTPUT«Unknown rule: scope_declarator:state␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
Guest52299 It seems that state is yet to be implemented.
moritz_ why?
masak rt.perl.org/rt3/Ticket/Display.html?id=68356
moritz_ pugs and rakudo both give the same, correct result
masak Guest52299: jnthn implemented state several months ago. 21:32
jnthn++, I mean. :)
pugs_svn r27935 | moritz++ | [t/spec] tests for .kv on Pair objects, RT #68356
Guest52299 :-)
moritz_ just elf is lagging behind
Guest52299 I'll install perl6 locally and stop spamming perl6: here.
moritz_ Guest52299: rakudo.org/how-to-get-rakudo 21:33
pugs_svn r27936 | mberends++ | add a more robust test for DateTime.epoch(), using the current date/time
21:34 mberends joined
Guest52299 Thanks, mortitz. 21:36
s/rt/r/
masak mberends++ # new test looks good 21:39
mberends :) thanks for showing the need :)
moritz_ masak: are you "blocking" on the .kv bug? 21:40
masak moritz_: sorta.
new finds: S02 still refers to C<Instant> and C<Duration>, even though the former was renamed C<DateTime> and the latter removed.
moritz_ masak: I can't find any easy solution for now. I'm thinking about reverting the kv move 21:42
at least for now
masak moritz_: are you sure that's what caused it?
moritz_ masak: I'll try it with reversal, and if it fixes it, I'll push 21:43
masak moritz_: sounds good.
moritz_ wants ins2 merged 21:45
moritz_ wants it rather badly
recompiling the setting takes too long
when ins2 is landed, I can try to compile the .pm files separately
so that it can be parallelized 21:46
masak: reverting the moving doesn't change anything about those failing tests 21:47
cognominal I have posted from google group to p6l but it did not made thru the moderators : The specs both have a role Cat and a mammal Cat, My understanding is that anc class live in the same namespace so that would be a problem 21:48
masak moritz_: ok. no worries.
moritz_ masak: do you know a last "good" revision so that I might start a bisect?
masak moritz_: as far as I know, it's never been right. 21:49
s/it's/it might/
moritz_ masak: then it might be a bug with :foo[...] syntax
rakudo: for :foo[3, 4].<foo> { .say } 21:50
p6eval rakudo 61f269: OUTPUT«Method 'postcircumfix:{ }' not found for invocant of class 'Perl6Pair'␤»
masak aye.
moritz_ rakudo: for %(:foo[3, 4]).<foo> { .say }
p6eval rakudo 61f269: OUTPUT«34␤»
moritz_ rakudo: for %(foo => [3, 4]).<foo> { .say }
p6eval rakudo 61f269: OUTPUT«34␤»
moritz_ rakudo: for :foo[3, 4].value { .say } 21:52
p6eval rakudo 61f269: OUTPUT«3␤4␤»
moritz_ rakudo: for (foo => [3, 4]).value { .say }
masak rakudo: my($a) = 5; say 'alive'
p6eval rakudo 61f269: OUTPUT«34␤»
rakudo 61f269: OUTPUT«alive␤»
masak submits rakudobug
std: my($a) = 5; say 'alive' 21:54
p6eval std 27936: OUTPUT«Potential difficulties:␤ Variable $a is not predeclared at /tmp/Z0pfKPhMkf line 1:␤------> my($a⏏) = 5; say 'alive'␤Undeclared routine:␤ my used at 1 ␤ok 00:02 38m␤»
moritz_ rakudo: say :foo[3, 4].value.PARROT 21:55
p6eval rakudo 61f269: OUTPUT«Perl6Array␤»
moritz_ rakudo: say (foo => [3, 4]).value.PARROT
p6eval rakudo 61f269: OUTPUT«Perl6Array␤» 21:56
masak g'night, folks. 22:05
22:05 masak left
dalek kudo: 7dd4463 | pmichaud++ | src/parser/ (2 files):
(STD tracking) <...> and <<...>> are now circumfix: instead of quote:
22:12
pmichaud the problem with :foo[3,4] is a bug in parsing colonpairs 22:13
I worked on it over the weekend (on the plane) but it's sufficiently tricky that I've been stuck on it most oft he day
moritz_ good to know 22:14
pmichaud: what does 'mob' stand for? (in the PGE source code) 22:15
pmichaud "match object"
moritz_ ah, so easy... ;-) 22:16
frettled heh :)
22:17 whoisthatgoksie joined
moritz_ just found the dbdi-dev maling list 22:17
frettled I've forgot something again: multi-line comments, what was the conclusion (if there was one) to that?
22:17 __ash__ left
pmichaud frettled: you mean #( ... ) ? 22:17
frettled: or do you mean =begin ... =end ?
frettled pmichaud: 􏿽xAByes􏿽xBB 22:18
22:18 __ash__ joined
pmichaud there was discussion in lisbon that we might get rid of the curly brace form, though , so that #{ ... would be a line comment 22:18
22:19 __ash__ left 22:20 __ash__ joined, __ash__ left, __ash__ joined
frettled pmichaud: ah, yes, on the form: foocode bleh blurgh #{ oh, the humanity } barcode fnord? 22:21
22:24 __ash__ left
whoisthatgoksie ' ' 22:24
mberends frettled: #{ will work just like # if it is the first text on the line 22:25
frettled mberends: Aha. I remember that we had a semi-lively discussion regarding this during the NPW Hackathon.
pmichaud Correct.
frettled But I'd completely forgotten the conclusion, if there was one. 22:26
pmichaud It continued into Lisbon :-)
frettled :)
pmichaud the conclusion at NPW was not to change anything (yet)
at Lisbon the conclusion was "maybe change something"
frettled mm.
pmichaud we were also discussing the merits of a #= form of comment
frettled I don't recall which POV I advocated at NPW.
ISTR that it may have been something about not using a syntax that would accidentally change a uncommented piece of code block into a run-away multi-line comment. 22:27
That #{ works just like # if it's the first text on the line would work nicely in that regard, although it breaks the semantics of the idea that it should close on the first }. It's a tough one to crack. 22:28
pmichaud that's why we're thinking of disallowing #{...} altogether
i.e., #{...} would never be a comment.
frettled yep.
pmichaud well, it'd be a line comment -- it would never be an embedded comment
frettled . o O ( A loop() comment? What would that look like? ) 22:29
22:35 __ash__ joined
dalek kudo: f489207 | pmichaud++ | build/gen_whatever_pir.pl:
Add Whatever forms of some prefix operators.
22:36
22:38 nacho_ joined
moritz_ pmichaud++ 22:41
now say ~<40 5 7 10>.sort: +* works
22:41 payload left
dalek kudo: bf5ed94 | (Martin Berends)++ | src/builtins/eval.pir:
Also pass the 'ver' pmc as a named parameter to sub 'require', for

on Rakudo builds prior to the Lisbon Walkathon, it triggered a GC bug during t/01-sanity/07-isa.t but it does not do that now.
22:41
kudo: e690c9f | (Martin Berends)++ | :
Merge branch 'master' of [email@hidden.address]
pmichaud Yes. That fix has been in my local commit since Friday, but I couldn't push the lot because I was blocking on the :pair[1,2,3] stuff
I finally cherry-picked the patches out because I don't have a quick fix for the pair stuff
22:42 payload joined
moritz_ sent two simple patches to dbdi folks and now goes to bed 22:45
frettled pmichaud: what's :pair[1,2,3] supposed to do? 22:46
pmichaud frettled: same as :pair([1,2,3])
originally it was parsed using postcircumfix:<[ ]> though, which is what Rakudo did. But we've since decided that it's really more like the circumfix:<[ ]> form instead
switching Rakudo to use the circumfix:<[ ]> form involves a number of tricky little internal changes. Also STD.pm has changed in a number of other significant ways over the past few months, so we'd need to catch up with some of those as well 22:47
frettled (ouch, I forgot that Firefox tends to go bananas when I look at the synopses) 22:49
22:50 monsterfi joined, monsterfi left 22:56 FCO joined 23:00 whoisthatgoksie left 23:09 M_o_C left, moren joined 23:13 beggars left 23:15 SmokeMachine left 23:20 donaldh left, donaldh joined 23:21 moren left
pugs_svn r27937 | pmichaud++ | [t/spec]: Unfudge some whatever.t tests (RT #68004) 23:26
dalek kudo: 4786eb8 | pmichaud++ | src/ (2 files):
Move .end() from builtins (PIR) into setting (P6).
23:28
kudo: 39cc848 | pmichaud++ | :
Merge branch 'master' of [email@hidden.address]
23:40 Psyche^ joined
__ash__ can you use … iinstead of ...? (unicode version of ...) 23:53
pmichaud it's not defined that way, no.
23:56 Patterner left, Psyche^ is now known as Patterner