pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/
Set by mncharity on 5 January 2009.
jnthn cspencer: It should. 00:03
cspencer ok, so that's a rakudo peculiarity then? :)
jnthn cspencer: Yes, rakudo bug.
cspencer ok, thanks!
00:07 sri_kraih left, iblechbot left 00:14 riffraff left 00:17 DemoFreak left
rakudo_svn r35325 | pmichaud++ | [rakudo]: Revert r35323 -- we're going to take a different approach. 00:30
00:46 plantanran joined 00:50 brunoV joined 01:01 Limbic_Region left 01:03 pcbuetow left 01:07 ryanc left 01:26 cspencer left 01:39 cornelius__ joined 01:42 p6eval left, p6eval joined 02:15 hercynium joined 02:19 mdxi joined 02:25 eternaleye joined 02:36 wknight8111 left 02:39 hudnix left
s1n perl6: (1..10 :by(3)).say 02:52
p6eval elf 24850: OUTPUT«Parse error in: /tmp/njIdXH0QLU␤panic at line 1 column 13 (pos 13): No previous operator visible to adverbial pair ([#<Match:0x81e311c @on_str="(1..10 :by(3)).say", @from=7, @to=13, @bool=true, @hash={:value=>#<Match:0x81e3158 @on_str="(1..10 :by(3)).say", @from=8, @to=13,
..@bool=...
..pugs: OUTPUT«*** ␤ Unexpected ":by"␤ expecting operator or ")"␤ at /tmp/vt0IRE1u4o line 1, column 8␤»
..rakudo 35327: OUTPUT«Statement not terminated properly at line 1, near ":by(3)).sa"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
s1n can anyone tell me what's wrong with that statement? 02:53
something similar is in S03-operators/range-by.t 02:56
perl6: 1..10:by(2) 02:59
p6eval elf 24850: OUTPUT«Parse error in: /tmp/1JtBeCy3Ow␤panic at line 1 column 11 (pos 11): No previous operator visible to adverbial pair ([#<Match:0x81e55d4 @on_str="1..10:by(2)", @from=5, @to=11, @bool=true, @hash={:value=>#<Match:0x81e5714 @on_str="1..10:by(2)", @from=6, @to=11, @bool=true,
..@hash={:...
..pugs: OUTPUT«*** ␤ Unexpected ":by"␤ expecting "_", fraction, exponent, term postfix or operator␤ at /tmp/tn7vTv3lmp line 1, column 6␤»
..rakudo 35327: OUTPUT«Statement not terminated properly at line 1, near ":by(2)"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
s1n perl6: 2..1:by(-1) 03:00
p6eval rakudo 35327: OUTPUT«Statement not terminated properly at line 1, near ":by(-1)"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
..pugs: OUTPUT«*** ␤ Unexpected ":by"␤ expecting "_", fraction, exponent, term postfix or operator␤ at /tmp/vSkYD5vMta line 1, column 5␤»
..elf 24850: OUTPUT«Parse error in: /tmp/rmKdy1sPLC␤panic at line 1 column 11 (pos 11): No previous operator visible to adverbial pair ([#<Match:0x81c9780 @on_str="2..1:by(-1)", @from=4, @to=11, @bool=true, @hash={:value=>#<Match:0x81c9884 @on_str="2..1:by(-1)", @from=5, @to=11, @bool=true,
..@hash={:...
TimToady s1n: basically, no one implements :by yet 03:01
though STD parses it okay
s1n TimToady: isn't there a 'std:' parser i can try in here?
TimToady std: (1..10 :by(3)).say 03:02
p6eval std 24850: OUTPUT«00:05 85m␤»
TimToady that means it likes it
s1n oh okay, great 03:03
that helps identify bugs versus unimpl.
TimToady dinner & 03:04
s1n std: $t = ([+] (1..10 :by(2))) + ([+] (1..10 :by(3))) 03:06
p6eval std 24850: OUTPUT«00:08 124m␤»
s1n std: (([+] (1..10 :by(2))) + ([+] (1..10 :by(3)))).say 03:08
p6eval std 24850: OUTPUT«00:07 123m␤»
03:20 fridim joined 03:27 jiing left 03:30 meppuru joined 03:31 meppl left 03:37 unobe joined 03:46 meppuru is now known as meppl 03:47 cornelius__ left 03:56 kisu left 03:57 mtnviewmark joined 03:58 fridim left 04:01 elmex_ joined
pugs_svn r24851 | pmichaud++ | [t/spec]: fudge one test in for.t for rakudo. 04:02
04:03 mtnviewmark left 04:05 kisu joined 04:17 elmex left, ChrisDavaz joined, elmex_ is now known as elmex 04:20 km2 left 04:22 justatheory left 04:37 japhb_ joined 04:38 japhb left 04:40 araujo left 04:52 aindilis` joined 05:06 aindilis left 05:54 athenot left
rakudo_svn r35330 | pmichaud++ | [rakudo]: Update .PARROT method. 06:10
r35331 | pmichaud++ | [rakudo]: Remove obsolete src/classes/Scalar.pir .
06:12 literal left 06:21 literal joined
rakudo_svn r35332 | pmichaud++ | [rakudo]: Remove a couple of outdated Perl6Scalar items. 06:30
r35332 | pmichaud++ | Now we can start using it again.
07:08 ejs joined 07:10 mberends joined 07:25 japhb_ left 07:27 japhb_ joined 07:30 alc joined 07:39 lauct left
azawawi hi 07:47
07:48 vixey joined 07:50 araujo joined 07:54 hudnix joined 07:56 hercynium left 08:11 kisu_ joined 08:19 kisu left 08:20 azawawi left 09:00 maerzhase joined 09:02 maerzhase1 joined, maerzhase left 09:06 maerzhase1 left, maerzhase joined 09:19 alc left 09:34 jimmy_ joined 09:39 jimmy_ left, cornelius__ joined 09:42 cornelius__ left 09:48 ejs left 09:50 iblechbot joined 10:40 pmurias joined 10:49 Chillance joined 10:53 duke_leto joined 11:01 masak joined 11:02 spx2_ joined
mberends hi masak, that was a long sleep 11:02
masak mberends: hi. it was.
mberends I made a way for you to use my 'make test' without formatting your hard drive 11:03
masak how convenient.
masak tries
mberends tried the November 'make test' and got Failed 11/25 test scripts. 122/196 subtests failed. 11:04
masak mberends: did you do 'make' before? 11:06
mberends heh, that should be automatic. but yes, I did.
masak mberends: try without. i.e. 'make clean; make test'. it's slower but it passes all tests on my box.
mberends: depends on the project if it should be automatic, doesn't it? 11:07
we have problems with PIR precompilation right now.
11:07 spx2 left
mberends I didn't think of 'make clean; make test' but will try now 11:07
masak not so easy to guess, I guess.
should put up a notice in the Makefile.PL
pasteling "masak" at 130.238.45.242 pasted "what happens when I do 'make test' in perl6-examples/lib/Pod" (15 lines, 731B) at sial.org/pbot/34331 11:08
masak same result as yesterday.
maybe I should start inserting debug output at this point. 11:09
11:09 cognominal left
mberends did you pull the new Makefile? and rtfm? 'make PARROT_DIR=/masak/parrot test'? 11:10
masak I did the former, not so much the latter since yesterday.
will read again more closely. 11:11
pugs_svn r24852 | pmurias++ | [mildew] fixed -o so 11:12
mberends coincidentally, 'unable to open filehandle' is the first error I get from your test
masak mberends: heh. a nopaste of that would likely help diagnose it. 11:13
mberends: setting PARROT_DIR didn't improve matters. I already set it to the right value in ~/.bash_profile
mberends: you see the 23:32 in my paste? that's the first file it's trying to run. it doesn't exist. in fact, when the harness is called, three copies of this nonexistent filename are all that @files contains. 11:19
investigating.
masak stumbles upon the subs is_file and is_dir 11:20
my eyes, my eyes! :( 11:21
11:21 DemoFreak joined
masak you should _tell_ me when you need functionality like that, you know. it's not that hard to add to Rakudo. we already have :e, should be easy to add, uh, :f and :d, respectively, as well. 11:22
sheesh.
pasteling "mberends" at 78.33.161.227 pasted "November 'make test' stdout and stderr" (189 lines, 10.8K) at sial.org/pbot/34332 11:26
masak gracias. 11:27
11:30 duke_leto left
masak rakudo: File.new 11:30
p6eval rakudo 35336: OUTPUT«get_bool() not implemented in class 'File'␤current instr.: 'parrot;PCT;HLLCompiler;command_line' pc 1500 (src/PCT/HLLCompiler.pir:790)␤»
masak rakudo: say File.new
p6eval rakudo 35336: OUTPUT«get_string() not implemented in class 'File'␤current instr.: 'print' pc 17884 (src/builtins/io.pir:26)␤»
masak rakudo: say File.new.WHAT
p6eval rakudo 35336: OUTPUT«Method 'WHAT' not found for invocant of class 'File'␤current instr.: '_block14' pc 69 (EVAL_15:40)␤»
masak files rakudobug 11:31
11:32 mberends left 11:34 mberends joined
masak std: Regex { <digit>+ } 11:34
p6eval std 24852: OUTPUT«############# PARSE FAILED #############␤Syntax error at /tmp/S6srz8izBU line 1:␤------> Regex { <digit>+ }␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤00:05 85m␤» 11:35
mberends sorry, xchat connection lost for a mo. reviewing irclog.perlgeek.de ... 11:36
masak oki.
mberends yes please add :d and :f, I didn't consider myself worthy of asking... 11:38
masak mberends: you need to start considering yourself worthy of asking right now.
we wouldn't have gotten November as far along as we have unless we'd nagged and demanded features as we have. 11:39
mberends then qx() pretty please, I know you don't care for scripty things, but it helps me
masak mberends: hm, qx() is another matter, I'm afraid.
if you'd ever gone near Rakudo's quoting mechanisms, you'd know why work isn't done there. 11:40
I once found and fixed a bug in the quoting file.
kept me up all night.
it was "fun".
11:40 Southen joined
mberends will look at the quoting file in a few years' time 11:41
pmurias you can look how STD does quoting now ;)
masak mberends: Rakudo actually isn't that hard to understand. it's a nice codebase.
mberends: but I know quoting will be overhauled in the near or far future, so I'm reluctant to put effort in that area. 11:42
mberends will do this all be Christmas ( for some value of Christmas )
s/be/before/
c'mon it's weekend! 11:43
masak mberends: I know, and that's great. hopefully I'll have some time for C<unpack> today. 11:45
mberends who was writing about that recently? 11:46
masak dunno. I mentioned it at the end of my last blog post. 11:47
mberends: $dirname = substr( $arg, 0, $arg.chars - 1); 11:50
can be written $dirname = substr( $arg, 0, -1);
...I think.
mberends masak: I can try that very quickly 11:51
masak mberends: '23:32' happens to be the eighth field in my implementation of `ls`. 11:52
the one you're collection.
there's your bug.
it's because the date is written as two fields, 'Jan 9' 11:53
mberends there were lots of flaky problems simulating glob() by shelling 'ls -l' 11:54
so glob(), pretty please...
11:55 Southen_ left
masak mberends: yes, yes, of course. 11:57
mberends: meanwhile, isn't there another shell command you could use besides 'ls -l'?
mberends actually glob() is not so urgent if :d and :f work in-process, because this glob() can then shell 'ls' and still be reasonably fast. The 'ls -l' was a premature optimization to get name and directory mode flag in a single call. 11:58
it's so nice to chat with people who understand this stuff! 12:00
masak :)
12:00 riffraff joined
masak mberends: I'll see what I can fo about :d and :f. I suspect it's so easy that if any Rakudo devs are reading this, they're probably implementing it while having breakfast. 12:00
(so I'd better hurry before they commit) 12:01
mberends s/fo/do/
bon appetit!
12:02 DemoPhreak joined 12:03 DemoFreak left, vixey left, aindilis` left, eternaleye left, gbacon left, Blasi left, Jedai left, simcop2387 left, c1sung left, yahooooo left, edenc left, nothingmuch left, dmpk2k left, Matt-W left, drbean_ left, vixey joined, eternaleye joined, gbacon joined, Blasi joined, Jedai joined, simcop2387 joined, c1sung joined, yahooooo joined, Matt-W joined, dmpk2k joined, drbean_ joined, nothingmuch joined, edenc joined
masak mberends: oh, I already had my breakfast. I meant 'hurry adding :d and :f'. 12:04
mberends in anticipation of :d and :f my glob() will soon shell plain 'ls' and then suffer the delay of is_file() and is_dir() temporarily. For portability to masak++ 's computer. The sacrifices we have to make sometimes...
masak indeed.
12:05 spx2 joined
mberends i never liked that old glob() anyway 12:05
wait, I remember, 'ls -l' switches date format for files older than something like 3 months. This system formats it as '2009-01-10' regardless of age. naughty, naughty ls authors! 12:10
so, stat() pretty please...
masak mberends: I'm actually using Parrot's stat() to get the :d, :e and :f information. 12:11
mberends rakudo: say stat('/etc/passwd')
p6eval rakudo 35336: OUTPUT«Could not find non-existent sub stat␤current instr.: '_block14' pc 60 (EVAL_14:40)␤»
masak quick question: does :f imply anything more than !STAT_ISDIR ? 12:12
there's a STAT_ISDEV also, should I check that one as well?
mberends no, there are some overlapping flag states 12:13
masak ok, so :f is exactly the opposite of :d?
12:15 riffraff left
mberends 'perldoc -f stat' may help 12:15
masak no, not really. 12:16
ok, I have :d and :f now.
trying them out a bit before committing.
mberends \o/ 12:17
mberends patching glob() in prove 12:18
masak the commit is now sliding along the intertubes. 12:20
12:22 spx2_ left 12:28 kisu_ left
masak mberends: r35338. 12:28
12:28 kisu_ joined 12:29 kisu_ left
rakudo_svn r35338 | masak++ | [rakudo] added :d and :f filetest operators 12:30
12:30 kisu_ joined
masak mberends: oh, and I'm seeing many of the same errors you do when running the November tests on feather. 12:30
that's good news, because it means I can invesitgate them. 12:31
mberends excellent! this glob() is not healthy yet. deleting line commented # will fail with spaces in filenames, that was tripped by your 'ls -l' date format
12:31 kisu_ left 12:33 kisu_ joined
masak mberends: maybe use `find -print0 -depth 1` instead? 12:34
pmurias isn't echo better for just shell globbing 12:35
masak heads off to get food
mberends hmm, 'echo *.t' could be good. thanks 12:36
pmurias @tell ruoso how are we planning to expose operations on native time to perl6 land? 12:47
lambdabot Consider it noted.
12:55 iblechbot_ joined 12:56 Mahmoud joined
Mahmoud news? 12:56
12:56 Cantacuzenus joined
masak Mahmoud: well, Rakudo is coming along well. lots of stuff happening in November and perl6-examples. you should try out Druid if you have time. 12:59
Mahmoud i've been so away from perl6. last time i checked there were some not so well releases and people were afraid this may not be ever released
how is this release?
masak Mahmoud: Parrot is coming out in monthly releases, and has been for a long time now. 13:00
Rakudo is growing ever more stable and feature-full, but of course much remains to be done.
still, it's possible already today to write real Perl 6 applications, even though we're not at 6.0.0 yet. 13:01
Mahmoud: did that answer your question?
Mahmoud yeah, almost. is the deadline close yet?
masak Mahmoud: you mean "when will 6.0.0 come out?", right? 13:02
Mahmoud right
masak that's the 10 million dollar question. nobody has implemented Perl 6 before, so it's a bit hard to estimate.
Mahmoud not even in scale of 5s of years? 13:03
masak Mahmoud: thing is, I could give an estimate that's probably fairly precise.
Mahmoud i'm happy with that 13:04
szabgab there is a schedule for Parrot, while it is not Perl 6 it will give some base to use it
lambdabot szabgab: You have 1 new message. '/msg lambdabot @messages' to read it.
Mahmoud i understand that it's pretty hard to give a 100% correct deadline
masak but I don't want to, because then people will be able to pin me down and say that I turned out to be wrong if it takes longer. I don't want that.
13:04 iblechbot left
masak Mahmoud: if you're eager to help Perl 6 along, I suggest you help moritz_++ triaging tests. 13:04
Mahmoud masak, as you wish :) 13:05
as you wish regarding not asking about deadlines. hmmm testing, will see if i get free enough
masak Mahmoud: yes.
Mahmoud: but even more fun is downloading Rakudo Perl 6 and trying it out.
szabgab and we are working on an IDE that will server Perl 6 as well,
masak Mahmoud: that doesn't take a lot of time, and it's very rewarding. 13:06
szabgab s/will/is/
masak szabgab: oh yes, I forgot to mention that under "News" :)
szabgab :-)
Mahmoud masak, yeah!!! i'm just setting up couple of servers (jabber + freeswitch integration).. once odne, i would probably do perl6 tests
masak Mahmoud: use.perl.org/~masak/journal/38184 13:07
szabgab masak: so I am happily typing in Padre examples for unpack, nothing happens
masak szabgab: do they fall outside of the repertiore tested in unpack.t? 13:08
szabgab then I type pack and whops I get a call-tip popped up explainina how to use it ..
masak if so, it's not very surprising.
szabgab: pack is not impl in Rakudo yet.
szabgab I am talking about documentation and not implementation 13:09
masak ok.
anything I can do to help?
szabgab Padre sucks in the Perl6 docs and shows you as you type the commands
masak szabgab: oh, so you simply want an S29 entry for unpack.
szabgab well, I just want you all to start using Padre :-)
then you will add the missing entries anyway .... 13:10
masak I will start using it, promise.
szabgab which brings me to PASM and PIR, is there such documentation for either one of them I can connect to padre?
13:10 fridim joined
masak I think so. 13:11
have you checked in docs/ in the Parrot repository?
szabgab tried , but I think I don't know enough about parrot and PIR and PASM to recognize when I see it :-( 13:12
masak pmichaud will know.
szabgab I'll ask around though I hardly have any time next week 13:13
13:18 riffraff joined 13:36 cognominal joined 14:01 sjn joined
sjn o/ 14:01
www.perlworkshop.no/npw2009/cfpapers.html 14:02
Call for Papers deadline is getting close
submit your talks now! :) 14:03
14:03 alanhaggai joined
sjn oh, and right after Nordic Perl Workshop, there'll be a hackathon :D 14:04
masak \o/ 14:08
14:26 alanhaggai_ joined 14:34 wknight8111 joined 14:42 alanhaggai left 15:10 Limbic_Region joined
pugs_svn r24853 | pmichaud++ | [t/spec]: Rakudo fudge a test in passing-arrays.t. 15:15
rakudo_svn r35339 | pmichaud++ | [rakudo]: Migrate to use Perl6Scalar instead of ObjectRef for true scalars. 15:20
15:28 alanhaggai_ left, Mahmoud left 15:30 spx2 left 15:31 spx2 joined
rakudo_svn r35340 | pmichaud++ | [rakudo]: More converting of ObjectRef to Perl6Scalar. 15:50
masak perl6: say "foo" ~~ ["foo", "bar"] 15:53
p6eval elf 24853: OUTPUT«Can't call method "Str" on an undefined value at ./elf_f line 649.␤ at ./elf_f line 3861␤»
..rakudo 35339: OUTPUT«Non-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.␤current instr.: 'die' pc 15400 (src/builtins/control.pir:204)␤»
..pugs: OUTPUT«␤»
masak as far as I can surmise, Rakudo has it right here.
I think that's new since the rvar merge, too.
um, but isn't it a bit harsh to die at that error? 15:54
I mean, we're basically asking if they are of the same size and dimension.
having the two possible outcomes be 'yes' and 'DEATH' hardly seems constructive. 15:55
16:01 plantanran left 16:15 quatrix left
pmurias masak: i guess it's a bug as ~~ is *not* a hyperop 16:17
masak hm, you're right. 16:18
masak submits rakudobug
16:20 vixey left
jnthn pmurias: It desugars to one, or can do, IIRC. But it's a bug. 16:22
masak as of now, it's also a ticket.
jnthn Thanks.
masak my pleasure.
pugs_svn r24854 | pmichaud++ | [t/spec]: packages/Import.pm - module statement must be first in compunit 16:23
rakudo_svn r35341 | pmichaud++ | [rakudo]: Module declarator statements carp if not first in compunit. 16:30
masak pmichaud: ooh, 'Redeclaration of variable $foo', is that new? 16:39
jnthn masak: New in rvar. 16:41
masak nice.
jnthn Thanks to pmichaud++
pmichaud we still don't recognize 'proto' yet on those.
jnthn Shouldn't be too hard to add. 16:42
masak jnthn: how's bcanno going? is that also merged?
jnthn masak: It's not going to be.
masak oh, ok.
jnthn masak: I'll cherry-pick various bits from it.
masak: But with the rvar changes, and with wanting to try and follow STD.pm's approach more closely, it worked out better to do it differently. 16:43
masak: I have started doing that, but in trunk.
pmichaud bcanno?
jnthn I'll branch if I need to.
oh!!
pmichaud I thought bcanno merged already. 16:44
jnthn damm!
Yes, it is.
masak :)
jnthn I read bcanno and thought rakudoreg.
masak what's rakudoreg?
pmichaud I was just thinking that next week is looking very good for me to get PGE Cursor in place.
masak pmichaud: does that mean line numbers?
pmichaud masak: yes
masak \o/
pmichaud since jnthn++ did the hard part :-) 16:45
masak the rest of us get kinda sad when you retire into branches, but we often have cause for being happy when you come back :)
pmichaud I'm hoping we won't need many more long-lived branches like this. 16:46
masak sounds good.
pmichaud Maybe one for PGE refactors, although I'm thinking I may be able to do much of the work in trunk.
jnthn masak: rakudoreg is the type reigstration stuff
So we can have lowercase class names and other such things.
masak jnthn: ah, nice.
masak checks whether Druid still works after the rvar impact 16:47
seems not :/ 16:48
I see two Rakudo bugs just from watching the error messages roll by.
pmichaud file more rakudobugs! :-) 16:49
jnthn Are we over 200 yet?
masak I am, I am.
jnthn: oh yes.
pmichaud I'll be glad to point out how they aren't really bugs :-)
we're over 200 because lots of them stacked up during rvar
masak pmichaud: that's fine too. any reaction is fine.
pmichaud as soon as I get array parameters fixed I'll continue closing tickets
jnthn Me ignoring Parrot and Rakudo mostly over Christmas/New Years probably didn't help our RT count either. :-) 16:50
masak it's been kinda dull submitting bugs lately, because you haven't been putting up any resistance... :P
jnthn Next week I should be doing much Rakudo, touch wood.
masak jnthn: \o/
pmichaud resistance will soon no longer be futile.
masak pmichaud: sounds like a good title for a blog post. 16:51
hudnix OK, after years of lurking, I made a new years resolution to do some perl6 hacking, and I'm starting today.
jnthn masak: During the last week, helping get rvar to merge point was my main focus.
16:51 hercynium joined
jnthn And bytecode annotations. 16:51
Hmm...actually last week was vaguely productive. 16:52
masak hudnix: welcome to the team, then. if you have any questions, feel free to ask.
jnthn is in denial that he wrote a bunch of C code.
hudnix masak: I probably wil :)
masak rakudo: say 'hudnix++' 16:53
p6eval rakudo 35342: OUTPUT«hudnix++␤»
mberends karma hudnix 16:56
hudnix thanks :)
mberends purl: karma hudnix
masak @karma hudnix
lambdabot hudnix has a karma of 0
masak !
16:57 vixey joined
masak hudnix++ 16:57
mberends purlbug!
masak @karma hudnix
lambdabot hudnix has a karma of 1
masak mberends: purl isn't on this channel, thankfully.
mberends: btw, I found out where all the November test failures came from. 16:58
mberends pray tell!
masak mberends: it wasn't just on your box, they were introduced recently with the merge of a Rakudo branch.
that branch brought a set of improvements to Rakudo, but it also kinda trashed the November test suite.
pmichaud is november working again? 16:59
masak I'm still attempting to restore it to its former 100% pass glory.
pmichaud: haven't dared try and actually run November itself.
pmichaud okay.
masak the precompilation bug is kinda bad.
pmichaud precompilation bug? 17:00
rakudo_svn r35343 | pmichaud++ | [rakudo]: Adjust mainline execution for compunit-scoped modules.
jnthn pmichaud: Pre-compiled modules broke with the use changes.
masak pmichaud: yes... I'll have to dig out the details, because so much has happened since I discovered it yesterday.
pmichaud from before?
from before rvar?
jnthn They were, I think, the reason November didn't work in my rakudoreg branch.
masak pmichaud: think so.
pmichaud ah.
jnthn pmichaud: I believe so.
17:00 pbuetow joined
pmichaud r35343 might fix them :-) 17:01
masak ok.
wow, so this is software development in the early 21th century.
I like it.
mberends masak: re: Pod::Parser failure, the Makefile is now fine but another Rakudo bug now floors it. bisecting between r35256 (good) and r25338 (bad) currently. I want r35338, because that is masak's :f and :d filetests 17:03
masak mberends: understood. let me know if you find the exact cause. 17:04
(alternatively, let rakudobug know)
pmichaud r35311 is a very good bisect candidate, fwiw
(that was the rvar merge, I think)
masak I can attest to the a priori truth of that.
mberends who gets the blame for r35311? 17:05
masak or praise.
or annotate.
mberends $mention = ( blame | praise | annotate ); 17:06
pmichaud I blame pmichaud.
mberends testing r35310 now, 11 minutes per iteration 17:08
masak: Is the November CGI API a compatible subset of Perl 5 CGI.pm? 17:11
masak mberends: it might well be. but I wouldn't bet on it. 17:12
mberends: CGI.pm is in a constant state of deprecation in November.
mberends that's the worst answer I could get! yes would be great, no would be don't touch it, now I'll probably have to search myself. 17:13
the reason for asking is that my HTTP::Daemon would match a CGI.PM nicely 17:15
masak mberends: sorry about the answer. I simply don't know.
mberends: ISTR we borrowed heavily from p5's CGI.pm when writing it 17:16
mberends: but that's half a year ago, and it has evolved since then.
mberends: HTTP::Daemon? sounds intriguing. what does it do? any overlap with mod_perl6?
jnthn -> obchod, bbl 17:18
pmichaud having a HTTP daemon for Parrot would be very very cool. 17:19
mberends no overlap. there is a proof of concept in perl6-examples.
masak mberends: OIC. will check when time permits.
pmichaud especially since eval now supports :lang :-)
17:20 athenot joined
rakudo_svn r35345 | pmichaud++ | [rakudo]: Eliminate unused !COPYPARAM function. 17:20
masak I noticed, btw, that the :lang parameter seemed to accept mostly names of implementations. that's a bit counterintuitive, IMO.
pmichaud we'll probably do mapping of language-to-implementation somewhere. 17:21
we just haven't gotten there yet.
masak oki, worksforme
mberends pmichaud: r35310 failed here, so the rvar merge is off the hook for now
pmichaud (phew!)
pmichaud <-- off the hook for now
okay, I have to go do some shopping, bbiaw 17:22
masak we'll be piling up tickets here in the meantime :>
mberends rakudo: " a b c".split(/ <.sp>+ /).perl.say 17:25
p6eval rakudo 35344: OUTPUT«["", "a", "b", "c"]␤»
mberends why "" at the beginning?
masak mberends: because there's an empty string before the first set of spaces? :) 17:27
mberends there's another empty string at the end too, but it didn't show ;)
masak mberends: no, there isn't :) 17:28
I'm joking, but I realise I'm right, too.
mberends oh, p5 perldoc -f split says "empty leading fields are preserved, trailing ones are deleted" 17:30
masak there you go. 17:31
17:31 vixey left
masak mberends: but the fact remains that you didn't have an empty trailing field. 17:31
mberends sorry, intuition misled me into expecting [ "a", "b", "c"]. that would be WIM. 17:34
Is there a spec for MediaWiki markup? Or "the implementation is the spec" 17:35
masak the latter.
see blog posts.
TimToady that's why you should use .comb instead of .split 17:36
rakudo: " a b c".comb.perl.say
p6eval rakudo 35345: OUTPUT«too few arguments passed (1) - 4 params expected␤current instr.: 'parrot;Any;comb' pc 11407 (src/builtins/any-str.pir:138)␤»
TimToady pugs: " a b c".comb.perl.say
p6eval pugs: OUTPUT«(Match.new(␤ ok => Bool::True, ␤ from => 2, ␤ to => 3, ␤ str => "a", ␤ sub_pos => (), ␤ sub_named => {}␤), Match.new(␤ ok => Bool::True, ␤ from => 1, ␤ to => 2, ␤ str => "b", ␤ sub_pos => (), ␤ sub_named => {}␤), Match.new(␤ ok => Bool::True, ␤ from => 1, ␤ to => 2...
mberends rakudo: " a b c".comb(" ").perl.say 17:37
p6eval rakudo 35345: OUTPUT«invoke() not implemented in class 'Perl6Str'␤current instr.: 'parrot;Any;comb' pc 11437 (src/builtins/any-str.pir:152)␤»
TimToady rakudo: " a b c".comb(/\S+/).perl.say 17:38
p6eval rakudo 35345: OUTPUT«["a", "b", "c"]␤»
TimToady should default to \S+
masak submits rakudobug
mberends TimToady++ 17:39
TimToady oh, and the p5 behavior of trimming trailing fields is not in p6
(for split) 17:40
masak submits rakudobug 17:42
TimToady rakudo: " a b c ".split(/ <.sp>+ /).perl.say 17:44
p6eval rakudo 35345: OUTPUT«["", "a", "b", "c", ""]␤»
TimToady I think rakudo does that right
c didn't have a space after it before
mberends no it didn't the first time 17:45
17:45 meppl left
masak oh, then the rakudobug I just submitted was bogus. 17:46
TimToady quick, hit the undo button 17:47
17:48 gol joined, riffraff left
masak TimToady: too late :/ bug I'll disqualify it in RT. 17:48
17:53 gol left
masak s/bug/but/ 18:03
mberends masak: bisect result: r35309 good, r35310 bad, now to analyse the error... 18:04
masak mberends++
masak is diagnosing strangenesses in Druid
will be heading home soon for food. 18:05
(and be back tomorrow)
mberends Druid needs Gtk
jnthn is back from the shops, complete with a huge bag of peach-flavored candy 18:06
masak mberends: it might be so, but I'm not the person to write it. I will, however, refactor Druid so that it can have several frontends. and then I will make an SVG frontend. 18:07
mberends SVG++
Druid + HTTP::Daemon + SVG = Druid online 18:09
masak mberends: you got a deal.
perl6: my @a = 1..8; sub foo(@a) { say +@a; bar(@a) }; sub bar(@a) { say +@a }; foo(@a)
p6eval rakudo 35345: OUTPUT«8␤1␤» 18:10
..pugs: OUTPUT«8␤8␤»
..elf 24854: OUTPUT«1␤1␤»
masak glares at pmichaud
masak submits rakudobug
mberends masak: deal!
masak mberends: at this point, I should also point out that three of us in the November team are in the process of applying for a Perl grant to implement Web.pm and HTTP.pm for Perl 6. 18:11
mberends: it sounds like you'd want to be involved in that in some way.
SamB masak: so you have to wait until next november to start working ? 18:12
18:12 Patterner left, Psyche^ joined, Psyche^ is now known as Patterner
masak SamB: no, I generally cheat a little and allow myself to do some work during the other 11 months. (what?) 18:13
18:14 rindolf joined
masak SamB: it is a little known secret that November development takes place at all seasons of the year. 18:16
masak </sarcasm>
SamB why is the team called that ?
masak SamB: November is an oblique reference to the fact that it's not Christmas yet. 18:17
hudnix Is the 5th an official November team holiday?
SamB oh
lol
masak hudnix: no, but it should be.
SamB that's when they break the tree, I think 18:18
masak SamB: that's when we blow up parliament.
SamB wait what
masak en.wikipedia.org/wiki/V_for_Vendetta
mberends masak: yes, I'm interested. There will see a big a need for Perl 5 standard library modules in Perl 6 to enable porting with the least amount of rework. Hence the kind of code I'm writing. As TimToady wrote, "CPAN can be the test suite". 18:19
szabgab masak: we just see it yesterday :-)
saw, that is
SamB guy fawkes day is where you are supposed to commemorate the FOILING of a plot to blow up parliament
masak szabgab: it's a good flick. 18:20
SamB not try it again
rakudo_svn r35347 | pmichaud++ | [rakudo]: More places where we s/ObjectRef/Perl6Scalar/ .
masak SamB: you should see the movie.
18:20 justatheory joined
mberends s/will see/will be/ 18:20
masak SamB: but in essence, you're right.
szabgab I already saw it on my flight to YAPC::NA in the summer, but was good to see it again
18:21 ejs joined
masak mberends: as I said, there's already three of us applying, which is already a bit on the high side for a grant. also, there are no guarantees that we'll get the grant, of course. 18:22
mberends: but now you know that such a project is in the works.
ok, I'll be heading home now. 18:25
today has been a _very_ productive day in terms of bug identification and reporting. 18:26
mberends OK, thanks for the info. Many parts of the Perl 5 standard library can easily be ported ex-grant, because the itch is so strong and needs to be scratched. FWIW, I think grants should concentrate on breaking new ground, not re-implementing prior art.
masak mberends: it does concentrate on breaking new ground.
mberends ok, good 18:27
masak mberends: I'll be happy to talk more about our plans later.
masak waves
18:27 masak left 18:49 ruoso joined
ruoso HellO! 18:50
lambdabot ruoso: You have 1 new message. '/msg lambdabot @messages' to read it.
ruoso pmurias, what do you mean? 18:51
pmurias ruoso: hi 18:58
ruoso hi pmurias 18:59
pmurias what i meant is how do we add too integers?
ruoso in the sense of infix:<+> ? 19:00
pmurias yes
ruoso infix:<+> is a multi
I'm assuming there's a control exception the matching of the signature and the capture may raise 19:01
to tell "This is *the* perfect match"
like for native types
and then infix:<+>(int,int) is implemented in low-level 19:02
pmurias how do you overwrite a perfect match?
ruoso you don't
that's what make them "perfect"
but I presume this is only applicable to native types
we might define that as a guideline 19:03
the problem is that without the "ControlExceptionSignaturePerfectMatch", infix:<+>(Int,Int) would also accept the capture 19:04
and we would need to disambiguate
pmurias variants could have priority
ruoso I'm not sure if we have more levels then that 19:05
19:05 brunoV left
pmurias ruoso: what i was considering is that we might expose the lowlevel operations in a SMOP::Internal:: package and highlevel code would use them 19:06
ruoso we don't need to do it that way... 19:07
we just need to install the multi in the lexical prelude
and add the lowlevel variants as candidates
pmurias food& 19:10
19:10 fridim left 19:21 smtms joined, justatheory left 19:30 hercynium left
pugs_svn r24855 | lwall++ | [STD] quasi-unqoute only promises an EXPR 19:36
pmurias ruoso: the lowlevel variants will have to handle FETCHing 19:39
ruoso yes
actually not themselves
they have a signature object 19:40
which may do that for them
pmurias ruoso: :cc is the only things left for Multi? 19:45
ruoso I'm not sure... 19:46
let me take a look
well, it's the first where the compilation stops 19:47
let me try to remove it and see where it fails
pmurias i want to start writing the Prelude, we have a way to load it and it can just $LexicalPrelude.{"..."} := ...; for now so it's now a problem what it's content should be 19:49
ruoso I was trying to target the prelude starting with ClassHOW
so I started with the things ClassHOW requires 19:50
one of them is "return"
and "return" "is export"
"is export" is a Multi
that's why I went to implement Multi
now my roadmap is for the things that Multi requires
which I hope to be simply implementing the compilation, 19:51
since most (all?) the semantics required by Multi are already implemented in SMOp
pmurias we could skip :cc for now... 19:52
ruoso well... we could... but how much do we win for doing it.?
btw, after :cc, it's stopping in (|$capture) 19:53
19:53 LimbicRegion joined
ruoso and after that in @candidate.elems 19:53
hmm... actually in infix:«>»
hmm
pmurias which is a multi...
ruoso indeed
we need to solve that circularity somehow 19:54
I think I know how to do it
19:54 ejs left, athenot left, Limbic_Region left, Cantacuzenus left, Blasi left, yahooooo left, Jedai left, nothingmuch left, eternaleye left, dmpk2k left, edenc left, c1sung left, Matt-W left, drbean_ left, gbacon left, simcop2387 left, LimbicRegion is now known as Limbic_Region
pugs_svn r24856 | ruoso++ | [smop/src-s1p] avoids using a multi in Multi.pm 19:55
19:55 Limbic_Region left, ejs joined, athenot joined, Limbic_Region joined, Cantacuzenus joined, eternaleye joined, gbacon joined, Blasi joined, Jedai joined, simcop2387 joined, c1sung joined, yahooooo joined, Matt-W joined, dmpk2k joined, drbean_ joined, nothingmuch joined, edenc joined
pugs_svn r24857 | ruoso++ | [smop/src-s1p] small fix in previous patch 19:55
pmurias what does (|$capture) do? 19:56
19:56 LimbicRegion joined
ruoso pmurias, it removes the enclosing scalar 19:56
opposed to \
in mildew terms, it's a plain FETCH
after rewriting the code without infix:«>», it fails in $foo = =$bar; 19:57
then in the named argument in the signature 19:58
then it compiles ;) 19:59
20:09 Limbic_Region left, LimbicRegion is now known as Limbic_Region 20:12 azawawi joined, azawawi left, azawawi joined
azawawi hi 20:12
pmurias azawawi: hi
20:15 km2 joined
azawawi use.perl.org/~azawawi/journal/38255 20:19
20:20 pcbuetow joined
diakopter howdy 20:20
ruoso: around?
20:21 diakopter sets mode: -o diakopter
ruoso hi diakopter 20:21
diakopter planning to try to build smop in mingw32/gcc-3.4.5
ruoso cool
mingw provides pthreads? 20:22
diakopter looks
ruoso if it doesn't, you simply need to add some ifdefs in src/lowlevel.sm0p 20:23
pmurias ruoso: how should the test for (|$capture) be called? 20:24
diakopter pthreadGC2.dll and QueueUserAPCEx 20:25
20:26 rindolf left
ruoso pmurias, I think it's capture expansion 20:26
diakopter, it probably provides pthread_rwlock, it's what you need 20:29
20:32 pbuetow left 20:35 ejs1 joined 20:44 ejs left 20:52 ejs2 joined 21:02 ejs1 left
pmurias ruoso: (|$capture) works in smop... 21:04
diakopter ruoso: which exception-handling scheme pthreads do I want? Structured EH? C++ EH? setjmp/longjmp? 21:05
pugs_svn r24858 | pmurias++ | [mildew] 21:08
r24858 | pmurias++ | added test for (|$capture)
r24858 | pmurias++ | method postcircumfix:<( )> {...} works
21:10 unobe left, azawawi left
pmurias diakopter: propably a non EH one 21:17
looking at sourceware.org/pthreads-win32/faq.htm
s/^/after / 21:18
diakopter: or is there no such option? 21:19
21:20 dukeleto joined
pugs_svn r24859 | pmurias++ | [smop] moved CCode to the RI DSL 21:21
r24859 | pmurias++ | %attr is more free form
ruoso pmurias, the test is wrong... 21:26
the capture expansion with the extra () doesn't expand to the whole capture
21:26 Blasi left
ruoso just inside that positional argument 21:26
21:26 Blasi joined
pmurias the test is named incorrectly right? 21:27
ruoso no, it's working incorrectly
foo( (|$capture) )
means that $capture is sent expanded as the first positional argument 21:28
while
foo( |$capture ) does what you've implemented
pmurias i don't do foo(...) i do &foo.postcircumfix:<( )>(...) 21:29
ruoso ah...
sorry
right
pmurias that's the dark side of your change to postcircumfix:<( )> that those things are different 21:30
ruoso but :cc is the bright side ;) 21:31
pmurias :cc mean CurrentContinuation? 21:32
* means
ruoso yes
pmurias, I don't get it... it doesn't recognize line 28 in Multi.pm (without the named arg), even if that is exactly equal to the code in the test you've just created 21:35
ruoso food & 21:36
21:39 eternaleye left
pugs_svn r24860 | pmurias++ | [smop/src-s1p] fix typo in Multi.pm 21:39
pmurias TimToady: what's the point of $foo.infix:<*>($b) it's a longer and confusing (looks like a method call but is equivalent so a subcall) variant 21:42
21:45 unobe joined 21:49 eternaleye joined
pmurias diakopter: the build system used by smop is a quite new and received limited testing so if you encounter something strange please tell me 21:49
ruoso: = =$interator is a multi 21:51
right?
pugs_svn r24861 | pmurias++ | [mildew] prefix:<=> is emitted (lacks runtime support) 21:55
mberends travel London -> near Eindhoven, good night! 22:07
22:07 mberends left 22:15 meppl joined, ejs2 left 22:19 cspencer joined
ruoso pmurias, =$iterator I think is a method call 22:22
just as $foo{}
rakudo_svn r35363 | pmichaud++ | [rakudo]: Make assignment smarter about ObjectRef vs. Perl6Scalar. 22:30
22:30 justatheory joined
pmurias ruoso: if we change it and comment out :cc Multi will compile 22:34
22:34 km3 joined 22:43 Chillance left 22:44 jhuni joined 22:46 km2 left, pmurias left
rakudo_svn r35365 | pmichaud++ | [rakudo]: Adjust flattening to understand ObjectRef vs. Scalar . 22:50
22:54 cspencer left 22:59 xuser_ joined, xuser left 23:00 xuser_ left 23:03 Cantacuzenus left 23:10 DemoPhreak left 23:11 DemoFreak joined 23:15 aindilis joined
s1n std: 4.sqrt.say 23:24
p6eval std 24861: OUTPUT«00:05 85m␤»
s1n rakudo: 4.sqrt.say
p6eval rakudo 35366: OUTPUT«2␤»
unobe rakudo: sqrt(3.5).say 23:25
p6eval rakudo 35366: OUTPUT«1.87082869338697␤»
unobe 3.5.sqrt.say 23:26
rakudo: 3.5.sqrt.say
p6eval rakudo 35366: OUTPUT«0␤»
unobe rakudo: (3.5).sqrt.say
p6eval rakudo 35366: OUTPUT«0␤»
s1n is there a method like ceil/floor/round in the spec?
unobe have you looked in S29? 23:27
s1n std: -1.sqrt
p6eval std 24861: OUTPUT«00:08 125m␤»
s1n unobe: no, i hadn't, thanks
rakudo: -1.sqrt.say
p6eval rakudo 35366: OUTPUT«1␤»
s1n rakudo: sqrt(-1).say 23:28
p6eval rakudo 35366: OUTPUT«nan␤»
s1n yay, that was odd, the negative didn't take precedence?
unobe I thought it should 23:29
23:29 cspencer joined
s1n i would too 23:29
rakudo: 1.34.round.say
p6eval rakudo 35366: OUTPUT«Method 'round' not found for invocant of class 'Num'␤current instr.: '_block14' pc 63 (EVAL_15:40)␤»
s1n bummer
rakudo: round(1.34).say 23:30
p6eval rakudo 35366: OUTPUT«1␤»
s1n yay
unobe rakudo: (1.34).round.say
p6eval rakudo 35366: OUTPUT«Method 'round' not found for invocant of class 'Num'␤current instr.: '_block14' pc 63 (EVAL_16:40)␤»
s1n is it just me or is precedence look wrong?
heh, nice
unobe I haven't looked at the precedence chart in a while, so I couldn't say 23:31
s1n heh
rakudo: (1.3 ** 4000000).say
p6eval rakudo 35366: OUTPUT«inf␤»
s1n bummer, large numbers seem to round to inf 23:32
they did on perl5 too... 23:33
unobe pugs: (1.3 ** 4000000).say 23:34
I think it just might be rakudo's implementation for now
p6eval pugs: No output (you need to produce output to STDOUT)
unobe pugs: (1.3 ** 4000000)
p6eval pugs: No output (you need to produce output to STDOUT) 23:35
unobe pugs: (1.3 ** 40000)
p6eval pugs: RESULT«5421160602201970371902758727146232472698328885729131745908963925378971087688675846916942841329756288099839364213541036083373533034802206113409605796842279619328239917454186564259241628523840314065239742479311406727858753772600901830815354383744124599819202822757385656376796622732...
unobe rakudo: (1.3 ** 40000)
p6eval rakudo 35366: RESULT«inf»
unobe pugs: (1.3 ** 40000).say
p6eval pugs: OUTPUT«5421160602201970371902758727146232472698328885729131745908963925378971087688675846916942841329756288099839364213541036083373533034802206113409605796842279619328239917454186564259241628523840314065239742479311406727858753772600901830815354383744124599819202822757385656376796622732...
s1n perl5 rounded when on 4000 23:36
unobe for now it looks like it's dependent on the implementation
s1n unobe: know of a way to get the full number like that (with the language) instead of scientific notation?
unobe I think "they" are going to fix that
(I don't know where to start, but it might be with Parrot's bignum guts)
s1n: nope 23:37
s1n that's a real bummer, rakudo only ever seems to give back sci.not.
unobe s1n: you mean in p5?
s1n no, p6 23:38
unobe you could port BigNum from CPAN
:-)
or is it BigRat?
bignum
jhuni when you use exponents negatives don't take precendence
s1n jhuni: i would imagine the negative would take precedence before the call to sqrt though 23:39
jhuni: otherwise, i have to call it like a method, and that's not DWIM 23:40
jhuni pugs: (-1**0.5).say();
p6eval pugs: OUTPUT«-1␤»
jhuni pugs: ((-1)**0.5).say();
p6eval pugs: OUTPUT«NaN␤»
pugs_svn r24862 | ruoso++ | [mildew] implements unless desugar
jhuni sqrt = ** 0.5 23:41
s1n jhuni: yeah i get that, but it's a method, not directly **=0.5 23:42
i expect ** to work that way, but not .sqrt
even if it does desugar to **
jhuni So it should put parenthesis around the negative one? 23:43
s1n i'm not an expert, but i defined the number before i called sqrt 23:44
i would expect it to apply the parens
jnthn Method postfix binds tighter than symbolic unary - Rakudo is correct.
-1.sqrt means -(1.sqrt)
s1n jnthn: really? okay then
jnthn Yes, 'fraid so. 23:45
jhuni it does make less sense to type (-1).sqrt
jnthn See precedence table in S03 (just checked it)
s1n jnthn: i believe you, just didn't make sense
jnthn The only way I can see it working, is if -1 is parsed as a term
Rather than as a - operator, followed by the term 1 23:46
s1n it may be a unary, but it defines the number, much like a decimal, even if many programmers think of it like a unary
i've been doing math lately, was just in that mindset :)
jnthn Just checked STD.pm - none of the number parsing thingies appear to take a - 23:47
s1n hmm okay
jhuni ya that is how it is with all methods 23:49
jnthn *nod* 23:50
jhuni pugs: -20.say()
p6eval pugs: OUTPUT«20␤»