pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~315 days 'til Xmas
Set by mncharity on 8 February 2009.
00:15 eternaleye joined 00:19 IllvilJa left 00:20 mikehh left 00:23 zamolxes left 00:25 eternaleye left 00:40 vpace left 00:51 IllvilJa joined 00:54 Limbic_Region joined 01:03 sahadev joined 01:05 SamB joined 01:08 hercynium joined 01:10 FurnaceBoy joined 01:22 lambdabot left 01:25 lambdabot joined 01:30 Minthe joined
sahadev hello, i am using the parrot-under-rakudo approach mentioned in Moritz's blog entry (perlgeek.de/blog-en/perl-6/where-ra...ives.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
01:42 IllvilJa left
sahadev is there an easy fix for this (short of fixing every test script)? 01:42
01:47 eternaleye joined
sahadev looks like this affects only a few test scripts (under t/pmc) 01:51
02:00 Whiteknight left
TimToady std: my (*@) = @*ARGS 02:02
p6eval std 25282: OUTPUT«ok 00:02 34m␤» 02:03
TimToady std: my (*) = @*ARGS
p6eval std 25282: OUTPUT«Undeclared routine:␤ my used at 0 ␤ok 00:02 35m␤»
TimToady std: (*) = @*ARGS
02:03 agentzh left
p6eval std 25282: OUTPUT«ok 00:02 33m␤» 02:03
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:␤------> [$]=@*ARGS␤ expecting special_variable__S_154DollarKet␤FAILED 00:02 34m␤»
diakopter std: $=@*ARGS
p6eval std 25282: OUTPUT«############# PARSE FAILED #############␤Can't understand next input--giving up at /tmp/fRqXtXBAgL line 1:␤------> $=@*ARGS␤ expecting special_variable__S_138DollarEqual␤FAILED 00:02 34m␤» 02:08
TimToady std: :($) = @*ARGS
p6eval std 25282: OUTPUT«ok 00:02 34m␤»
TimToady std: $=FOO 02:09
p6eval std 25282: OUTPUT«ok 00:02 33m␤»
TimToady std: $=($x)
p6eval std 25282: OUTPUT«############# PARSE FAILED #############␤Can't understand next input--giving up at /tmp/hzg9GvGgEo line 1:␤------> $=($x)␤ expecting special_variable__S_138DollarEqual␤FAILED 00:02 34m␤»
TimToady std: $=::($x)
p6eval std 25282: OUTPUT«Potential difficulties:␤ Variable $x is not predeclared at /tmp/CyUArCW1Cz line 1:␤------> $=::($x)␤ok 00:02 33m␤» 02:10
TimToady std: $=::($*x)
p6eval std 25282: OUTPUT«ok 00:02 33m␤»
diakopter std: ::$=3 02:11
p6eval std 25282: OUTPUT«############# PARSE FAILED #############␤Syntax error (two terms in a row?) at /tmp/DBzvlUDXYM line 1:␤------> ::$=3␤ expecting any of:␤ POST␤ infix or meta-infix␤ infix stopper␤ morename␤ postfix␤ postfix_prefix_meta_operator␤ standard
..stopper␤ statement modifie...
TimToady now yer just makin' stuff up... 02:13
diakopter wait, how is that new 02:17
02:18 frew joined 02:19 hercynium left 02:23 sahadev left 02:24 Nom- left
TimToady there's nothing in the syntax that allows $ after :: 02:25
diakopter :) I meant how is it new that I'm making stuff up :P 02:26
aka "what else is new"
02:26 Nom- joined
meppl good night 02:28
02:29 meppl left, agentzh joined
pugs_svn r25283 | lwall++ | [STD] improve error messages on various keywords 02:30
SamB std: $(printf "Hello")
p6eval std 25282: OUTPUT«ok 00:03 33m␤»
SamB um. that's not good.
it didn't reject my Haskells!
TimToady perfectly valid syntax
02:31 alc joined
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:␤------> main = P.return ()␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤FAILED
..00:02 33m␤»
TimToady std: my (*) = 1,2,3 02:35
p6eval std 25283: OUTPUT«Undeclared routine:␤ my used at 0 ␤ok 00:02 35m␤»
TimToady that should improve shortly
cooking&
frew I have to get a better computer so the tests won't take so long! 02:38
frew looks at prices on new quad core systems 02:47
02:56 shinobi-cl joined
s1n frew: do what i do, run then from a cron job :) 02:57
frew s1n: That's a good idea. Do you checkout and rebuild parrot then too? 03:02
s1n frew: i have a quickie shell script that does a svn and git update of parrot and rakudo, then builds everything 03:03
does the spectest too
i usually comment that out though because i only care about things i'm testing :) 03:04
frew right
hm
I think I'll do that
I'll have it start at like, 4 pm
right before I get back from work 03:05
s1n mine's not overly smart, just does each of the steps regardless of $?
i have mine run at 2am
diakopter std: my (*) = 1,2,3
frew you could just have them && chained
p6eval std 25283: OUTPUT«############# PARSE FAILED #############␤Malformed "my" declaration at /tmp/gjDyNIDwku line 1:␤------> my (*) = 1,2,3␤ expecting any of:␤ parameter␤ signature␤ type_constraint␤ whitespace␤FAILED 00:02 33m␤»
s1n frew: i could, but there's like a dozen commands
speaking of which, what happened to the rakudo Configure.pl? 03:06
it's looking in a really odd place for BUILD_DIR
where is it getting that configuration from?
anyone? 03:10
03:14 FurnaceBoy is now known as NotFurnaceBoy 03:22 c9s left
s1n wow, it's sleepy in here 03:27
okay, i figured it out, just for the people who scroll back: 03:28
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:29
Util Thanks for posting that s1n; I was just looking for the answer. 03:33
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
03:34 shinobi-cl left 03:39 Entonian joined 03:42 simcop2387 left 03:45 simcop2387 joined 03:46 simcop2387-vnc joined
s1n Util: np 03:47
gotta go, bad weather
03:48 simcop2387-vnc left
Util Later 03:48
03:53 Limbic_Region left 04:04 SamB left 04:06 SamB joined 04:07 s1n left 04:17 c9s joined 04:18 araujo left 04:21 araujo joined 04:48 skids joined
skids rakudo: class Ss is Str; my Ss $s; 04:51
p6eval rakudo e73c95: RESULT«"Ss"»
skids rakudo: class Pp is Pair; my Pp $d;
p6eval rakudo e73c95: OUTPUT«Null PMC access in get_string()␤current instr.: '!meta_trait' pc 18725 (src/builtins/guts.pir:577)␤»
04:51 NotFurnaceBoy is now known as FurnaceBoy 04:58 dalek left, dalek joined, Southen joined 05:05 alester left 05:08 simcop2387 left, lambdabot left, samlh left, [cotto] left, smtms left, literal left, zostay left, pugs_svn left, kcwu left, dalek left, skids left, Nom- left, moritz_ left, TimToady left, p6eval left, icwiener_ left, agentzh left, frew left, Khisanth left, cognominal left, BinGOs left, szabgab left, rhr left, stephenlb left, ft left, DataPusher left, jrockway left, tcliou|Away left, Gothmog_ left, jnthn left, bigpresh left, revdiablo left, sunnavy left, felipe left, gfldex left, alc left, estrabd left, edenc left, hcchien left, clkao left, preflex left, SamB left, eternaleye left, Minthe left, Grrrr left, broquaint left, xinming left, kbaud1 left, idemal left, LCamel left, AzureStone left, r0bby left, ilbot2 left, gbacon left, scrottie left, Util left, yahooooo left, allbery_b left, jan_ left, mj41 left, elmex left, araujo left, FurnaceBoy left, c1sung left, jeremiah left, buu left, Matt-W left, PerlJam left, orafu left, lisppaste3 left, IRSeekBot left, wolverian left, mtve left, [particle]1 left, drbean left, integral left, Maddingue left, aindilis left, Caelum left, Southen left, c9s left, Tene_ left, spinclad left, baest left, hudnix left, cls_bsd left, avar left, pmichaud left, charsbar left, justatheory left, f00li5h left, diakopter left, cj left, Entonian left, zev left, Cyrus left, dmpk2k left, mdxi left, jjore left, Helios left, go|dfish left, nipotan left, awwaiid left 05:09 jnthn joined, Southen joined, dalek joined, skids joined, araujo joined, c9s joined, SamB joined, simcop2387 joined, Entonian joined, alc joined, agentzh joined, Nom- joined, frew joined, eternaleye joined, Minthe joined, lambdabot joined, FurnaceBoy joined, wolverian joined, ilbot2 joined, Tene_ joined, cls_bsd joined, orafu joined, spinclad joined, yahooooo joined, jjore joined, awwaiid joined, zev joined, LCamel joined, clkao joined, hcchien joined, estrabd joined, Gothmog_ joined, felipe joined, baest joined, buu joined, PerlJam joined, diakopter joined, Maddingue joined, edenc joined, Cyrus joined, mtve joined, nipotan joined, moritz_ joined, irc.freenode.net sets mode: +oooo jnthn PerlJam diakopter moritz_, TimToady joined, gbacon joined, f00li5h joined, sunnavy joined, Matt-W joined, c1sung joined, dmpk2k joined, preflex joined, irc.freenode.net sets mode: +o TimToady, kcwu joined, pugs_svn joined, literal joined, samlh joined, [cotto] joined, zostay joined, allbery_b joined, BinGOs joined, mj41 joined, p6eval joined, jeremiah joined, integral joined, Caelum joined, mdxi joined, jrockway joined, AzureStone joined, Grrrr joined, tcliou|Away joined, broquaint joined, bigpresh joined, avar joined, idemal joined, smtms joined, drbean joined, revdiablo joined, jan_ joined, szabgab joined, kbaud1 joined, elmex joined, DataPusher joined, lisppaste3 joined, Helios joined, hudnix joined, gfldex joined, scrottie joined, r0bby joined, Khisanth joined, cognominal joined, xinming joined, IRSeekBot joined, go|dfish joined, cj joined, justatheory joined, stephenlb joined, icwiener_ joined, aindilis joined, charsbar joined, [particle]1 joined, irc.freenode.net sets mode: +o literal, rhr joined, ft joined, Util joined, pmichaud joined, irc.freenode.net sets mode: +o pmichaud 05:13 broquaint left, Grrrr left, xinming left, idemal left, Minthe left, kbaud1 left, SamB left, eternaleye left, AzureStone left, LCamel left, r0bby left 05:23 SamB joined, eternaleye joined, Minthe joined, xinming joined, r0bby joined, kbaud1 joined, idemal joined, broquaint joined, Grrrr joined, AzureStone joined, LCamel joined, FurnaceBoy left, r0bby left 05:41 vpace joined 06:04 Tene joined 06:08 iblechbot joined 06:12 maerzhase joined 06:13 mikehh joined 06:15 kate21de joined 06:16 justatheory left 06:17 Tene_ left 06:29 iblechbot left 06:30 Entonian left 06:49 DemoFreak joined 07:04 alester joined 07:20 maerzhase left 07:34 vpace left 07:41 Minthe left
pugs_svn r25284 | lwall++ | [STD] define implicit pad lexicals correctly depending on signature 07:44
07:46 alester left 07:47 maerzhase joined
moritz_ std: sub f() { @_ } 07:47
p6eval std 25284: OUTPUT«############# PARSE FAILED #############␤Malformed routine definition at /tmp/asH47Yaa8M line 1:␤------> sub f() { @_ }␤FAILED 00:02 32m␤» 07:48
moritz_ std: sub f { @_ }
p6eval std 25284: OUTPUT«############# PARSE FAILED #############␤Malformed routine definition at /tmp/0I6ar738sQ line 1:␤------> sub f { @_ }␤FAILED 00:02 32m␤»
TimToady std sub f() { @_ } 07:50
std: sub f() { @_ }
p6eval std 25284: OUTPUT«############# PARSE FAILED #############␤Malformed routine definition at /tmp/fH0W8FnShC line 1:␤------> sub f() { @_ }␤FAILED 00:02 32m␤»
TimToady hmm, must not have updated yet
moritz_ it has, but some permission problems with generating the lexers :( 07:51
std: 1+1
p6eval std 25284: OUTPUT«ok 00:02 33m␤»
moritz_ std: sub f { @_ }
p6eval std 25284: OUTPUT«ok 00:02 33m␤» 07:52
moritz_ std: sub f() { @_ }
p6eval std 25284: OUTPUT«Potential difficulties:␤ Variable @_ is not predeclared at /tmp/M8W020u7zM line 1:␤------> sub f() { @_ }␤ok 00:02 33m␤»
TimToady :)
std: -> %_ { %_ }
p6eval std 25284: OUTPUT«ok 00:02 34m␤»
TimToady std: -> %_ { @_ }
p6eval std 25284: OUTPUT«Potential difficulties:␤ Variable @_ is not predeclared at /tmp/8VvV9CliE2 line 1:␤------> -> %_ { @_ }␤ok 00:02 34m␤»
TimToady std: -> %_ { my %_; } 07:53
p6eval std 25284: OUTPUT«Potential difficulties:␤ Variable %_ declared at line 1 is redeclared at /tmp/r8tDf65ZX3 line 1:␤------> -> %_ { my %_; }␤ok 00:02 34m␤»
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>
moritz_ aye
it's really helpful 07:55
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
maybe &postfix and such should require at least one ()
or maybe & interpolation is just a Bad Plan altogether 08:01
bed is a Good Plan though 08:07
zzz &
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, iblechbot joined 08:29 magnarjg1 joined 08:30 magnarjg1 left 08:31 kane_ joined 08:32 kane_ left, ludan joined 08:41 maerzhase left, maerzhase joined 08:47 ludan left 08:58 kate21de left 09:09 masak joined
masak what's the difference, semantically, between '($a, $b, $c) = @values;' and ($a, $b, $c, *) = @values;' ? 09:11
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)␤»
masak reboots p6eval
Matt-W masak: I have never seen that syntax before 09:13
masak moritz_: don't you get rakudobugs? :)
moritz_ ...
masak pats moritz_ 09:14
at least we're sharing the burden now. :)
09:14 stephenlb left
masak oops, sorry. 09:15
Matt-W: don't you get rakudobugs? :)
(too many people starting with 'm' on this channel. some of you guys should change nicks. :P)
Matt-W masak: no I don't 09:16
masak Matt-W: they mostly come throught the p6c list if you're interested.
s/throught/through/
rakudo: (*) = 5
p6eval rakudo e73c95: RESULT«5»
masak ok, that works. 09:17
rakudo: my (*@) = 1,2,3
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)␤»
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)␤»
masak huh. 09:19
oh!
rakudo: my @values = 1..5; my ($a, $b, $c); ($a, $b, $c, *) = @values;
p6eval rakudo e73c95: RESULT«[1, 2, 3, 4]»
09:28 riffraff joined 09:32 ludan joined 09:34 magnarjg joined
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:41 DemoFreak left 09:44 ludan left 09:50 ludan joined 10:02 magnarjg1 joined, magnarjg1 left
jnthn is awake 10:09
svn up && make coffee
moritz_ nah, the web 2.0 people git-pull their coffee :-) 10:10
masak jnthn: good morning! :) 10:11
jnthn moritz_: Put I need coffee to the understand git. ;-) 10:15
masak: morning!
Matt-W Oooh coffee 10:16
I could have coffee
Thanks!
Matt-W -> make coffee
10:17 kane_ joined
jnthn Hmm. Anyone else got a working build of Rakudo? 10:21
moritz_ 10:22
10:22 Util left
jnthn e.g. from latest svn head and git? 10:23
10:23 bacek joined
jnthn hmm...huh 10:23
bacek hi there
moritz_ from yesterday
bacek perl6: say +(0..*)
p6eval pugs: OUTPUT«pugs: out of memory (requested 1048576 bytes)␤»
..rakudo e73c95: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤1␤»
..elf 25285: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 126) line 3.␤ at ./elf_h line 4346␤»
bacek summon masak to submit bugreport :) 10:24
masak submits
bacek: or not. that's a known issue.
lazy infinite lists are not implemented.
Matt-W isn't that forcing evaluation of the infinite list anyway though 10:25
or should it be clever enough to just say Inf
bacek masak: I know. But this bug is different
masak Matt-W: depends on how you implement it, I guess.
bacek: due to the undefined values?
bacek masak: it should yeld Inf 10:26
masak bacek: sure, when lazy infinite lists are implemented :)
bacek perl6: (0..1)[2]= 3;
p6eval rakudo e73c95: OUTPUT«elements() not implemented in class 'Range'␤current instr.: 'postcircumfix:[ ]' pc 3452 (src/classes/Positional.pir:108)␤» 10:27
..pugs: OUTPUT«*** Can't modify constant item: VUndef␤ at /tmp/UfdmooI8cs line 1, column 1-13␤»
..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␤»
masak submits rakudobug
bacek masak: stop. Its 60848
masak stops immediately
bacek And I have partial solution for it :)
masak great.
10:27 dduncan joined
jnthn OK, a s{/}{\} in the makefile did it... 10:28
bacek perl6: say Inf - Inf 10:30
p6eval pugs: OUTPUT«NaN␤»
..rakudo e73c95: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
..elf 25285: OUTPUT«nan␤»
bacek perl6: say "z" - "a"
p6eval rakudo e73c95: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
..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␤»
..pugs: OUTPUT«0␤»
bacek perl6: my $a = 0; say $a.does(Num) 10:32
p6eval pugs: OUTPUT«1␤»
..rakudo e73c95: OUTPUT«0␤»
..elf 25285: OUTPUT«␤»
bacek perl6: my $a = 0; say $a.does(Int)
p6eval pugs, rakudo e73c95: OUTPUT«1␤»
..elf 25285: OUTPUT«␤»
dalek kudo: 7b4118d | jnthn++ | Configure.pl:
[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
bacek perl6: my $a = 'a'..'c'; say ~$a
p6eval elf 25285: OUTPUT«1E0␤»
..pugs, rakudo e73c95: OUTPUT«a b c␤»
bacek perl6: my $a = 'a'..'3'; say ~$a 10:34
p6eval elf 25285: OUTPUT«1E0␤»
..pugs, rakudo e73c95: OUTPUT«␤»
bacek perl6: my $a = 'a'..3; say ~$a
p6eval elf 25285: OUTPUT«1E0␤»
..pugs, rakudo e73c95: OUTPUT«␤»
bacek perl6: my $a = 0..'z'; say ~$a
p6eval pugs, rakudo e73c95: OUTPUT«0␤»
..elf 25285: OUTPUT«␤»
bacek perl6: my $a = -1..'z'; say ~$a
p6eval pugs: OUTPUT«-1 0␤»
..elf 25285: OUTPUT«1E0␤»
..rakudo e73c95: OUTPUT«␤»
bacek looks... strange 10:35
pugs is correct, isn't it? 10:36
(in last case)
moritz_ dunno
depends on how infix:<..>(Any, Any) is defined 10:37
bacek perl6: my $a = -1..^'z'; say ~$a
p6eval elf 25285: OUTPUT«1E0␤»
..pugs: OUTPUT«-1␤»
..rakudo e73c95: OUTPUT«␤»
moritz_ imho there's no dwimmy way to handle such a range
bacek moritz_: agreed.
perl6: say 0>*; say 0<*; 10:38
p6eval pugs: OUTPUT«␤1␤»
..rakudo e73c95: OUTPUT«Use of uninitialized value␤0␤Use of uninitialized value␤0␤»
..elf 25285: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 122) line 3.␤ at ./elf_h line 4346␤»
moritz_ perl6: say 0 == *
p6eval elf 25285: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 120) line 3.␤ at ./elf_h line 4346␤»
..rakudo e73c95: OUTPUT«Use of uninitialized value␤1␤»
..pugs: OUTPUT«␤»
bacek ouch. 10:39
bacek summon masak again :)
moritz_ perl6: say 0 ~~ *
p6eval rakudo e73c95: OUTPUT«1␤»
..elf 25285: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 122) line 3.␤ at ./elf_h line 4346␤»
..pugs: OUTPUT«␤»
moritz_ bacek: what's wrong with numifying * to 0?
bacek moritz_: in range * means totally different. 10:40
perl6: say (0..(+*))[2]
masak bacek: sorry, didn't follow. will need to backlog to see what I was summoned for.
p6eval pugs: OUTPUT«2␤»
..rakudo e73c95: OUTPUT«Use of uninitialized value␤elements() not implemented in class 'Range'␤current instr.: 'postcircumfix:[ ]' pc 3452 (src/classes/Positional.pir:108)␤»
..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'␤
..STD_red/std.rb:210:...
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]
p6eval pugs: No output (you need to produce output to STDOUT)
..rakudo e73c95: OUTPUT«Use of uninitialized value␤elements() not implemented in class 'Range'␤current instr.: 'postcircumfix:[ ]' pc 3452 (src/classes/Positional.pir:108)␤»
..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'␤
..STD_red...
10:48 hanekomu joined
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)␤»
..elf 25285: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 123) line 3.␤ at ./elf_h line 4346␤»
..pugs: OUTPUT«3␤»
10:58 pmurias joined, pmurias left 11:12 dduncan left
jnthn Grr. The proto definedness bug turned out to be trickier than I first though. 11:23
11:36 alc left
dalek kudo: d668ca9 | jnthn++ | src/classes/ClassHOW.pir:
Fixes to make sure dispatches on proto-objects work correctly; resolves RT#62894.
11:37
pugs_svn r25286 | jnthn++ | [t/spec] Tests for proto-object being undefined.
r25287 | jnthn++ | [t/spec] Add test case for RT#62828. 11:52
dalek kudo: 59024e0 | jnthn++ | src/classes/Object.pir:
Fix .clone to deref ObjectRefs properly by calling !DEREF, which follows chains. Resolves RT#62828.
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:54
11:55 ruoso joined
jnthn masak: The commit message pretty much tells the story. :-) 11:55
masak ah. yes. 11:58
thank you for fixing that. it was a very frustrating error.
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. :)
ruoso Hello! 12:01
masak oh hai 12:02
jnthn ponders 63002 12:03
ruoso feels one day closer to the day when GLOBAL dies ;) 12:05
ruoso just reading ClassHOW.pir... convergence++ 12:12
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:14
that question really means.. 12:15
jnthn Not sure.
I prefer the second for implementation ease. ;-)
ruoso if I re-define what Object means in my lexical scope, should a punned class use the custom Object or the canonical Object?
jnthn Or the Object as it was in the scope where the role was defined... ;-) 12:16
Canonical object is sure easiest though.
ruoso right.. right
jnthn It's what we're doing in Rakudo for now.
ruoso there are three options indeed
in the case of being th efirst 12:17
we need the punned class to be lexically scoped
jnthn Yeah
ruoso in the case of being the second, we need the module loading to be lexically scoped
jnthn Given the punned class is attached to the role, I don't see that flying.
(The first option.) 12:18
ruoso (not the name aliasing, but the actual module loading)
or maybe not, because lexically, it does not relate to the code that imports it 12:19
but how would you override the meaning of Object there then?
role SubRole does Role { my class Object { ... }; }; 12:20
or... 12:21
jnthn That would probably still not override the meaning of Object for the pun. just within that class.
erm
within that role's body, I mean.
Oh, hmm. It could do.
12:22 ispy_ joined
jnthn (Classes inside roles are interesting within themselves, when you start to consider parametric roles...) 12:22
ruoso so... my role Role does OUTER::Role { my class Object is OUTER::Object {...}; }; 12:23
or maybe you need... 12:24
my class Object is OUTER::Object {...}; my role Role does OUTER::Role;
my class Object is OUTER::Object {...}; my role Role does OUTER::Role {...};
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...
my class Object is OUTER::Object {...}; my role Foo does OUTER::Foo {...};
jnthn Phew! :-)
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
Which to me seems fairly sane.
ruoso so it would be equally possible to: 12:27
use CustomObjectImpl; role Foo does OUTER::Foo {}; 12:28
jeremiah OHAI
jnthn jeremiah: HAI! 12:29
ruoso actually
use Foo;
use CustomObjectImpl;
jeremiah Hey jnthn
ruoso role Foo does OUTER::Foo {};
jeremiah I have an email in the works for you, details about Gothenburg before Oslo. :)
jnthn jeremiah: The awesome! :-)
Looking forward do it.
jeremiah If you haven't made plans for housing in Oslo I know a cheap and good hostel. 12:30
Called Perminalen.
jnthn I didn't make plans yet, no. 12:31
Cheap? Is Oslo? -) 12:32
;-)
ruoso hmmm... I think "use Foo; role Foo does OUTER::Foo {}" is not going to work...
jnthn I suspect that'd be a re-declaration error.
jeremiah heh, relatively cheap
ruoso jnthn, so how could I redefine it without it being an error? 12:33
12:34 iblechbot left
jnthn ruoso: If you're going to re-define it, why'd you just import it? :-P 12:36
use Foo; { my role Foo does OUTER::Foo { ... } } 12:37
ruoso because I want to export a customized version of Foo
jnthn Hmm...
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
where things happen sintatically 12:39
likle
my @a = (1,2,3);
in order to customize the behavior of @a
I need to replace the meaning of the Array role
(of course I could say "my @a is SomethingElse = (1,2,3)" but that's not the poitn) 12:40
jnthn Hmm. 12:42
Yes, see what you're getting at.
ruoso maybe... 12:45
BEGIN { require Foo;
argh
the problem is that the name Foo is always lexically bound either by use or require 12:46
maybe we would need something like... use Foo as OriginalFoo;
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.
But some way to do name-mapping on import may work, yes. 12:48
12:53 ispy_ left
ruoso jnthn, I think the name "Foo" is aliased by the "use" or "require" itself 12:54
I was thinking this is a assumption made to know what to bind to the current scope 12:56
meaning
if you "use Foo"
it will find Foo.pm
then Foo.pm might have
class Foo {}; class Bar {}; 12:57
does Bar gets aliased into your lexical scope?
I was assuming it doesn't
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"
jnthn Haven't been looking at import/export much myself - I think pmichaud and particle have been, though...
pugs_svn r25288 | jnthn++ | [t/spec] Test for range constructed from parameter. 13:00
dalek kudo: 1beabec | jnthn++ | src/ (3 files):
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
13:01 smtms left
pugs_svn r25289 | jnthn++ | [t/spec] Untodo an integration test that Rakudo now can pass. 13:02
13:04 skids left 13:07 maerzhase1 joined 13:08 maerzhase left 13:10 iblechbot joined
jnthn std: my WTF $x; 13:16
p6eval std 25289: OUTPUT«############# PARSE FAILED #############␤Malformed "my" declaration at /tmp/18w1hgIpuy line 1:␤------> my WTF $x;␤ expecting any of:␤ scoped declarator␤ typename␤FAILED 00:02 32m␤»
13:24 jferrero joined
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. :-)
masak there's more where that came from :) 13:31
13:32 riffraff left
jnthn wants to try and get us back down to 250 tickets in the nost too distant future. 13:35
masak it used to be 150. :) 13:39
13:41 masak left
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
jnthn Largely. ;-) 13:44
moritz_ don't blame the one who delivers the message :-) 13:46
Matt-W Nonsense, my entire working life is based around blaming the testers who find the bugs in my code 13:47
If they didn't find them, nobody would ever notice
14:05 iblechbot left
dalek kudo: fba805c | jnthn++ | src/parser/grammar.pg:
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
14:11 skids joined 14:18 kbaud1 left
mikehh my latest build of rakudo passes the spectests 14:19
14:27 ejs joined
dalek kudo: 1b7a3e3 | jnthn++ | src/parser/grammar.pg:
A few more panics on malformed code from STD.pm. Resolves RT#59828.
14:29
14:41 smtms joined
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:43
14:51 Exodist joined 14:54 DemoFreak joined
dalek kudo: cad0468 | jnthn++ | src/classes/Grammar.pir:
Implement .parsefile method on Grammar.
14:55
pugs_svn r25291 | jnthn++ | [t/spec] Tests for .parse and .parsefile on Grammar objects. 15:09
dalek kudo: 8b8095c | jnthn++ | src/classes/Grammar.pir:
Avoid an infinite exception handler loop by popping a handler before calling Rakudo's 'die'. Resolves RT#62700.
15:21
kudo: 1a2f50c | jnthn++ | t/spectest.data:
Add S05-grammar/parse_and_parsefile.t to spectests.
15:23
15:24 hudnix left 15:27 iblechbot joined 15:54 Tene_ joined 16:01 Tene left 16:06 ejs left 16:12 stephenlb joined 16:14 simcop2387 left 16:15 araujo left
TimToady moritz_: what's wrong with numifying * to 0? only that nearly all the numeric operators should return a closure instead... 16:15
+* means { +$_ } 16:16
16:16 simcop2387 joined
dalek kudo: 45cf376 | jnthn++ | src/builtins/op.pir:
++ 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
16:16 simcop2387-vnc joined
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
TimToady std: say 0>*; say 0<*;
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:␤------> ␤FAILED 00:02 33m␤»
TimToady bacek: see ^^
16:20 icwiener_ left 16:21 icwiener_ joined
dalek kudo: c66322e | pmichaud++ | src/builtins/match.pir:
Add 'make' function (partial RT #63152, chrisdolan++)
16:21
16:26 kcwu left, simcop2387-vnc left
moritz_ so how can I use $/.make without closures in regexes? 16:31
via the {*} hooks? do they work right now?
16:32 kcwu joined 16:33 hercynium joined 16:47 maerzhase1 left
dalek kudo: bb2cdb7 | jnthn++ | src/ (2 files):
Implement <-> (lambda that makes things rw), which gets S04-statements/for.t passing again.
16:49
16:50 eternaleye left 16:51 justatheory joined 16:56 hanekomu_ joined 16:58 icwiener_ is now known as icwiener, hanekomu_ left
pugs_svn r25293 | lwall++ | [STD] improved error message on "my WTF $x", jnthn++ 17:01
r25293 | lwall++ | suppress whitespace expectation when it's the only one
jnthn damm, I copy STD.pm and lwall++ goes and changes it! 17:04
;-)
17:05 mikehh left 17:11 hanekomu left 17:17 bacek left 17:19 bacek joined
pugs_svn r25294 | jnthn++ | [t/spec] Some more tests to exercise <->. 17:25
dalek kudo: 2e70f2d | jnthn++ | src/ (2 files):
Improve handling of <-> so any traits explicitly set in the signature are not overridden with rw.
17:29 jferrero left 17:33 ejs joined
ruoso trying to find a way out of typesystem bootstrap circularity 17:45
dalek kudo: d44d19c | pmichaud++ | src/parser/grammar.pg:
Add parsing of $/ as a param_var (RT #63152).
17:48
18:05 ludan left 18:10 mikehh joined 18:18 araujo joined 18:33 jeremiah left, jeremiah joined 18:34 Psyche^ joined 18:51 Patterner left, Psyche^ is now known as Patterner 18:54 aindilis` joined 19:00 yahooooo left 19:08 aindilis left
dalek kudo: 4367761 | jnthn++ | src/ (2 files):
If optional parameter not supplied, don't do type checks. Resolves RT#61528 and RT#63048.
19:31
kudo: 50a61ae | jnthn++ | src/parser/grammar.pg:
Merge branch 'master' of [email@hidden.address]
pugs_svn r25295 | jnthn++ | [t/spec] Unfudge optional typed parameter checks for Rakudo. 19:32
r25296 | jnthn++ | [t/spec] Basic tests for typed named parameters including optional check - seems we didn't have any such tests. 19:40
r25297 | lwall++ | History as written by the winners: 19:45
r25297 | lwall++ | The Long-Promised Grand Unification of + and * Twigils
r25297 | lwall++ | History as written by the losers:
r25297 | lwall++ | The Genocidal Slaughter of Innocent + Twigils
r25297 | lwall++ |
r25297 | lwall++ | (anyway, rouso++ for reminding me again)
r25297 | lwall++ |
r25297 | lwall++ | Also:
r25297 | lwall++ | cleanup of %*ENV semantics, wrt run()
r25297 | lwall++ | removal of postfix:<::> from S02
r25297 | lwall++ | clarification of %*OPTS scoping
19:50 Eevee joined
ruoso TimToady++ # but I'd still kill GLOBAL ;) 19:53
TimToady we could rename it MONKEY_GLOBAL
ruoso but I'm not sure defaulting to lookup in $*ENV is really a good idea 19:54
%*ENV actualyl
but it might make sense 19:55
since that are the variables in the shell calling this perl program
TimToady, but I was envisioning a "dynamic prelude" where a set of contextual variables was defined 19:56
that not necessarly would be in GLOBAL or PROCESS
or even %*ENV
I mean... 19:57
what I had in mind was that $*OUT was defined in the dynamic prelude as an alias to PROCESS::<$OUT>
19:57 jeremiah left
ruoso not that $*OUT did go look in PROCESSS 19:57
19:58 jeremiah joined
ruoso "temp $*LANG = "ja_JP.utf8"; # WRONG" 20:01
I think this is a pretty good example of misunderstanding caused by automatic %*ENV lookup
(and it just feels wrong, as it looks like PHP) ;) 20:02
20:06 M_o_C joined
dalek kudo: b2e7ac9 | jnthn++ | src/parser/actions.pm:
If we use is also, we need to check the class we're trying to extend already exists.
20:06
pugs_svn r25298 | jnthn++ | [t/spec] Test for making sure 'is also' on a non-existent class fails. 20:07
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
ruoso jnthn, I'd presume "role A::B {}" is the same as "module A { role B {} }" 20:27
std: module A { role B {} }; A
p6eval std 25298: OUTPUT«ok 00:02 33m␤»
jnthn std: role A::B { }
p6eval std 25298: OUTPUT«ok 00:02 32m␤» 20:28
jnthn std: role A::B { }; A
p6eval std 25298: OUTPUT«Undeclared name:␤ A used at 1 ␤ok 00:02 33m␤»
jnthn ruoso: But STD.pm doesn't treat it that way.
pugs_svn r25299 | lwall++ | [STD] fix jnthn++'s role A::B {}; A
ruoso oops
jnthn ruoso: I agree it's a...oh...nice.
:-)
ruoso the fatest commiter in the west ;)
*fastest, that is 20:30
jnthn epic typo!
std: role A::B { }; A 20:31
p6eval std 25299: OUTPUT«Undeclared name:␤ A used at 1 ␤ok 00:02 33m␤»
TimToady ETOOSOON
jnthn std: role A::B { }; A 20:37
p6eval std 25299: OUTPUT«ok 00:02 33m␤»
20:38 aindilis` left, aindilis` joined 20:39 jeremiah left, jferrero joined
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
TimToady looking 20:40
pmichaud (I didn't test it... only looked by visual inspection.)
std: sub foo($!) { say $!; } 20:41
p6eval std 25299: OUTPUT«ok 00:02 34m␤»
pmichaud it may be treating that as a placeholder as opposed to $! though.
TimToady yeah, looks like it sees a twigil
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 :)
*thought
pmichaud the important one for us ($/) parses okay at the moment.
afk for a bit # pick up kids 20:43
TimToady interesting that it will probably be necessary to write mandatory $ and $ ! rather than $!
but at least it's unlikely to be written on purpose
since an anonymous placeholder would only be used on params that are already mandatory 20:44
ruoso TimToady, while we're on old issues... any chance we have a solution for the Capture DWIMmery? 20:52
21:00 M_o_C left 21:12 mehryar joined 21:14 mehryar left, ruoso left
pugs_svn r25300 | lwall++ | [STD] don't treat $! param as sigiltwigil, pmichaud++ 21:19
21:31 Southen left 21:33 Southen joined 21:43 rindolf left 21:51 KsEma joined
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:51
allbery_b that sounds like a perl5 question. this channel is for perl6 development 21:55
try #perl
KsEma tried. 21:56
22:09 simcop2387 left 22:10 simcop2387 joined 22:15 ejs left 22:16 skids left
diakopter starts to think of all statements (indeed, all parse nodes) as declarations (of *something*), in some compilation/execution phase/scope or another. 22:19
22:26 wknight8111 joined 22:41 KsEma left 22:48 jferrero left 22:54 sahadev joined 23:01 FurnaceBoy joined 23:08 nacho_ joined 23:15 aindilis joined 23:17 iblechbot left 23:18 aindilis` left 23:23 jferrero joined 23:25 skids joined 23:30 DataPusher left, hercynium left 23:32 FurnaceBoy left 23:46 yahooooo joined