Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-02-11

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:15 eternaleye joined #perl6
00:51 IllvilJa joined #perl6
00:54 Limbic_Region joined #perl6
01:03 sahadev joined #perl6
01:05 SamB joined #perl6
01:08 hercynium joined #perl6
01:10 FurnaceBoy joined #perl6
01:25 lambdabot joined #perl6
01:30 Minthe joined #perl6
01:42 sahadev hello, i am using the parrot-under-rakudo approach mentioned in Moritz's blog entry (http://perlgeek.de/blog-en/pe​rl-6/where-rakudo-lives.html) to build rakudo. "make test" in rakudo fails because the parrot exe path referred to in the test scripts (../../parrot) is incorrect. it should be ../../parrot/parrot.
01:42 sahadev is there an easy fix for this (short of fixing every test script)?
01:47 eternaleye joined #perl6
01:51 sahadev looks like this affects only a few test scripts (under t/pmc)
02:02 TimToady std: my (*@) = @*ARGS
02:03 p6eval std 25282: OUTPUT«ok 00:02 34m␤»
02:03 TimToady std: my (*) = @*ARGS
02:03 p6eval std 25282: OUTPUT«Undeclared routine:␤   my used at 0 ␤ok 00:02 35m␤»
02:03 TimToady std: (*) = @*ARGS
02:03 p6eval std 25282: OUTPUT«ok 00:02 33m␤»
02:07 diakopter std: [$]=@*ARGS
02:07 p6eval std 25282: OUTPUT«############# PARSE FAILED #############␤Unable to parse array composer; couldn't find final ']' at /tmp/3GhvbQCY5t line 1:␤------> [32m[$][31m=@*ARGS[0m␤    expecting special_variable__S_154DollarKet␤FAILED 00:02 34m␤»
02:07 diakopter std: $=@*ARGS
02:08 p6eval std 25282: OUTPUT«############# PARSE FAILED #############␤Can't understand next input--giving up at /tmp/fRqXtXBAgL line 1:␤------> [32m$=[31m@*ARGS[0m␤    expecting special_variable__S_138DollarEqual␤FAILED 00:02 34m␤»
02:08 TimToady std: :($) = @*ARGS
02:08 p6eval std 25282: OUTPUT«ok 00:02 34m␤»
02:09 TimToady std: $=FOO
02:09 p6eval std 25282: OUTPUT«ok 00:02 33m␤»
02:09 TimToady std: $=($x)
02:09 p6eval std 25282: OUTPUT«############# PARSE FAILED #############␤Can't understand next input--giving up at /tmp/hzg9GvGgEo line 1:␤------> [32m$=[31m($x)[0m␤    expecting special_variable__S_138DollarEqual␤FAILED 00:02 34m␤»
02:09 TimToady std: $=::($x)
02:10 p6eval std 25282: OUTPUT«Potential difficulties:␤  Variable $x is not predeclared at /tmp/CyUArCW1Cz line 1:␤------> [32m$=::([31m$x)[0m␤ok 00:02 33m␤»
02:10 TimToady std: $=::($*x)
02:10 p6eval std 25282: OUTPUT«ok 00:02 33m␤»
02:11 diakopter std: ::$=3
02:11 p6eval std 25282: OUTPUT«############# PARSE FAILED #############␤Syntax error (two terms in a row?) at /tmp/DBzvlUDXYM line 1:␤------> [32m::[31m$=3[0m␤    expecting any of:␤    POST␤   infix or meta-infix␤        infix stopper␤    morename␤       postfix␤  postfix_prefix_meta_operator␤       standard
02:11 p6eval ..stopper␤       statement modifie...
02:13 TimToady now yer just makin' stuff up...
02:17 diakopter wait, how is that new
02:18 frew joined #perl6
02:23 sahadev left #perl6
02:25 TimToady there's nothing in the syntax that allows $ after ::
02:26 diakopter :) I meant how is it new that I'm making stuff up :P
02:26 diakopter aka "what else is new"
02:26 Nom- joined #perl6
02:28 meppl good night
02:29 agentzh joined #perl6
02:30 pugs_svn r25283 | lwall++ | [STD] improve error messages on various keywords
02:30 SamB std: $(printf "Hello")
02:30 p6eval std 25282: OUTPUT«ok 00:03 33m␤»
02:30 SamB um. that's not good.
02:30 SamB it didn't reject my Haskells!
02:30 TimToady perfectly valid syntax
02:31 alc joined #perl6
02:31 SamB std: main = P.return ()
02:31 p6eval std 25282: OUTPUT«############# PARSE FAILED #############␤Syntax error (two terms in a row?) at /tmp/5xhddrM2uz line 1:␤------> [32mmain = P.return [31m()[0m␤    expecting any of:␤       infix or meta-infix␤      infix stopper␤    standard stopper␤ statement modifier loop␤  terminator␤FAILED
02:31 p6eval ..00:02 33m␤»
02:35 TimToady std: my (*) = 1,2,3
02:35 p6eval std 25283: OUTPUT«Undeclared routine:␤   my used at 0 ␤ok 00:02 35m␤»
02:35 TimToady that should improve shortly
02:35 TimToady cooking&
02:38 frew I have to get a better computer so the tests won't take so long!
02:47 * frew looks at prices on new quad core systems
02:56 shinobi-cl joined #perl6
02:57 s1n frew: do what i do, run then from a cron job :)
03:02 frew s1n: That's a good idea.  Do you checkout and rebuild parrot then too?
03:03 s1n frew: i have a quickie shell script that does a svn and git update of parrot and rakudo, then builds everything
03:03 s1n does the spectest too
03:04 s1n i usually comment that out though because i only care about things i'm testing :)
03:04 frew right
03:04 frew hm
03:04 frew I think I'll do that
03:04 frew I'll have it start at like, 4 pm
03:05 frew right before I get back from work
03:05 s1n mine's not overly smart, just does each of the steps regardless of $?
03:05 s1n i have mine run at 2am
03:05 diakopter std: my (*) = 1,2,3
03:05 frew you could just have them && chained
03:05 p6eval std 25283: OUTPUT«############# PARSE FAILED #############␤Malformed "my" declaration at /tmp/gjDyNIDwku line 1:␤------> [32mmy ([31m*) = 1,2,3[0m␤    expecting any of:␤   parameter␤        signature␤        type_constraint␤  whitespace␤FAILED 00:02 33m␤»
03:05 s1n frew: i could, but there's like a dozen commands
03:06 s1n speaking of which, what happened to the rakudo Configure.pl?
03:06 s1n it's looking in a really odd place for BUILD_DIR
03:06 s1n where is it getting that configuration from?
03:10 s1n anyone?
03:27 s1n wow, it's sleepy in here
03:28 s1n okay, i figured it out, just for the people who scroll back:
03:29 s1n i have parrot installed already (gentoo) and was built somewhere completely different, it picked up the parrot_config from that build, so i specified the --parrot-config option to the Configure.pl script
03:33 Util Thanks for posting that s1n; I was just looking for the answer.
03:34 shinobi-cl hey, the wiki at perl6.wikia.com now has 60 articles..... wanna cooperate? you know what to do (sorry for the spam)
03:34 shinobi-cl left #perl6
03:39 Entonian joined #perl6
03:45 simcop2387 joined #perl6
03:46 simcop2387-vnc joined #perl6
03:47 s1n Util: np
03:47 s1n gotta go, bad weather
03:48 Util Later
04:06 SamB joined #perl6
04:17 c9s joined #perl6
04:21 araujo joined #perl6
04:48 skids joined #perl6
04:51 skids rakudo: class Ss is Str; my Ss $s;
04:51 p6eval rakudo e73c95: RESULT«"Ss"»
04:51 skids rakudo: class Pp is Pair; my Pp $d;
04:51 p6eval rakudo e73c95: OUTPUT«Null PMC access in get_string()␤current instr.: '!meta_trait' pc 18725 (src/builtins/guts.pir:577)␤»
04:58 dalek joined #perl6
04:58 Southen joined #perl6
05:09 Patterner joined #perl6
05:09 PZt joined #perl6
05:09 ascent_ joined #perl6
05:09 ilogger2 joined #perl6
05:09 JarJarBinks joined #perl6
05:09 Aisling joined #perl6
05:09 perlbot joined #perl6
05:09 p6paste joined #perl6
05:23 SamB joined #perl6
05:23 eternaleye joined #perl6
05:23 Minthe joined #perl6
05:23 xinming joined #perl6
05:23 r0bby joined #perl6
05:23 kbaud1 joined #perl6
05:23 idemal joined #perl6
05:23 broquaint joined #perl6
05:23 Grrrr joined #perl6
05:23 AzureStone joined #perl6
05:23 LCamel joined #perl6
05:41 vpace joined #perl6
06:04 Tene joined #perl6
06:08 iblechbot joined #perl6
06:12 maerzhase joined #perl6
06:13 mikehh joined #perl6
06:15 kate21de joined #perl6
06:49 DemoFreak joined #perl6
07:04 alester joined #perl6
07:44 pugs_svn r25284 | lwall++ | [STD] define implicit pad lexicals correctly depending on signature
07:47 maerzhase joined #perl6
07:47 moritz_ std: sub f() { @_ }
07:48 p6eval std 25284: OUTPUT«############# PARSE FAILED #############␤Malformed routine definition at /tmp/asH47Yaa8M line 1:␤------> [32msub [31mf() { @_ }[0m␤FAILED 00:02 32m␤»
07:48 moritz_ std: sub f { @_ }
07:48 p6eval std 25284: OUTPUT«############# PARSE FAILED #############␤Malformed routine definition at /tmp/0I6ar738sQ line 1:␤------> [32msub [31mf { @_ }[0m␤FAILED 00:02 32m␤»
07:50 TimToady std sub f() { @_ }
07:50 TimToady std: sub f() { @_ }
07:50 p6eval std 25284: OUTPUT«############# PARSE FAILED #############␤Malformed routine definition at /tmp/fH0W8FnShC line 1:␤------> [32msub [31mf() { @_ }[0m␤FAILED 00:02 32m␤»
07:50 TimToady hmm, must not have updated yet
07:51 moritz_ it has, but some permission problems with generating the lexers :(
07:51 moritz_ std: 1+1
07:51 p6eval std 25284: OUTPUT«ok 00:02 33m␤»
07:51 moritz_ std: sub f { @_ }
07:52 p6eval std 25284: OUTPUT«ok 00:02 33m␤»
07:52 moritz_ std: sub f() { @_ }
07:52 p6eval std 25284: OUTPUT«Potential difficulties:␤  Variable @_ is not predeclared at /tmp/M8W020u7zM line 1:␤------> [32msub f() { [31m@_ }[0m␤ok 00:02 33m␤»
07:52 TimToady :)
07:52 TimToady std: -> %_ { %_ }
07:52 p6eval std 25284: OUTPUT«ok 00:02 34m␤»
07:52 TimToady std: -> %_ { @_ }
07:52 p6eval std 25284: OUTPUT«Potential difficulties:␤  Variable @_ is not predeclared at /tmp/8VvV9CliE2 line 1:␤------> [32m-> %_ { [31m@_ }[0m␤ok 00:02 34m␤»
07:53 TimToady std: -> %_ { my %_; }
07:53 p6eval std 25284: OUTPUT«Potential difficulties:␤  Variable %_ declared at line 1 is redeclared at /tmp/r8tDf65ZX3 line 1:␤------> [32m-> %_ { my [31m%_; }[0m␤ok 00:02 34m␤»
07:54 TimToady most of the difficulties in make testt are now real
07:54 pugs_svn r25285 | moritz++ | [t/spec] git rid of accidential interpolation of &postfix<stuff>
07:54 moritz_ aye
07:55 moritz_ it's really helpful
07:59 TimToady though with the &postfix thing it *ought* to have recognized the operator and attempted to call it with 0 args, I suppose
07:59 TimToady maybe &postfix and such should require at least one ()
08:01 TimToady or maybe & interpolation is just a Bad Plan altogether
08:07 TimToady bed is a Good Plan though
08:07 TimToady zzz &
08:20 Matt-W The downside of the internet is that I get to arrive at work just in time to see other people go to bed, which is really where I'd like to be myself :(
08:20 * moritz_ knows that feeling
08:21 meppl joined #perl6
08:21 iblechbot joined #perl6
08:29 magnarjg1 joined #perl6
08:31 kane_ joined #perl6
08:32 ludan joined #perl6
08:41 maerzhase joined #perl6
09:09 masak joined #perl6
09:11 masak what's the difference, semantically, between '($a, $b, $c) = @values;' and ($a, $b, $c, *) = @values;' ?
09:12 masak rakudo: (*) = 5
09:12 p6eval rakudo e73c95: OUTPUT«Class 'Perl6MultiSub' not found␤current instr.: 'parrot;Perl6Role;!add_variant' pc 2579 (src/classes/Role.pir:42)␤»
09:12 * masak reboots p6eval
09:13 Matt-W masak: I have never seen that syntax before
09:13 masak moritz_: don't you get rakudobugs? :)
09:13 moritz_ ...
09:14 * masak pats moritz_
09:14 masak at least we're sharing the burden now. :)
09:15 masak oops, sorry.
09:15 masak Matt-W: don't you get rakudobugs? :)
09:15 masak (too many people starting with 'm' on this channel. some of you guys should change nicks. :P)
09:16 Matt-W masak: no I don't
09:16 masak Matt-W: they mostly come throught the p6c list if you're interested.
09:16 masak s/throught/through/
09:16 masak rakudo: (*) = 5
09:16 p6eval rakudo e73c95: RESULT«5»
09:17 masak ok, that works.
09:17 masak rakudo: my (*@) = 1,2,3
09:17 p6eval rakudo e73c95: OUTPUT«Statement not terminated properly at line 1, near "@) = 1,2,3"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
09:18 masak rakudo: my @values = 1..5; my ($a, $b, $c, *) = @values;
09:18 p6eval rakudo e73c95: OUTPUT«Unable to parse declarator; couldn't find final ')' at line 1, near ", *) = @va"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
09:19 masak huh.
09:19 masak oh!
09:19 masak rakudo: my @values = 1..5; my ($a, $b, $c); ($a, $b, $c, *) = @values;
09:19 p6eval rakudo e73c95: RESULT«[1, 2, 3, 4]»
09:28 riffraff joined #perl6
09:32 ludan joined #perl6
09:34 magnarjg joined #perl6
09:38 mikehh masak: you got to consider the importance  of M - even if it is the 13 letter of the English alphabet
09:38 masak mikehh: aye, 'tis important, verily.
09:50 ludan joined #perl6
10:02 magnarjg1 joined #perl6
10:02 magnarjg1 left #perl6
10:09 * jnthn is awake
10:09 jnthn svn up && make coffee
10:10 moritz_ nah, the web 2.0 people git-pull their coffee :-)
10:11 masak jnthn: good morning! :)
10:15 jnthn moritz_: Put I need coffee to the understand git. ;-)
10:15 jnthn masak: morning!
10:16 Matt-W Oooh coffee
10:16 Matt-W I could have coffee
10:16 Matt-W Thanks!
10:16 * Matt-W -> make coffee
10:17 kane_ joined #perl6
10:21 jnthn Hmm. Anyone else got a working build of Rakudo?
10:22 * moritz_
10:23 jnthn e.g. from latest svn head and git?
10:23 bacek joined #perl6
10:23 jnthn hmm...huh
10:23 bacek hi there
10:23 moritz_ from yesterday
10:23 bacek perl6: say +(0..*)
10:23 p6eval pugs: OUTPUT«pugs: out of memory (requested 1048576 bytes)␤»
10:23 p6eval ..rakudo e73c95: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤1␤»
10:23 p6eval ..elf 25285: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 126) line 3.␤ at ./elf_h line 4346␤»
10:24 * bacek summon masak to submit bugreport :)
10:24 * masak submits
10:24 masak bacek: or not. that's a known issue.
10:24 masak lazy infinite lists are not implemented.
10:25 Matt-W isn't that forcing evaluation of the infinite list anyway though
10:25 Matt-W or should it be clever enough to just say Inf
10:25 bacek masak: I know. But this bug is different
10:25 masak Matt-W: depends on how you implement it, I guess.
10:25 masak bacek: due to the undefined values?
10:26 bacek masak: it should yeld Inf
10:26 masak bacek: sure, when lazy infinite lists are implemented :)
10:26 bacek perl6: (0..1)[2]= 3;
10:27 p6eval rakudo e73c95: OUTPUT«elements() not implemented in class 'Range'␤current instr.: 'postcircumfix:[ ]' pc 3452 (src/classes/Positional.pir:108)␤»
10:27 p6eval ..pugs: OUTPUT«*** Can't modify constant item: VUndef␤    at /tmp/UfdmooI8cs line 1, column 1-13␤»
10:27 p6eval ..elf 25285: OUTPUT«Can't call method "postcircumfix__91_32_93" without a package or object reference at (eval 122) line 3.␤ at ./elf_h line 4346␤»
10:27 * masak submits rakudobug
10:27 bacek masak: stop. Its 60848
10:27 * masak stops immediately
10:27 bacek And I have partial solution for it :)
10:27 masak great.
10:27 dduncan joined #perl6
10:28 jnthn OK, a s{/}{\} in the makefile did it...
10:30 bacek perl6: say Inf - Inf
10:30 p6eval pugs: OUTPUT«NaN␤»
10:30 p6eval ..rakudo e73c95: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
10:30 p6eval ..elf 25285: OUTPUT«nan␤»
10:30 bacek perl6: say "z" - "a"
10:30 p6eval rakudo e73c95: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
10:30 p6eval ..elf 25285: OUTPUT«Argument "\x{61}" isn't numeric in subtraction (-) at (eval 123) line 3.␤Argument "\x{7a}" isn't numeric in subtraction (-) at (eval 123) line 3.␤0␤»
10:30 p6eval ..pugs: OUTPUT«0␤»
10:32 bacek perl6: my $a = 0; say $a.does(Num)
10:32 p6eval pugs: OUTPUT«1␤»
10:32 p6eval ..rakudo e73c95: OUTPUT«0␤»
10:32 p6eval ..elf 25285: OUTPUT«␤»
10:32 bacek perl6: my $a = 0; say $a.does(Int)
10:32 p6eval pugs, rakudo e73c95: OUTPUT«1␤»
10:32 p6eval ..elf 25285: OUTPUT«␤»
10:33 dalek rakudo: 7b4118d | jnthn++ | Configure.pl:
10:33 dalek rakudo: [config] Configure needs to translate forward slashes in makefile to backwards ones for Win32, as Parrot's Configure did. Otherwise the build silently misses a bunch of important bits!
10:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​b4118d0c0023862bd88e9c578cfbbe9d24c580e
10:33 bacek perl6: my $a = 'a'..'c'; say ~$a
10:33 p6eval elf 25285: OUTPUT«1E0␤»
10:33 p6eval ..pugs, rakudo e73c95: OUTPUT«a b c␤»
10:34 bacek perl6: my $a = 'a'..'3'; say ~$a
10:34 p6eval elf 25285: OUTPUT«1E0␤»
10:34 p6eval ..pugs, rakudo e73c95: OUTPUT«␤»
10:34 bacek perl6: my $a = 'a'..3; say ~$a
10:34 p6eval elf 25285: OUTPUT«1E0␤»
10:34 p6eval ..pugs, rakudo e73c95: OUTPUT«␤»
10:34 bacek perl6: my $a = 0..'z'; say ~$a
10:34 p6eval pugs, rakudo e73c95: OUTPUT«0␤»
10:34 p6eval ..elf 25285: OUTPUT«␤»
10:34 bacek perl6: my $a = -1..'z'; say ~$a
10:34 p6eval pugs: OUTPUT«-1 0␤»
10:34 p6eval ..elf 25285: OUTPUT«1E0␤»
10:34 p6eval ..rakudo e73c95: OUTPUT«␤»
10:35 bacek looks... strange
10:36 bacek pugs is correct, isn't it?
10:36 bacek (in last case)
10:36 moritz_ dunno
10:37 moritz_ depends on how infix:<..>(Any, Any) is defined
10:37 bacek perl6: my $a = -1..^'z'; say ~$a
10:37 p6eval elf 25285: OUTPUT«1E0␤»
10:37 p6eval ..pugs: OUTPUT«-1␤»
10:37 p6eval ..rakudo e73c95: OUTPUT«␤»
10:37 moritz_ imho there's no dwimmy way to handle such a range
10:37 bacek moritz_: agreed.
10:38 bacek perl6: say 0>*; say 0<*;
10:38 p6eval pugs: OUTPUT«␤1␤»
10:38 p6eval ..rakudo e73c95: OUTPUT«Use of uninitialized value␤0␤Use of uninitialized value␤0␤»
10:38 p6eval ..elf 25285: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 122) line 3.␤ at ./elf_h line 4346␤»
10:38 moritz_ perl6: say 0 == *
10:38 p6eval elf 25285: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 120) line 3.␤ at ./elf_h line 4346␤»
10:38 p6eval ..rakudo e73c95: OUTPUT«Use of uninitialized value␤1␤»
10:38 p6eval ..pugs: OUTPUT«␤»
10:39 bacek ouch.
10:39 * bacek summon masak again :)
10:39 moritz_ perl6: say 0 ~~ *
10:39 p6eval rakudo e73c95: OUTPUT«1␤»
10:39 p6eval ..elf 25285: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 122) line 3.␤ at ./elf_h line 4346␤»
10:39 p6eval ..pugs: OUTPUT«␤»
10:39 moritz_ bacek: what's wrong with numifying * to 0?
10:40 bacek moritz_: in range * means totally different.
10:40 bacek perl6: say (0..(+*))[2]
10:40 masak bacek: sorry, didn't follow. will need to backlog to see what I was summoned for.
10:40 p6eval pugs: OUTPUT«2␤»
10:40 p6eval ..rakudo e73c95: OUTPUT«Use of uninitialized value␤elements() not implemented in class 'Range'␤current instr.: 'postcircumfix:[ ]' pc 3452 (src/classes/Positional.pir:108)␤»
10:40 p6eval ..elf 25285: OUTPUT«Parse error in: /tmp/kBnj7P4dyh␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: say (0..(+*))[2]␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤
10:40 p6eval ..STD_red/std.rb:210:...
10:41 moritz_ bacek: yes. That doesn't mean it has to have the same behaviour outside of ranges
10:41 bacek perl6: my $a = (0..(+*)); say $a[2]
10:41 p6eval pugs: No output (you need to produce output to STDOUT)
10:41 p6eval ..rakudo e73c95: OUTPUT«Use of uninitialized value␤elements() not implemented in class 'Range'␤current instr.: 'postcircumfix:[ ]' pc 3452 (src/classes/Positional.pir:108)␤»
10:41 p6eval ..elf 25285: OUTPUT«Parse error in: /tmp/f7Sbegt0nz␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: my $a = (0..(+*)); say $a[2]␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤
10:41 p6eval ..STD_red...
10:48 hanekomu joined #perl6
10:53 bacek perl6: say (1..*)[2]
10:53 p6eval rakudo 7b4118: OUTPUT«elements() not implemented in class 'Range'␤current instr.: 'postcircumfix:[ ]' pc 3452 (src/classes/Positional.pir:108)␤»
10:53 p6eval ..elf 25285: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 123) line 3.␤ at ./elf_h line 4346␤»
10:53 p6eval ..pugs: OUTPUT«3␤»
10:58 pmurias joined #perl6
11:12 dduncan left #perl6
11:23 jnthn Grr. The proto definedness bug turned out to be trickier than I first though.
11:37 dalek rakudo: d668ca9 | jnthn++ | src/classes/ClassHOW.pir:
11:37 dalek rakudo: Fixes to make sure dispatches on proto-objects work correctly; resolves RT#62894.
11:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​668ca982f17170b2301c7da37475c98b8b1cbcf
11:37 pugs_svn r25286 | jnthn++ | [t/spec] Tests for proto-object being undefined.
11:52 pugs_svn r25287 | jnthn++ | [t/spec] Add test case for RT#62828.
11:52 dalek rakudo: 59024e0 | jnthn++ | src/classes/Object.pir:
11:52 dalek rakudo: Fix .clone to deref ObjectRefs properly by calling !DEREF, which follows chains. Resolves RT#62828.
11:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​9024e09809f3c671d2dc08d0dfc5f3c7c5db7d4
11:54 masak jnthn: I'm interested in what could have caused that .clone bug. is there an easy answer, or should I just read the commit diff myself? :)
11:55 ruoso joined #perl6
11:55 jnthn masak: The commit message pretty much tells the story. :-)
11:58 masak ah. yes.
11:58 masak thank you for fixing that. it was a very frustrating error.
11:59 jnthn Welcome. proto one should be fixed also.
11:59 masak that's good. will lead to a couple of simplifications and '# RAKUDO' comment removals. :)
12:01 ruoso Hello!
12:02 masak oh hai
12:03 * jnthn ponders 63002
12:05 * ruoso feels one day closer to the day when GLOBAL dies ;)
12:12 * ruoso just reading ClassHOW.pir... convergence++
12:14 ruoso when a role puns a class, should it look for "Object" from the perspective of the code that is causing then pun? or may it consider Object from its own perspective?
12:15 ruoso that question really means..
12:15 jnthn Not sure.
12:15 jnthn I prefer the second for implementation ease. ;-)
12:15 ruoso if I re-define what Object means in my lexical scope, should a punned class use the custom Object or the canonical Object?
12:16 jnthn Or the Object as it was in the scope where the role was defined... ;-)
12:16 jnthn Canonical object is sure easiest though.
12:16 ruoso right.. right
12:16 jnthn It's what we're doing in Rakudo for now.
12:16 ruoso there are three options indeed
12:17 ruoso in the case of being th efirst
12:17 ruoso we need the punned class to be lexically scoped
12:17 jnthn Yeah
12:17 ruoso in the case of being the second, we need the module loading to be lexically scoped
12:17 jnthn Given the punned class is attached to the role, I don't see that flying.
12:18 jnthn (The first option.)
12:18 ruoso (not the name aliasing, but the actual module loading)
12:19 ruoso or maybe not, because lexically, it does not relate to the code that imports it
12:19 ruoso but how would you override the meaning of Object there then?
12:20 ruoso role SubRole does Role { my class Object { ... }; };
12:21 ruoso or...
12:21 jnthn That would probably still not override the meaning of Object for the pun. just within that class.
12:21 jnthn erm
12:21 jnthn within that role's body, I mean.
12:21 jnthn Oh, hmm. It could do.
12:22 ispy_ joined #perl6
12:22 jnthn (Classes inside roles are interesting within themselves, when you start to consider parametric roles...)
12:23 ruoso so... my role Role does OUTER::Role { my class Object is OUTER::Object {...}; };
12:24 ruoso or maybe you need...
12:24 ruoso my class Object is OUTER::Object {...}; my role Role does OUTER::Role;
12:24 ruoso my class Object is OUTER::Object {...}; my role Role does OUTER::Role {...};
12:25 jnthn Hang on, are you using Role here as if it were Foo, just as an example role name, or are you trying to re-define the built-in Role type? :-)
12:25 ruoso heh.. yeah... bad example code...
12:25 ruoso my class Object is OUTER::Object {...}; my role Foo does OUTER::Foo {...};
12:25 jnthn Phew! :-)
12:26 jnthn Hmm. That'd I guess pun to the lexical Object if we take the "it puns from the view of where the role is defined" approach.
12:26 jnthn Which to me seems fairly sane.
12:27 ruoso so it would be equally possible to:
12:28 ruoso use CustomObjectImpl; role Foo does OUTER::Foo {};
12:28 jeremiah OHAI
12:29 jnthn jeremiah: HAI!
12:29 ruoso actually
12:29 ruoso use Foo;
12:29 ruoso use CustomObjectImpl;
12:29 jeremiah Hey jnthn
12:29 ruoso role Foo does OUTER::Foo {};
12:29 jeremiah I have an email in the works for you, details about Gothenburg before Oslo. :)
12:29 jnthn jeremiah: The awesome! :-)
12:29 jnthn Looking forward do it.
12:30 jeremiah If you haven't made plans for housing in Oslo I know a cheap and good hostel.
12:30 jeremiah Called Perminalen.
12:31 jnthn I didn't make plans yet, no.
12:32 jnthn Cheap? Is Oslo? -)
12:32 jnthn ;-)
12:32 ruoso hmmm... I think "use Foo; role Foo does OUTER::Foo {}" is not going to work...
12:32 jnthn I suspect that'd be a re-declaration error.
12:32 jeremiah heh, relatively cheap
12:33 ruoso jnthn, so how could I redefine it without it being an error?
12:36 jnthn ruoso: If you're going to re-define it, why'd you just import it? :-P
12:37 jnthn use Foo; { my role Foo does OUTER::Foo { ... } }
12:37 ruoso because I want to export a customized version of Foo
12:37 jnthn Hmm...
12:38 jnthn Maybe do it under a different name? ;-)
12:38 ruoso but that won't solve the problem on how to lexically customize behavior of some code
12:39 ruoso where things happen sintatically
12:39 ruoso likle
12:39 ruoso my @a = (1,2,3);
12:39 ruoso in order to customize the behavior of @a
12:39 ruoso I need to replace the meaning of the Array role
12:40 ruoso (of course I could say "my @a is SomethingElse = (1,2,3)" but that's not the poitn)
12:42 jnthn Hmm.
12:42 jnthn Yes, see what you're getting at.
12:45 ruoso maybe...
12:45 ruoso BEGIN { require Foo;
12:45 ruoso argh
12:46 ruoso the problem is that the name Foo is always lexically bound either by use or require
12:46 ruoso maybe we would need something like... use Foo as OriginalFoo;
12:47 ruoso so we can say "role Foo does OriginalFoo {}"
12:47 jnthn But that assumes that the module Foo will export one symbol Foo that we wish to re-define.
12:48 jnthn But some way to do name-mapping on import may work, yes.
12:54 ruoso jnthn, I think the name "Foo" is aliased by the "use" or "require" itself
12:56 ruoso I was thinking this is a assumption made to know what to bind to the current scope
12:56 ruoso meaning
12:56 ruoso if you "use Foo"
12:56 ruoso it will find Foo.pm
12:56 ruoso then Foo.pm might have
12:57 ruoso class Foo {}; class Bar {};
12:57 ruoso does Bar gets aliased into your lexical scope?
12:57 ruoso I was assuming it doesn't
12:58 jnthn Not sure - would have to read the spec to check that.
12:58 ruoso and that it will know which package to alias, exactly because of the "use Foo" and "class Foo"
12:58 jnthn Haven't been looking at import/export much myself - I think pmichaud and particle have been, though...
13:00 pugs_svn r25288 | jnthn++ | [t/spec] Test for range constructed from parameter.
13:01 dalek rakudo: 1beabec | jnthn++ | src/ (3 files):
13:01 dalek rakudo: We need to call .clone() rather than just using Parrot's clone vtable method fairly generally, I expect. This does that in a couple of places, which in turn resolves RT#63002 and gets an integration test passing.
13:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​beabec188ca2effe3770c96faa0f93d71643f04
13:02 pugs_svn r25289 | jnthn++ | [t/spec] Untodo an integration test that Rakudo now can pass.
13:07 maerzhase1 joined #perl6
13:10 iblechbot joined #perl6
13:16 jnthn std: my WTF $x;
13:16 p6eval std 25289: OUTPUT«############# PARSE FAILED #############␤Malformed "my" declaration at /tmp/18w1hgIpuy line 1:␤------> [32mmy [31mWTF $x;[0m␤    expecting any of:␤       scoped declarator␤        typename␤FAILED 00:02 32m␤»
13:24 jferrero joined #perl6
13:30 masak jnthn: I have to go now and will be offline for the rest of the day -- studying Chinese and washing clothes -- but I'm really happy about the bugs that you have already fixed. will go home and improve November and Druid accordingly, so that I can push newer, shinier versions tomorrow. :)
13:30 jnthn masak: Nice! And welcome. Thanks for the bug reports. :-)
13:31 masak there's more where that came from :)
13:35 * jnthn wants to try and get us back down to 250 tickets in the nost too distant future.
13:39 masak it used to be 150. :)
13:43 jnthn Yeah...I don't see us getting down to *that* for quite a while...
13:43 Matt-W isn't it entirely masak's fault? :P
13:44 jnthn Largely. ;-)
13:46 moritz_ don't blame the one who delivers the message :-)
13:47 Matt-W Nonsense, my entire working life is based around blaming the testers who find the bugs in my code
13:47 Matt-W If they didn't find them, nobody would ever notice
14:06 dalek rakudo: fba805c | jnthn++ | src/parser/grammar.pg:
14:06 dalek rakudo: Add panic on malformed declaration, as seen in STD.pm (with note on our little difference against STD.pm). Also we accidentally parsed/passed a private method test; add something to mitigate that to keep the spectests clean.
14:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​ba805cd171fbde507c47aaf55db2d8a2ac0e5a4
14:11 skids joined #perl6
14:19 mikehh my latest build of rakudo passes the spectests
14:27 ejs joined #perl6
14:29 dalek rakudo: 1b7a3e3 | jnthn++ | src/parser/grammar.pg:
14:29 dalek rakudo: A few more panics on malformed code from STD.pm. Resolves RT#59828.
14:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​b7a3e35c99006dc77e797405ce44cc71b532ca1
14:41 smtms joined #perl6
14:43 pugs_svn r25290 | jnthn++ | [t/spec] Add some parens to a test to clarify precedene. This now allows it to pass in Rakudo (we're not actually testing parsing of item assignment here, but subset stuff).
14:51 Exodist joined #perl6
14:54 DemoFreak joined #perl6
14:55 dalek rakudo: cad0468 | jnthn++ | src/classes/Grammar.pir:
14:55 dalek rakudo: Implement .parsefile method on Grammar.
14:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​ad04688480404aa6af8e582318c413477b867b7
15:09 pugs_svn r25291 | jnthn++ | [t/spec] Tests for .parse and .parsefile on Grammar objects.
15:21 dalek rakudo: 8b8095c | jnthn++ | src/classes/Grammar.pir:
15:21 dalek rakudo: Avoid an infinite exception handler loop by popping a handler before calling Rakudo's 'die'. Resolves RT#62700.
15:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​b8095cf5953071f91353a3978222c26043def88
15:23 dalek rakudo: 1a2f50c | jnthn++ | t/spectest.data:
15:23 dalek rakudo: Add S05-grammar/parse_and_parsefile.t to spectests.
15:23 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​a2f50c39d3e5fa5e9fd6ef5ed80e9690a408bd0
15:27 iblechbot joined #perl6
15:54 Tene_ joined #perl6
16:12 stephenlb joined #perl6
16:15 TimToady moritz_: what's wrong with numifying * to 0?  only that nearly all the numeric operators should return a closure instead...
16:16 TimToady +* means { +$_ }
16:16 simcop2387 joined #perl6
16:16 dalek rakudo: 45cf376 | jnthn++ | src/builtins/op.pir:
16:16 dalek rakudo: ++ and -- in both their prefix and postfix forms now use infix:<=>, which means they do read-only checking properly. This corrects RT#60380, but does cause some failures in for.t since <-> is not implemented, but accidentally worked before; will fix that in my next commit.
16:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​5cf3768ac4fa4119b55848c3236d324385ce3a1
16:16 simcop2387-vnc joined #perl6
16:17 pugs_svn r25292 | jnthn++ | [t/spec] Unfudge test for $x++ where $x is readonly.
16:17 moritz_ TimToady: nothing's wrong, but bacek considered that a bug
16:17 TimToady std: say 0>*; say 0<*;
16:17 p6eval std 25291: OUTPUT«############# PARSE FAILED #############␤(Possible runaway string from line 1)␤Unable to parse quote-words subscript; couldn't find right angle quote at /tmp/9YopMvyQGq line 0:␤------> [32m[31m[0m␤FAILED 00:02 33m␤»
16:17 TimToady bacek: see ^^
16:21 icwiener_ joined #perl6
16:21 dalek rakudo: c66322e | pmichaud++ | src/builtins/match.pir:
16:21 dalek rakudo: Add 'make' function (partial RT #63152, chrisdolan++)
16:21 dalek rakudo: Patch courtesy Chris Dolan <chris  at chrisdolan.net>
16:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​66322ec857f23a18f37f0cc64c52b0498300a47
16:31 moritz_ so how can I use $/.make without closures in regexes?
16:31 moritz_ via the {*} hooks? do they work right now?
16:32 kcwu joined #perl6
16:33 hercynium joined #perl6
16:49 dalek rakudo: bb2cdb7 | jnthn++ | src/ (2 files):
16:49 dalek rakudo: Implement <-> (lambda that makes things rw), which gets S04-statements/for.t passing again.
16:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​b2cdb7a37236d6e8b8d5168812cf6d8d42a4d05
16:51 justatheory joined #perl6
16:56 hanekomu_ joined #perl6
17:01 pugs_svn r25293 | lwall++ | [STD] improved error message on "my WTF $x", jnthn++
17:01 pugs_svn r25293 | lwall++ | suppress whitespace expectation when it's the only one
17:04 jnthn damm, I copy STD.pm and lwall++ goes and changes it!
17:04 jnthn ;-)
17:19 bacek joined #perl6
17:25 pugs_svn r25294 | jnthn++ | [t/spec] Some more tests to exercise <->.
17:25 dalek rakudo: 2e70f2d | jnthn++ | src/ (2 files):
17:25 dalek rakudo: Improve handling of <-> so any traits explicitly set in the signature are not overridden with rw.
17:25 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​e70f2dc7eb31ba2214ee9261dc64a0a64f797ea
17:33 ejs joined #perl6
17:45 * ruoso trying to find a way out of typesystem bootstrap circularity
17:48 dalek rakudo: d44d19c | pmichaud++ | src/parser/grammar.pg:
17:48 dalek rakudo: Add parsing of $/ as a param_var (RT #63152).
17:48 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​44d19c58e246e7bef99461afaa3953c3bb9e745
18:10 mikehh joined #perl6
18:18 araujo joined #perl6
18:33 jeremiah joined #perl6
18:34 Psyche^ joined #perl6
18:54 aindilis` joined #perl6
19:31 dalek rakudo: 4367761 | jnthn++ | src/ (2 files):
19:31 dalek rakudo: If optional parameter not supplied, don't do type checks. Resolves RT#61528 and RT#63048.
19:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​3677616c0c21df5252ee269759c4a62bcada103
19:31 dalek rakudo: 50a61ae | jnthn++ | src/parser/grammar.pg:
19:31 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
19:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​0a61ae399a3b1bded42d0711a8afef6354a08c3
19:32 pugs_svn r25295 | jnthn++ | [t/spec] Unfudge optional typed parameter checks for Rakudo.
19:40 pugs_svn r25296 | jnthn++ | [t/spec] Basic tests for typed named parameters including optional check - seems we didn't have any such tests.
19:45 pugs_svn r25297 | lwall++ | History as written by the winners:
19:45 pugs_svn r25297 | lwall++ |     The Long-Promised Grand Unification of + and * Twigils
19:45 pugs_svn r25297 | lwall++ | History as written by the losers:
19:45 pugs_svn r25297 | lwall++ |     The Genocidal Slaughter of Innocent + Twigils
19:45 pugs_svn r25297 | lwall++ |
19:45 pugs_svn r25297 | lwall++ | (anyway, rouso++ for reminding me again)
19:45 pugs_svn r25297 | lwall++ |
19:45 pugs_svn r25297 | lwall++ | Also:
19:45 pugs_svn r25297 | lwall++ |     cleanup of %*ENV semantics, wrt run()
19:45 pugs_svn r25297 | lwall++ |     removal of postfix:<::> from S02
19:45 pugs_svn r25297 | lwall++ |     clarification of %*OPTS scoping
19:50 Eevee joined #perl6
19:53 ruoso TimToady++ # but I'd still kill GLOBAL ;)
19:53 TimToady we could rename it MONKEY_GLOBAL
19:54 ruoso but I'm not sure defaulting to lookup in $*ENV is really a good idea
19:54 ruoso %*ENV actualyl
19:55 ruoso but it might make sense
19:55 ruoso since that are the variables in the shell calling this perl program
19:56 ruoso TimToady, but I was envisioning a "dynamic prelude" where a set of contextual variables was defined
19:56 ruoso that not necessarly would be in GLOBAL or PROCESS
19:56 ruoso or even %*ENV
19:57 ruoso I mean...
19:57 ruoso what I had in mind was that $*OUT was defined in the dynamic prelude as an alias to PROCESS::<$OUT>
19:57 ruoso not that $*OUT did go look in PROCESSS
19:58 jeremiah joined #perl6
20:01 ruoso "temp $*LANG = "ja_JP.utf8";   # WRONG"
20:01 ruoso I think this is a pretty good example of misunderstanding caused by automatic %*ENV lookup
20:02 ruoso (and it just feels wrong, as it looks like PHP) ;)
20:06 M_o_C joined #perl6
20:06 dalek rakudo: b2e7ac9 | jnthn++ | src/parser/actions.pm:
20:06 dalek rakudo: If we use is also, we need to check the class we're trying to extend already exists.
20:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​2e7ac91ab01bc8bc874bf2f00a84c9c478c6b28
20:07 pugs_svn r25298 | jnthn++ | [t/spec] Test for making sure 'is also' on a non-existent class fails.
20:11 jnthn std: role A::B {}; A
20:11 p6eval std 25298: OUTPUT«Undeclared name:␤      A used at 1 ␤ok 00:02 33m␤»
20:21 rindolf joined #perl6
20:27 ruoso jnthn, I'd presume "role A::B {}" is the same as "module A { role B {} }"
20:27 ruoso std: module A { role B {} }; A
20:27 p6eval std 25298: OUTPUT«ok 00:02 33m␤»
20:27 jnthn std: role A::B { }
20:28 p6eval std 25298: OUTPUT«ok 00:02 32m␤»
20:28 jnthn std: role A::B { }; A
20:28 p6eval std 25298: OUTPUT«Undeclared name:␤      A used at 1 ␤ok 00:02 33m␤»
20:28 jnthn ruoso: But STD.pm doesn't treat it that way.
20:28 pugs_svn r25299 | lwall++ | [STD] fix jnthn++'s role A::B {}; A
20:28 ruoso oops
20:28 jnthn ruoso: I agree it's a...oh...nice.
20:28 jnthn :-)
20:28 ruoso the fatest commiter in the west ;)
20:30 ruoso *fastest, that is
20:30 jnthn epic typo!
20:31 jnthn std: role A::B { }; A
20:31 p6eval std 25299: OUTPUT«Undeclared name:␤      A used at 1 ␤ok 00:02 33m␤»
20:31 TimToady ETOOSOON
20:37 jnthn std: role A::B { }; A
20:37 p6eval std 25299: OUTPUT«ok 00:02 33m␤»
20:38 aindilis` joined #perl6
20:39 jferrero joined #perl6
20:39 pmichaud TimToady: btw, I noticed a possible issue with parsing $! as a param_var --  I think the ! gets eaten as a twigil.
20:39 lambdabot pmichaud: You have 1 new message. '/msg lambdabot @messages' to read it.
20:39 jeremiah joined #perl6
20:40 TimToady looking
20:40 pmichaud (I didn't test it... only looked by visual inspection.)
20:41 pmichaud std:  sub foo($!) { say $!; }
20:41 p6eval std 25299: OUTPUT«ok 00:02 34m␤»
20:41 pmichaud it may be treating that as a placeholder as opposed to $! though.
20:41 TimToady yeah, looks like it sees a twigil
20:42 pmichaud anyway, not critical for anything I'm doing at the moment-- just wanted to register that I had observed it.
20:42 TimToady I though it might be a mandatory $, but it's a twigil :)
20:42 TimToady *thought
20:42 pmichaud the important one for us  ($/)  parses okay at the moment.
20:43 pmichaud afk for a bit # pick up kids
20:43 TimToady interesting that it will probably be necessary to write mandatory $ and $ ! rather than $!
20:43 TimToady but at least it's unlikely to be written on purpose
20:44 TimToady since an anonymous placeholder would only be used on params that are already mandatory
20:52 ruoso TimToady, while we're on old issues... any chance we have a solution for the Capture DWIMmery?
21:12 mehryar joined #perl6
21:14 mehryar left #perl6
21:19 pugs_svn r25300 | lwall++ | [STD] don't treat $! param as sigiltwigil, pmichaud++
21:33 Southen joined #perl6
21:51 KsEma joined #perl6
21:51 KsEma Hello. How can i login with LWP::USerAgent and maintain a session while downloading some files ? Being logged in is needed fo rdownloading files
21:55 allbery_b that sounds like a perl5 question. this channel is for perl6 development
21:55 allbery_b try #perl
21:56 KsEma tried.
22:10 simcop2387 joined #perl6
22:15 ejs left #perl6
22:19 * diakopter starts to think of all statements (indeed, all parse nodes) as declarations (of *something*), in some compilation/execution phase/scope or another.
22:26 wknight8111 joined #perl6
22:54 sahadev joined #perl6
23:01 FurnaceBoy joined #perl6
23:08 nacho_ joined #perl6
23:15 aindilis joined #perl6
23:23 jferrero joined #perl6
23:25 skids joined #perl6
23:46 yahooooo joined #perl6

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

Perl 6 | Reference Documentation | Rakudo