Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-01-10

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo