»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moderator on 10 October 2009.
diakopter std: sub my { my &my }; my(); 00:15
p6eval std 28804: OUTPUT«ok 00:02 128m␤»
00:18 Confield left, Confield joined
tann rakudo: caller(); # :) 00:21
p6eval rakudo d5a2ee: OUTPUT«caller() is not yet implemented in Rakudo, sorry␤in sub caller (file src/gen_setting.pm, line 2360)␤called from Main (file /tmp/efpqVsPwTY, line 0)␤»
diakopter :)
00:21 frew joined
diakopter rakudo: Main 00:22
p6eval rakudo d5a2ee: OUTPUT«Could not find non-existent sub Main␤in Main (file src/gen_setting.pm, line 206)␤»
diakopter rakudo: non-existent 00:23
p6eval rakudo d5a2ee: OUTPUT«Could not find non-existent sub non-existent␤in Main (file src/gen_setting.pm, line 206)␤»
diakopter rakudo: my &say := ¨ say 6; # not a "re-declaration"? 00:32
p6eval rakudo d5a2ee: OUTPUT«6␤in Main (file /tmp/euHlSByODN, line 0)␤»
00:38 lumi joined 00:49 brunov joined 00:57 agentzh joined 01:14 Raugturi joined 01:19 lumi joined 01:22 hercynium joined 01:26 Raugturi joined 01:27 kst joined 01:28 Raugturi joined 01:30 Raugturi joined 01:34 Raugturi joined 01:35 rgrau joined 01:36 orafu joined 01:37 kst joined 01:53 TiMBuS joined
colomon rakudo: sub infix:<T+>($a, $b) { $a + $b; }; say [T+](1, 2, 3); 01:54
p6eval rakudo d5a2ee: OUTPUT«6␤»
pugs_svn r28805 | colomon++ | [t/spec] Test [+] and [T+], the later of which triggers the Texas "non-dwimmy hyperoperator" bug. 01:57
01:59 lumi joined
diakopter rakudo: say 4 R+ 5; 02:00
p6eval rakudo d5a2ee: OUTPUT«9␤»
colomon Oooo, R! I forgot about that. Another set of tests to add... 02:03
rakudo: sub infix:<T+>($a, $b) { $a + $b; }; say 4 RT+ 5; 02:04
p6eval rakudo d5a2ee: OUTPUT«9␤»
colomon wow, I didn't expect that to actually work...
02:05 eternaleye joined
araujo wonders if some perl6 peep is already google waving here 02:06
pmichaud fair warning: dalek flood imminent 02:07
02:09 dalek joined 02:18 lumi joined 02:21 nbrown joined 02:32 xenoterracide joined 02:33 envi^home joined 02:53 nbrown joined 02:59 lumi joined 03:17 kst joined 03:27 tak11 joined 03:50 sparc joined 03:57 rhr joined 04:09 rhr__ joined 04:14 lumi joined 04:25 justatheory joined 04:59 kst joined 05:05 lumi joined 05:21 hudnix joined
eternaleye rakudo: class A { Str $name; method iAm() { say $name ~ " is class " ~ self.WHAT ~ " software!"; }; }; my $vm = A.new( name => "Rakudo" ); $vm.iAm(); 05:29
p6eval rakudo d5a2ee: OUTPUT«Confused at line 2, near "$name; met"␤in Main (file <unknown>, line <unknown>)␤»
carlin rakudo: class A { has Str $name; method iAm() { say $name ~ " is class " ~ self.WHAT ~ " software!"; }; }; my $vm = A.new( name => "Rakudo" ); $vm.iAm(); 05:30
p6eval rakudo d5a2ee: OUTPUT«Rakudo is class A() software!␤»
carlin rakudo: class A { has Str $name; method iAm() { say $name ~ " is class " ~ self.WHAT.perl ~ " software!"; }; }; my $vm = A.new( name => "Rakudo" ); $vm.iAm(); # fix A() ;-) 05:32
p6eval rakudo d5a2ee: OUTPUT«Rakudo is class A software!␤»
eternaleye carlin: Thanks 05:35
05:38 lumi joined 05:49 ShaneC joined 06:01 zamolxes joined 06:05 awwaiid joined 06:11 infrared joined
quietfanatic rakudo: ::int32 := ::Int; say int32.WHAT 06:12
p6eval rakudo d5a2ee: OUTPUT«Int()␤»
quietfanatic rakudo: subset int32 of Int; say int32.WHAT
p6eval rakudo d5a2ee: OUTPUT«()␤»
quietfanatic rakudo: subset int32 of Int; say int32.perl
p6eval rakudo d5a2ee: OUTPUT«␤»
quietfanatic rakudo: subset int32 of Int; say int32.WHAT.perl
p6eval rakudo d5a2ee: OUTPUT«␤»
quietfanatic rakudo: subset int32 of Int; .say for int32.^methods
p6eval rakudo d5a2ee: OUTPUT«!SUBTYPE_ACCEPTS␤!SUBTYPE_PROTOOVERRIDES␤»
quietfanatic rakudo: subset int32 of Int where {2**$_; say int32.WHAT 06:13
p6eval rakudo d5a2ee: OUTPUT«Unable to parse block; couldn't find final '}' at line 2, near ""␤in Main (file <unknown>, line <unknown>)␤»
quietfanatic oops
rakudo: subset int32 of Int where {-(2**16) <= $_ < 2**16}; say int32.WHAT
p6eval rakudo d5a2ee: OUTPUT«()␤»
quietfanatic rakudo: subset int32 of Int where {-(2**16) <= $_ < 2**16}; say int32!SUBTYPE_ACCEPTS 06:14
p6eval rakudo d5a2ee: OUTPUT«Method '!SUBTYPE_ACCEPTS' not found for invocant of class ''␤in Main (file src/gen_setting.pm, line 206)␤»
quietfanatic rakudo: subset int32 of Int where {-(2**16) <= $_ < 2**16}; say int32.'!SUBTYPE_ACCEPTS'
p6eval rakudo d5a2ee: OUTPUT«Method '!SUBTYPE_ACCEPTS' not found for invocant of class ''␤in Main (file src/gen_setting.pm, line 206)␤»
quietfanatic rakudo: class int32 is Int {}; say int32.WHAT 06:15
p6eval rakudo d5a2ee: OUTPUT«int32()␤»
quietfanatic rakudo: class int32 is Int {}; my int32 $x = 42; say $x.WHAT
p6eval rakudo d5a2ee: OUTPUT«Assignment type check failed; expected int32, but got Int␤in Main (file <unknown>, line <unknown>)␤»
06:17 infrared joined 06:18 kst joined 06:20 am0c joined 06:23 lumi joined 06:24 infrared joined 06:44 desertm4x joined 06:55 schemer999iphone joined 07:03 infrared joined 07:12 schemer999iphone left 07:34 yves joined 07:38 iblechbot joined 08:06 Su-Shee joined
Su-Shee good morning. :) 08:06
08:07 lumi joined 08:08 rblasch joined 08:13 Bzek joined 08:14 dr_df0 joined 08:23 icwiener joined 08:24 rblasch_ joined
pugs_svn r28806 | colomon++ | [t/spec] Add tests for R (reversed) versions of basic overloaded operatiors. 08:43
08:44 dr_df0 left 08:51 eMaX joined 08:52 zamolxes joined
carlin wishes "Method 'foo' not found for invocant of class 'bar'"-type errors gave a file/line number ... 09:02
09:17 Khisanth joined 09:18 masak joined
masak aloha, Perl 6 people. 09:18
again, The Weekend has arrived.
dalek p-rx: 9e137f5 | pmichaud++ | build/ (4 files):
A few final bootstrap pieces.
09:22
p-rx: 8439afd | pmichaud++ | (8 files):
Complete parse bootstrapping of P6Regex library -- PGE is no
p-rx: d561f7f | pmichaud++ | (4 files):
More build cleanups -- remove references to PGE libraries and code.
p-rx: ddf1fa8 | pmichaud++ | src/stage0/P6 (2 files):
Update the stage0 compiler files.
p-rx: 1e495f8 | pmichaud++ | src/cheats/PGE.pir:
Remove no-longer-needed cheats for PGE.
masak pmichaud++ 09:23
carlin pmichaud++ # Making dalek work for his living
09:24 lumi joined 09:32 NorwayGeek joined 10:00 kst joined 10:02 houghton joined 10:13 zloyrusskiy joined
masak perl6: my @a = { foo => "one" }, { foo => "zwei" }, { foo => "trois" }; say (@a>>.<foo>).perl 10:14
p6eval elf 28806: OUTPUT«Not a HASH reference at ./elf_h line 260.␤ at ./elf_h line 5881␤»
..pugs: OUTPUT«undef␤»
..rakudo d5a2ee: OUTPUT«["one", "zwei", "trois"]␤»
masak rakudo++
10:20 desertm4x_ joined
avar so rakudo is better than pugs now?:) 10:30
masak please be more specific :) 10:31
10:34 eMaX joined, lichtkind joined, TiMBuS|Away joined
lichtkind jnthn: hai 10:34
10:39 bpetering joined 11:09 araujo joined 11:14 muixirt joined
muixirt hi 11:14
perl6: $i=0; say $i 11:15
p6eval rakudo d5a2ee: OUTPUT«Symbol '$i' not predeclared in <anonymous> (/tmp/uRMVUhH32E:2)␤in Main (file <unknown>, line <unknown>)␤»
..pugs: OUTPUT«*** ␤ Unexpected "="␤ expecting "::"␤ Variable "$i" requires predeclaration or explicit package name␤ at /tmp/0ioj60svE2 line 1, column 3␤»
..elf 28806: OUTPUT«Global symbol "$i" requires explicit package name at (eval 122) line 3.␤Global symbol "$i" requires explicit package name at (eval 122) line 4.␤ at ./elf_h line 5881␤»
muixirt declaring variables is a must in Rakudo? 11:16
will that change?
carlin Strict mode is enabled by default 11:17
I think there are plans to disable it on the command-line but it will still be default for scripts
muixirt looks at en.wikibooks.org/wiki/Perl_6_Progra..._Variables 11:18
11:19 maschla joined
muixirt the spec says: 11:25
When "strict" is in effect (which is the default except for one-liners), non-qualified variables (such as $x and @y) are only looked up from lexical scopes, but never from package scopes.
what does that mean?
masak it means you have to use 'my'. 11:26
or some other declarator.
muixirt perl6: {$i=0; say $i} 11:27
p6eval rakudo d5a2ee: OUTPUT«Symbol '$i' not predeclared in <anonymous> (/tmp/zwkeE2OaMT:2)␤in Main (file <unknown>, line <unknown>)␤»
..pugs: OUTPUT«*** ␤ Unexpected "="␤ expecting "::"␤ Variable "$i" requires predeclaration or explicit package name␤ at /tmp/3ClDIMvspC line 1, column 4␤»
..elf 28806: OUTPUT«Global symbol "$i" requires explicit package name at (eval 122) line 3.␤Global symbol "$i" requires explicit package name at (eval 122) line 4.␤ at ./elf_h line 5881␤»
masak muixirt: the outer {} are unnecessary in this case.
bpetering muixirt: you can probably get by with just 'rakudo: ' to avoid polluting the channel :) 11:28
muixirt rakudo: sub a {$i=0; say $i}; a()
p6eval rakudo d5a2ee: OUTPUT«Symbol '$i' not predeclared in a (/tmp/r4JdRYzFKU:2)␤in Main (file <unknown>, line <unknown>)␤» 11:29
masak bpetering! \\o/
bpetering hi masakbot :O)
masak hovers happily in the air
muixirt so if non-qualified variables are only looked up from lexical scopes, so what is a lexical scope then? 11:30
muixirt is sorry about dumb questions but ...
masak muixirt: a lexical scope is anything within a pair of {}. questions are completely OK here.
rakudo: my $a = 2; if True { my $a = 5; say $a }; say $a 11:31
p6eval rakudo d5a2ee: OUTPUT«5␤2␤»
muixirt so my example with that sub a should work in strict mode?
11:31 Whiteknight joined
masak muixirt: there are two lexical scopes in there. one outside the if block, and one inside. 11:31
muixirt: do you mean non-strict mode?
muixirt masak: please look at en.wikibooks.org/wiki/Perl_6_Progra..._Variables 11:32
masak Ok, I'm looking.
muixirt so a "non-qualified variables" is a variable without being declared with my? 11:34
masak "Variables don't need to be declared beforehand, but Perl 6 gives you the flexibility to do it if you want." -- This is only true in non-strict mode, which is off everywhere by default except in -e programs.
muixirt: aye.
muixirt but rakudo fails with ./perl6 -e '$i=0; say $i' 11:36
masak correct.
muixirt but is this coreect behaviour 11:37
muixirt confused
masak muixirt: as carlin said, it's not implemented yet.
muixirt oh, i forgot
masak remember, Rakudo isn't Perl 6, but it tries to be, little by litte.
bpetering Think of Perl 6 as the Platonic Ideal and Rakudo as... 11:39
masak ...shadows on the wall of a cave. :) 11:40
bpetering Tag-team explanations FTW 11:41
11:41 lumi joined
bpetering Laziness FTW. Thanks masakbot :) 11:43
masak any time, citizen. 11:45
bpetering SPQR - Same Perl, Quite Reworked? 11:47
carlin rakudo: my %h = foo => 'bar'; say %h<quux>.defined; say %h.perl 11:48
jnthn oh hai
p6eval rakudo d5a2ee: OUTPUT«0␤{"foo" => "bar", "quux" => undef}␤»
masak \\o/
jnthn oooh...somebody mentioned me...or wanted me.
jnthn backlogs to find out
masak jnthn: I think it was lichtkind who said hai.
lichtkind jnthn: masak: yes 11:49
jnthn lichtkind: oh hai
lichtkind: ako sa mas? :-)
jnthn caught up on sleep 11:50
lichtkind jnthn: ujde, vipada to na hadku
11:51 fridim_ joined
masak the LTA error message I love the least right now: on UnknownType.new(), Rakudo emits "invoke() not implemented in class 'Undef'", with a line number and file in gen_setting. finding the offending line of code (and what went wrong) is left as an exercise to the programmer. whoppee. 11:51
jnthn std: UnknownType.new() 11:52
p6eval std 28806: OUTPUT«Undeclared name:␤ UnknownType used at line 1␤ok 00:01 104m␤»
jnthn std je ovela lepsie
oh, gah
STD is a lot better.
Not enough coffee to do multiple languages in one IRC channel yet today. :-)
jnthn goes to fill up the coffee machine with raw materials 11:53
bpetering jnthn: coffee for effect or are you an afficionado? 11:54
jnthn bpetering: Coffee seems to give my brain a kick start in a morning. 11:56
bpetering: I actually only drink coffee in the morning though. If I drink coffee on an evening, I can't sleep.
Well, "morning" 11:57
;-)
bpetering I'm the same with evenings. I stay up all night thinking... usually nonsense
bpetering thinks of Voltaire 11:59
is this morning for you jnthn? 12:01
jnthn bpetering: Well, it's still "the couple of hours after I got out of bed". 12:02
So it's morning in that sense. ;-)
Though in my timezone morning ended a while ago. 12:03
jnthn was debugging resig until 1:30am-ish, and then needed some time to wind down before attempting to sleep
bpetering Heh, my mornings finish about 4pm that way :) 12:04
carlin "Method 'postcircumfix:{ }' not found for invocant of class 'Failure' in Main (file src/gen_setting.pm, line 206)" 12:11
:(
masak carlin: let me guess, you're overriging postcircumfix:<{ }>?
s/overriging/overriding/ 12:12
oh, or maybe just doing $foo<bar><baz> where $foo<bar> doesn't exist...
jnthn Aye, it may be an auto-viv fail.
carlin masak: It'll be the second one. But finding where it is will be fun 12:13
jnthn rakudo: my %foo; say %foo<bar><bar>
p6eval rakudo d5a2ee: OUTPUT«Method 'postcircumfix:{ }' not found for invocant of class 'Failure'␤in Main (file src/gen_setting.pm, line 206)␤»
jnthn rakudo: class Failure is also { method postcircumfix:<{ }>(*@slice) { die "oh noes" } }; my %foo; say %foo<bar><bar> 12:14
p6eval rakudo d5a2ee: OUTPUT«oh noes␤in method Failure::postcircumfix:{ } (file /tmp/NufSpXpr6k, line 2)␤called from Main (file /tmp/NufSpXpr6k, line 0)␤»
jnthn What's supposed to happen when you index into a failure object, anyway? 12:15
Because somebody with enough fu to add something to the setting can possibly improve current situation. :-)
masak that'd be very nice.
jnthn heh, some days the BBC really does win on "insightful" 12:17
I mean, "6% of the worlds languages are spoken by 94% of the world's population" is just fine.
However, the following bullet point being "The remaining 94% of languages are spoken by only 6% of the population" is, erm, kinda redundant. :-)
masak very reassuring, though. :) 12:20
jnthn readies himself to dig into a couple of awkward changes 12:23
Su-Shee bakes a cake due to c++ frustration. can I have a native webkit in perl6 now, please? 12:24
jnthn oh wow, pmichaud++ has bootstrapped NQP! 12:25
masak aye. pmichaud++! 12:26
jnthn rofl
12:26 lumi joined
jnthn didn't read README yet, but he just found IGNOREME and read that. 12:27
carlin (reverse psychology)++
12:28 Chillance joined
jnthn ponders which ouch-task to do first. 12:28
muixirt 'Buf' doesn't work in Rakudo right now? 12:54
masak only very little.
it's undertested in the spectests, too.
muixirt rakudo: my Buf @a; say @a.WHAT 12:55
p6eval rakudo d5a2ee: OUTPUT«Array()␤»
masak rakudo: my $x = Buf.new; say $x.WHAT
p6eval rakudo d5a2ee: OUTPUT«Buf()␤»
masak muixirt: when you put a type before '@a', you do not give the type of @a, but of its elements.
muixirt rakudo: my $x=Buf.new; $x=1,2,3,4; 12:56
p6eval rakudo d5a2ee: ( no output )
muixirt masak: thanks 12:57
rakudo: my $x=Buf.new; $x=1,2,3,4; say $x 12:58
p6eval rakudo d5a2ee: OUTPUT«1 2 3 4␤»
jnthn rakudo: sub foo($a, $b = $a, $c = $b) { say "$a,$b,$c" }; foo(1)
p6eval rakudo d5a2ee: OUTPUT«1,1,1␤»
masak muixirt: you just replaced the Buf with [1,2,3,4].
jnthn Ah, current Rakudo gets that right too.
(resig just started to...)
muixirt rakudo: my $x=Buf.new; $x=1,2,3,4; say $x.WHAT 12:59
p6eval rakudo d5a2ee: OUTPUT«Array()␤»
muixirt rakudo: my $x=Buf.new; $x=[1,2,3,4]; say $x.WHAT
p6eval rakudo d5a2ee: OUTPUT«Array()␤»
masak weird; t/spec/S02-builtin_data_types/buf.t does not contain a single test pertaining to Bufs.
muixirt so how do I put stuff in a Buf?
masak rakudo: my $buf = 'ab'.encode('ASCII'); say $buf.list.perl 13:00
p6eval rakudo d5a2ee: OUTPUT«[97, 98]␤»
masak rakudo: my $buf = Buf.new(97, 98); say $buf.decode 13:03
p6eval rakudo d5a2ee: OUTPUT«␤»
masak hmpf. that didn't work.
muixirt is Buf suitable for binary data?
masak yes, I'd say it is. 13:04
13:05 icwiener_ joined
jnthn masak: Would you not have to give Buf an encoding too? 13:05
masak rakudo: my $buf = Buf.new(97, 98); say $buf.decode('ASCII') 13:06
p6eval rakudo d5a2ee: OUTPUT«␤»
jnthn Aww.
masak jnthn: it should default to some encoding.
jnthn rakudo: my $buf = 'ab'.encode('ASCII'); say $buf.decode('ASCII'); 13:07
p6eval rakudo d5a2ee: OUTPUT«␤»
jnthn fail
13:12 dr_df0 joined
jnthn rakudo: sub foo($a, $b where { $b > $a }) { say "ok" }; foo(1,2); foo(1,1) 13:14
p6eval rakudo d5a2ee: OUTPUT«ok␤Parameter type check failed; expected Any, but got Int for $b in call to foo␤in sub foo (file <unknown>, line <unknown>)␤called from Main (file /tmp/t9TzYFprfK, line 0)␤»
jnthn std: sub foo($a, $b where { $b > $a }) { say "ok" }; foo(1,2); foo(1,1) 13:15
p6eval std 28806: OUTPUT«ok 00:02 115m␤»
jnthn You know, there's one interesting thing about this.
We actually have to bind $b before we can finish checking whether we can bind $b.
It took me all of 30 seconds to re-order to code and make this work, now I've fixed the tougher cookie of the lexical capture stuff. 13:16
But it had never really occured to me before.
masak why do we actually have to bind $b? 13:18
jnthn masak: Look at the constraint block.
masak yes. I see now.
we do. 13:19
jnthn masak: It needs to find the lexical $b.
masak aye.
jnthn We were sorta getting it by accident before.
masak :)
jnthn Because we had a two-pass bind and then check thingy.
masak std: sub foo($a where ( $b > $a }, $b) {}
p6eval std 28806: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse parenthesized expression; couldn't find final ')' at /tmp/Cg8NpYeOVi line 1:␤------> [32msub foo($a where ( $b > $a [33m⏏[31m}, $b) {}[0m␤ expecting any of:␤ standard stopper␤ statement modifier loop␤ terminator␤FAILED
..00:02 113…
masak opos. 13:20
std: sub foo($a where { $b > $a }, $b) {}
p6eval std 28806: OUTPUT«ok 00:01 108m␤»
masak jnthn: I don't think STD.pm is really 100% correct here.
jnthn Hmm. That one *is* going to fail.
masak: Me either.
masak so we shouldn't rule out that your example might be erroneous too.
maybe $b simply isn't bound at that point. 13:21
jnthn masak: That is also quite possible.
masak TimToady: ^
jnthn If it's the case, I expect we'll have some spectets to fix.
masak it is an interesting question. 13:22
13:22 lumi joined, Bzek_ joined
jnthn I guess the counter-point is, "I wrote it after the parameter name so I'd expect reading along the line of code it's already introduced" 13:22
std: my $a = $a++ 13:23
p6eval std 28806: OUTPUT«ok 00:01 106m␤»
jnthn See, you can do that. And immediately after the "my $a", $a refes to that $a.
It's, more practically, what we expect in my Dog $x .= new(name => 'Fido') 13:24
So if we consider the presence of a parameter name in a signature as a kind of "declaration"...
But then, I'm not really sure it is. Signatures themselves don't declare things, they just suggest to the thingy they're attached to - if any - what it might like to declare. 13:25
masak nod. 13:29
in other words, we don't really know.
bpetering just trying to follow this discussion - "my $a = $a++" refers to an old P5 trick to get the value of an outer lexical, no? 13:30
jnthn bpetering: Not in Perl 6.
rakudo: my $a = $a++; say $a;
p6eval rakudo d5a2ee: OUTPUT«Use of uninitialized value␤␤»
masak bpetering: though the contrast is illustrative.
jnthn oh heh
masak rakudo: my $a = ++$a; say $a 13:31
p6eval rakudo d5a2ee: OUTPUT«1␤»
jnthn oh, masak++
masak ++masak
jnthn rakudo++ # beats me :-)
bpetering jnthn: I know, just making sure my understanding of the semantics is correct and is likely to lead to overall comprehension. :)
dr_df0 :)
bpetering s/semantics/Perl 6 semantics/ 13:32
sorry to derail... please continue. :) 13:35
jnthn bpetering: It's OK, I think I've already said all I was going to. :-) 13:36
Well, one of two tricky fixes done. 13:40
carlin rakudo: my @a=1..5; @a[10].defined; say @a.perl 13:42
p6eval rakudo d5a2ee: OUTPUT«[1, 2, 3, 4, 5, undef, undef, undef, undef, undef, undef]␤»
carlin Is that supposed to do that?
jnthn carlin: I *think* that's an auto-vivification bug. 13:44
masak it is. 13:45
jnthn ooh, for once I think I've found a test fail that's going to be easy to fix... 13:46
carlin rakudo: my @a = 1..5; say @a.exists(3); say @a.exists(6);
p6eval rakudo d5a2ee: OUTPUT«1␤0␤»
jnthn carlin: exists is probably fine, I think the problem is in postcircumfix:<[ ]> 13:47
carlin rakudo: my @a=1..5; @a.exists(10); say @a.perl
p6eval rakudo d5a2ee: OUTPUT«[1, 2, 3, 4, 5]␤»
carlin Yip 13:48
Easy to work around then
14:07 Psyche^ joined 14:13 lumi joined
masak wow, this feels just like the summer of 2008. my codebase is now so big that I'm running into Parrot complexity limitations. 14:13
bpetering g'night all... masak, i'm working, not shirking off Text::CSV tests :) 14:15
jnthn Hmm. Does anyone have trouble building master Rakudo against latest Parrot? 14:16
masak what's the difference? :P
jnthn: yes. for three days now.
bpetering masak: one brings me food.
jnthn ah shit.
masak: It looks like:
Null PMC access in find_method()
current instr.: 'perl6;Perl6;Grammar;Actions;_block13'
For you too?
masak yeah, something like that.
jnthn Shit.
masak let me try again, and I'll check.
jnthn Just what I need.
parrot--
14:16 fridim_ joined
masak If I'm the little bird you bring down in a mine to check that the oxygen doesn't run out, then people have more or less been ignoring that little bird in the last few days. :) 14:19
I think the most attention I've gotten for this is "you should probably try to build with PARROT_REVISION, not bleeding Parrot" 14:20
(but that didn't work, either)
jnthn Trouble is, I need to bump to latest.
masak yup, that's the exact error message I'm getting. 14:21
good hunting! 14:22
14:25 Limbic_Region joined
masak jnthn: I'll see if I can bisect while you're having lunch. 14:26
jnthn masak: Thanks!
masak: kid51 suggests trying at 41833
masak yeah, I saw.
I'll try that.
jnthn Thanks. 14:29
jnthn makes niva sandwich
14:36 xinming_ joined 14:43 vapace joined
pmichaud good morning, #perl6 14:43
jnthn pmichaud: oh hai 14:44
pmichaud: I fear one of your recent NQP/PAST changes may have borken the Rakudo build...not sure yet though. 14:45
masak pmichaud: o/ -- nqp-rx straps boots, cool!
jnthn pmichaud: Nice work on the bootstrap though ;-)
masak jnthn: so far I have 41833 builds, 41897 doesn't.
jnthn masak: OK. 41871 would be a good one to check. 14:46
japhb masak, "straps boots" makes me think of "knocks boots", and I fear such interaction with a parrot may be illegal in some jurisdictions ...
masak jnthn: gotcha.
jnthn googles knocks boots out of curiosity 14:47
japhb: oh my...
colomon rakudo: say [R+] (1, 2, 3);
p6eval rakudo d5a2ee: OUTPUT«6␤» 14:48
colomon rakudo: say (<a b c> <<R~>> <1 2 3>).perl;
p6eval rakudo d5a2ee: OUTPUT«Bool::False␤»
colomon errr... what? 14:49
japhb rakudo: say (<a b c> >>R~<< <1 2 3>).perl;
p6eval rakudo d5a2ee: OUTPUT«Confused at line 2, near ">>R~<< <1 "␤in Main (file <unknown>, line <unknown>)␤»
pmichaud jnthn: afaik, my NQP/PAST changes have been pretty innocuous, but it's possible they've broken something. Should be an easy-ish fix if that's the case.
nqp-rx is bootstrapping the parser, yes; next step is to bootstrap all of nqp 14:50
jnthn pmichaud: I'm hoping so, because that's much preferable to horrible Parrot guts bug that I first expected
colomon std: say (<a b c> <<R~>> <1 2 3>).perl;
p6eval std 28806: OUTPUT«ok 00:01 111m␤»
jnthn pmichaud: It appears to crash really, really early on in gen_actions.pir
pmichaud: Here:
get_hll_global $P15, "P6metaclass"
$P15."new_class"("Perl6::Grammar::Actions")
It looks like $P15 ends up null.
colomon rakudo: say (<a b c> >>R~<< <1 2 3>).perl;
p6eval rakudo d5a2ee: OUTPUT«Confused at line 2, near ">>R~<< <1 "␤in Main (file <unknown>, line <unknown>)␤»
colomon std: say (<a b c> >>R~<< <1 2 3>).perl;
p6eval std 28806: OUTPUT«ok 00:02 109m␤»
pmichaud oh, yes, that'd be a fail. 14:51
checking.
jnthn pmichaud: Thanks.
14:51 arthur-_ joined
jnthn just bumped Parrot to latest and was a tad...irked...by this. ;-) 14:51
jnthn feels better now he's eaten 14:52
japhb: The worst bit is that the second hit on Google for it lets you order a mug with the phrase and definition on it... 14:53
jnthn adds to list of things NOT to buy mum for Christmas.
masak jnthn: 41865 builds, 41871 doesn't. 14:54
14:54 infrared_ joined
jnthn pmichaud: Probably issue was in patch "[nqp]: Add simple class inheritance to NQP." 14:54
pmichaud it is.
I changed a get_root_global to a get_hll_global
jnthn Oops.
pmichaud and that doesn't work in non-parrot hll namespaces.
14:56 lumi joined
jnthn OK. At least seems something quickly fixable. :-) 14:56
pmichaud It is, fixing now. 14:57
japhb jnthn, Gosh, I can't imagine why you wouldn't want to send those mugs to your whole family!
14:57 japhb left, japhb joined
japhb grrr 14:57
Apparently I don't have X focus set to follow mental focus yet. 14:58
masak yup. 41870 builds fine. so the badness starts at 41871. 15:02
diakopter #perl6: g'morning
pmichaud I've fixed the badness locally -- testing parrot and then will commit. 15:03
oops, not fixed yet. (sigh)
okay, now fixed. testing. 15:05
I guess this trunk fail mars the celebration of nqp-rx progress, eh? ;-) 15:06
this morning I've been idly wondering how hard it would be to port NQP to smop. 15:07
(er, nqp-rx) 15:08
jnthn pmichaud: eh, shit happens. :-)
pmichaud one of the features of nqp-rx is that it no longer requires Parrot coroutines.
or continuations (yet), for that matter.
jnthn would be interested to port to .Net CLR.
pmichaud r41901 should fix the nqp problem. 15:09
(just committed)
jnthn pmichaud: ok, thanks, checking
colomon just read the section on hyper operators properly for the first time, wow. 15:13
pmichaud okay, time for me to head to a meeting; bbiaw 15:14
colomon say -<< (1, 2, 3); 15:15
rakudo: say -<< (1, 2, 3); 15:17
p6eval rakudo d5a2ee: OUTPUT«say requires an argument at line 2, near " -<< (1, 2"␤in Main (file src/gen_setting.pm, line 2545)␤»
jnthn colomon: Note that Rakudo doesn't parse all hyperoperators yet.
colomon rakudo: say -« (1, 2, 3);
p6eval rakudo d5a2ee: OUTPUT«say requires an argument at line 2, near " -\\x{ab} (1, 2,"␤in Main (file src/gen_setting.pm, line 2545)␤»
jnthn Including unary ones.
colomon Yes, the coolness of that example is somewhat reduced by it not working.
jnthn colomon: I expect the switch to a more std-like grammar will fix that up. 15:18
colomon sure, sure.
15:18 justatheory joined
jnthn pmichaud: It helped, thanks! 15:20
colomon I'm still just trying to add tests to S06-operator-overloading/workout.t, and never realized before today that prefix operators could be hypered.
do you guys know -- is it intended that something like >>R-<< should work? 15:21
spec seems vague here...
or R>>-<< for that matter?
masak now getting "Class Signature already registered!" when compiling perl6_s1.pbc... 15:22
jnthn masak: Ah, ouch 15:23
I just fixed that in my branch.
masak: And forgot it would affect master too.
masak glad you're on it, then.
15:23 lichtkind_ joined
jnthn masak: in src/parser/signature.pir, try this: 15:24
-class Perl6::Compiler::Signature;
+module Perl6::Compiler::Signature;
(evil but seems to work)
masak: oh, sorry 15:26
s/pir/pm/
masak nod.
jnthn: aye, works.
jnthn \\o/
masak: Feel free to push.
masak will do.
jnthn Not sure what'll happen come merge time, giving I've also done it. 15:27
Hopefully git will just be like "lol identical win!" and not care. :-)
masak git is wise and wondrous.
oops, I accidentally formatted my commit like a bug report. ;) 15:29
jnthn Habbits. :-P 15:31
Aww.
I tried to subclass Parrot's Sub PMC to give us our own P6Sub PMC so it could manage signature cloning without us having to keep doing isa checks all over the place, and missing them. 15:32
masak and with the new freshly-built Rakudo, I'm not getting those pesky Parrot stacktraces any more. \\o/
jnthn But...segv. :-|
dalek kudo: 24ebf39 | masak++ | src/parser/signature.pm:
[src/parser/signature.pm] fixed class collision

   perl6_s1.pbc...
  <jnthn> masak: Ah, ouch
  <jnthn> masak: in src/parser/signature.pm, try this:
  <jnthn> -class Perl6::Compiler::Signature;
  <jnthn> +module Perl6::Compiler::Signature;
  <jnthn> (evil but seems to work)
  <masak> jnthn: aye, works.
  <jnthn> \\o/
  <jnthn> masak: Feel free to push.
  <masak> will do.
masak :/ 15:33
15:33 lumi joined
colomon Unexpected. My refactoring / improvements to workout.t have earned me a Null PMC access. I haven't gotten one of those with this file yet... 15:40
on a test that used to work.... 15:41
Ah, it was an accidentally doubled semicolon. 15:42
jnthn Doubled semicolon = segv?!
masak sometimes, yes.
colomon rakudo: sub A($a) { $a * $a;; }; say A(10) + 2;
p6eval rakudo d5a2ee: OUTPUT«Null PMC access in can()␤in Main (file src/gen_setting.pm, line 206)␤» 15:43
masak at the end of blocks, for exa... yeah.
colomon just like that, pretty much.
masak there's a ticket about it.
colomon that one's been reporte... masak++
I'm assuming that isn't supposed to work, right? 15:44
masak please be more specific. 15:45
15:45 FOAD_ joined
colomon $a * $a;; should return null rather than $a * $a, right? 15:46
s/null/undef/ 15:47
Ack, switching to non-Texas operators internally in the basic operator definitions really broke workout.t. 15:48
colomon is wondering if it would be faster to fix the dang Rakudobug than it would be to add all the skips to workout.t...
jnthn :-/ 15:52
Ah, that's 2 more spectets won back. 15:55
16:02 justatheory joined 16:04 markmont joined, tak11 joined, rdice joined 16:06 NorwayGeek_ joined 16:07 pmurias joined
pmurias hi 16:08
masak o/ 16:09
16:09 rblasch__ joined 16:19 am0c joined
masak question: what would put Perl 6 on Slashdot before April? 16:23
s/Slashdot/Whatever tech reporting site/
pmurias masak: why do you ask? 16:24
masak pmurias: because I figure the answer might lead to new ways of thinking.
16:26 xinming joined
Su-Shee masak: a cool application based on perl 6. some well-known important developer suddenly participiating. 16:27
masak aye.
it'd have to be a pretty cool application.
Su-Shee I don't think so, people are already waiting for something six-ish; something real and tangible will probably reported. 16:28
masak we already have real and tangible things. they haven't made frontpages so far. :) 16:33
16:33 mberends joined
jnthn mberends! \\o/ 16:33
mberends oh hai jnthn! 16:34
jnthn masak: Well, yeah, but we probably didn't shout about them either. ;-)
masak mberends!
mberends :D
jnthn mberends: How goes things?
masak just when I was about to defect and make dinner...
16:34 nihiliad joined
jnthn Oh wow, placeholders were very broken in resig. Those probably count for some of the fails... 16:35
mberends jnthn: fine. had very little time for coding lately, but have almost managed to keep up with backlogs offline :) The progress on the new binder and regex engine are amazing! 16:36
jnthn mberends: New binder is being hard work. 16:37
mberends: More than I might have first guessed.
But, getting there. 16:38
The regex engine stuff from pmichaud++ is awesome progress, though we've yet to plug it into Rakudo and start using it for real.
mberends jnthn: yes, it must be a gut-wrench for Rakudo, but there is so much that will $profit from this refactor. 16:39
jnthn I think after the merge we immediately will win 100s of tests.
By being able to bind nameds to positionals.
mberends masak, sprixel testing is sliding down my todo list, due to multiple internal organ replacement surgery, and proto is now top of the pile :) 16:41
mberends gets head down into proto
masak hugme: hug mberends
hugme hugs mberends and blushes
masak mberends: just so you know, people have been asking about the installed-modules branch. 16:42
mberends blushes and grins :D
diakopter internal organs and exoskeleton
mberends diakopter: would you call this your 5th generation?
diakopter heh 16:43
close to that..., counting the versions in JS, and then the versions in C#, and now the versions in JS 16:44
mberends diakopter, do you have any (non working) code to show? I'm dead curious how it looks...
diakopter I keep 'discovering' more efficient interpreter model techniques and they each require total refactorings :D 16:45
sure I'll commit it now )o(
mberends :D diakopter++
diakopter heh 16:46
you say that now...
yesterday on the plane back from Shwartzifornia I got args and subroutines working again... this time declared/installed from the Perl 6 setting instead of JS. 'cept just about all they can do is run the jseval 'jscode' form.... but that's sufficient for bootlevitation 16:48
masak mmm... bootlevitation... 16:49
diakopter (running the jseval 'jscode' form is their sole functionality b/c nothing else is built-in. Oh, and class declaration/constructors and 'type objects'. I guess that's something. 16:52
)
mberends ) ;) 16:54
masak is that a levitating banana?
16:54 kst joined
diakopter mberends: e.g., there's an Int.pm under setting/ a la rakudo's 16:54
masak mberends: I might do some Temporal Flux hacking tonight, if I'm not caught up in other coding. either way, I'll be here tomorrow. 16:55
jnthn finally makes the cup of tea he's been repeatedly boiling the kettle for the last hour to make, but kept forgetting. 16:56
mberends diakopter: so will there be a sprixel specific set of setting/ modules?
colomon www.lostechies.com/blogs/dahlbyk/ar...lever.aspx
diakopter mberends: sprixel-specific as opposed to what
jnthn masak: btw, in the next couple of days it may be good to set some Real Code onto the new signature binder. 16:58
mberends diakopter: er, I thought rakudo's setting modules were implementation independent, apart from the few containing Q:PIR code.
pmurias pmichaud: re porting nqp to smop, the hard part would be writing the runtime
diakopter mberends: not really... b/c they're "is also"
masak jnthn: I figured as much. when you think it's ready, I'll build November, Druid and proto against the branch. 16:59
diakopter colomon: C#? yay!
masak colomon: is functional abstraction too clever? no.
pmurias lets just use goto! ;) 17:01
masak need to make food. see you people around. o/ 17:02
jnthn I suspect quite a few C# folks have a "OO is the one true way" and are still clinging to that rather than embracing functional programming.
Certainly that was the sense I got when reading comments from some folks about the introduction of anonymous methods, then lambdas.
diakopter jnthn: :) but "we know how to make optimizers for OO" 17:03
pmurias hates having a broken t on the keyboard :(
diakopter pmurias: pong from days ago 17:04
pmurias i don't remember why i ponged you then 17:05
pugs_svn r28807 | diakopter++ | [sprixel] much regression. <- an understatement
jnthn Hmm...we have a test case like this:
pmurias s/ponged/pinged/
jnthn my $topic = 'topic unchanged';
my @topic_array = <topic array unchanged>;
my $c = { $topic = $_; @topic_array = @_ };
$c( 2, 3, 4, 5 );
The test expects that $_ gets 2 bound to it, and @_ gets (2,3,4,5) 17:06
Which is kinda...huh?
17:06 Whiteknight joined
jnthn I mean, @_ is a slurpy array here, no? 17:06
pmurias diakopter: might have been thinking about unifing sprixel's and mildew-js runtimes
diakopter pmurias: oh.. :) cool idea to think about 17:07
jnthn So either $_ should get a value, and @_ gets the rest, or $_ gets nothing and @_ gets the lot, but not the same value getting bound to $_ *and* into the slurpy, surely...
diakopter jnthn: sorry to noisify your question/musings
colomon Sorry, guys, didn't mean to imply I agreed with the article. (I blame infant interruptions for my disjointed irc'ing.) Just thought it was an interesting code example, and wondered about how to approach it in p6.
pmurias & 17:08
jnthn ah, here we are, from S06. 17:09
Note also that if the sub's block contains placeholder variables
(such as C<$^foo> or C<$:bar>), those are considered to be formal
parameters already, so in that case C<@_> or C<%_> fill the role of
sopping up unmatched arguments.
So @_ should not get things that are bound to other parmaeters. 17:10
That reduces the question to whether $_ is considered a parameter on that block.
17:12 lumi joined
diakopter pmichaud: I switched sprixel to operate on state objects, each linked to a node in the original ast instead of cloning the nodes in the ast. Each operation/opcode can still hang cached stuff on the original ast, though. 17:12
pmichaud: oh wait, you're not pmurias; where'd he go 17:13
pm<tab><tab>
mberends heh: sprixel/setting/Int.pm: this.invoker.invoker.invoker.invoker.invoker.class_obj.ctor = ... 17:14
diakopter :)
mberends diakopter: do you think you're still sane?
17:14 zloyrusskiy joined
diakopter hey, what kind of question is that 17:16
:P
I suspect it takes a lot to get an insane person to recognize/admit they're insane......?
jnthn lol 17:17
mberends diakopter: that was the double meaning of my question ;) 17:18
colomon diakopter: for what it's worth, neither Rat.pm nor Complex.pm uses "is also". though there are a couple of PIR functions in Complex... 17:19
pugs_svn r28808 | jnthn++ | [t/spec] Correct a test that I'm pretty sure expects the wrong thing (and if that's the right thing, it's a silly right thing anyway. ;-)) 17:20
colomon rakudo: my $n = 10; my $m = 20; (^($n - 1)).map({^$m}.pick}).say
p6eval rakudo 24ebf3: OUTPUT«Confused at line 2, near "({^$m}.pic"␤in Main (file <unknown>, line <unknown>)␤»
colomon rakudo: my $n = 10; my $m = 20; (^($n - 1)).map({(^$m).pick}).say 17:21
p6eval rakudo 24ebf3: OUTPUT«52110700513␤»
diakopter colomon: oh... I just meant they're not directly useful without a little munging
17:21 justatheory joined
diakopter I mean, they can't be used directly/drop-in 17:21
jnthn diakopter: We'll probably stop using "is also" in a little while.
But yes, for now a little munge required.
colomon rakudo: my $n = 10; my $m = 20; (^($n - 1)).map({(^$m).pick}).perl.say 17:22
p6eval rakudo 24ebf3: OUTPUT«[3, 10, 2, 6, 13, 12, 5, 8, 18]␤»
colomon rakudo: my $n = 10; my $m = 20; (^($n - 1)).map({(^$m).pick}).sort.perl.say
p6eval rakudo 24ebf3: OUTPUT«[0, 1, 2, 4, 5, 6, 10, 14, 19]␤»
diakopter more to the point though, every implementation's circularity saw slices itself in different [numbers of] dimensions, so much of the functionality that works in rakudo's setting would have to be built up incrementally in sprixel 17:23
actually, I guess not *too* incrementally, since most of the tree's branches are deferred.. 17:27
mberends: Act.js is the new interp.js
Act[ivation] 17:28
builtin.js goes away as well
builtins.js I meant
17:29 meppl joined
diakopter separate files for each "opcode" are nice... 17:30
17:31 mikehh joined
mberends suddenly has a lot of code surveying to do. nice :) 17:33
mikehh rakudo (24ebf39) builds on parrot r41901 - make test PASS / make spectest_smolder (up to r28807 -> #29130) FAIL - Ubuntu 9.10 (beta) amd64
rakudo - t/spec/S06-signature/optional.rakudo - Failed test: 12
rakudo - 35,259 ok, 1 failed, 519 todo, 6,880 skipped and 0 unexpectedly succeeded
that's 27859 passing tests - 79%+ 17:35
17:38 lumi joined 17:39 zloyrusskiy joined
pugs_svn r28809 | diakopter++ | [sprixel] workaround my File::Find ignorance 17:40
muixirt is there a working archive of the perl6 mailing lists? 17:42
pmichaud dev.perl.org/perl6/lists 17:44
see also perl6.org/community/ 17:45
diakopter mberends: also, this refactor will allow sprixel to stop faking the setting for STD, and just use the real sprixelCORE.setting
muixirt perl.org seems to be down. ? 17:47
colomon rakudo: my $n = 10; my $m = 2; my @a = (^($n - 1)).map({(^$m).pick}).sort; ((@a, $m) >>-<< (0, @a)).perl.say
p6eval rakudo 24ebf3: OUTPUT«[0, 0, 0, 1, 0, 0, 0, 0, 0, 1]␤»
pmichaud yes, perl.org seems downish
muixirt pmichaud: ok, thanks
pmichaud I also sometimes use google groups -- e.g. groups.google.com/group/perl.perl6....age/topics
but I often find it frustrating to search/use.
colomon rakudo: my $n = 10; my $m = 2; my @a = (^($n - 1)).map({(^$m).pick}).sort; @a.perl.say; ((@a, $m) >>-<< (0, @a)).perl.say 17:48
p6eval rakudo 24ebf3: OUTPUT«[0, 0, 0, 0, 1, 1, 1, 1, 1]␤[0, 0, 0, 0, 1, 0, 0, 0, 0, 1]␤»
colomon rakudo: my $n = 10; my $m = 20; my @a = (^($n - 1)).map({(1..($m-1)).pick}).sort; @a.perl.say; ((@a, $m) >>-<< (0, @a)).perl.say 17:49
p6eval rakudo 24ebf3: OUTPUT«[8, 10, 10, 10, 10, 16, 17, 19, 19]␤[8, 2, 0, 0, 0, 6, 1, 2, 0, 1]␤»
mberends diakopter: it's terrific! You's bin workin' hard! It looks like you might be making some other radical changes before sprixel settles down, so thanks for the early commit. 17:50
diakopter mberends: I figure it's better to get the runtime's internals/opcodes stable and fully capable earlier than later... not a glamorous route though. 17:52
mberends diakopter: quite right. It's no fun changing the foundation when the walls are busy going up. 17:53
diakopter :) or working on the walls while the foundation is converted from slab to pier-and-beam (or skyhooks). 17:54
or, working on the walls and roof, and then discovering the foundation is atop a landfill or former gasoline tanks or toxic waste dump, and realizing the whole building needs lifted and [trans-]ported to another foundation on an entirely different property. 17:57
or atop a cemetery of Indigenous Persons 17:58
jnthn Even changing one part of the foundations is an epic pain when a lot is built on top of it. 18:00
diakopter wants a foundation made of skyhooks 18:02
lisppaste3 colomon pasted "My implementation of the "Is Functional Abstraction Too Clever?" code" at paste.lisp.org/display/88801
18:04 shinobi-cl joined
shinobi-cl rakudo: class AClass; my Str $!name; method A (Str $!name) {...}; method show_name { say $!name }; my AClass Test .= new; Test.A('somename'); Test.show_name; 18:06
p6eval rakudo 24ebf3: OUTPUT«Malformed declaration at line 2, near "AClass Tes"␤in Main (file <unknown>, line <unknown>)␤»
shinobi-cl rakudo: class AClass; my Str $!name; method A (Str $!name) {...}; method show_name { say $!name }; my AClass $Test .= new; $Test.A('somename'); $Test.show_name; 18:07
p6eval rakudo 24ebf3: OUTPUT«No such attribute '$!name'␤in Main (file src/gen_setting.pm, line 206)␤»
jnthn shinobi-cl: has Str $!name
shinobi-cl oh, yes i forgot
rakudo: class AClass; has Str $!name; method A (Str $!name) {...}; method show_name { say $!name }; my AClass $Test .= new; $Test.A('somename'); $Test.show_name; 18:08
p6eval rakudo 24ebf3: OUTPUT«Str()␤»
shinobi-cl rakudo: class AClass; has Str $!name; method A (Str $!name) {...}; method show_name { say $!name }; my AClass $Test .= new; &Test.A('somename'); &Test.show_name;
p6eval rakudo 24ebf3: OUTPUT«Method 'A' not found for invocant of class 'Failure'␤in Main (file src/gen_setting.pm, line 206)␤»
diakopter oops; forgot a dir 18:10
18:10 payload joined
shinobi-cl rakudo: class AClass; has Str $!name; method A (Str $a_name) { $!name = $a_name }; method show_name { say $!name }; my AClass $Test .= new; $Test.A('somename'); $Test.show_name; 18:11
p6eval rakudo 24ebf3: OUTPUT«somename␤»
18:13 lumi joined
shinobi-cl rakudo: say qx[ls -l]; 18:14
p6eval rakudo 24ebf3: OUTPUT«operation not permitted in safe mode␤in Main (file /home/p6eval//p1/lib/parrot/1.6.0-devel/languages/perl6/lib/Safe.pm, line 24)␤»
shinobi-cl rakudo: say readdir; 18:15
p6eval rakudo 24ebf3: OUTPUT«Could not find non-existent sub readdir␤in Main (file src/gen_setting.pm, line 206)␤»
18:18 justatheory joined 18:21 pmurias joined
diakopter pmurias: see backlog above... mis-sent to pmichaud 18:23
pmurias seen 18:24
diakopter: what we would need to share runtime would be to unify the way methods are called 18:25
diakopter Perl 6 methods or runtime object methods? 18:26
pmurias same thing 18:27
what do you mean by runtime object methods?
diakopter what do you mean by "same thing"? :)
I meant underlying js objects and ast operations/expressions. 18:28
jnthn oh phew...fixing all of the parameterized roles tests that were failing just needed a well-placed one-line code addition. :-)
pmurias would love to hear of a way to remap caps lock to t 18:29
(on x windows)
18:30 lumi joined
pmurias diakopter: what do you mean by underlyin js objects 18:30
?
diakopter probably it would be better if you explain first what you meant by unifying the way methods are called... (Perl 6 methods) 18:31
pmurias ok :)
in mildew a method call is compiled to object.DISPAtCH(interpreter,identifier,capture) 18:32
18:33 Ptn joined
pmurias and returns stuff by calling setr 18:33
diakopter ok, sounds good. what does the interpreter object store?
pmurias the current continuation 18:34
diakopter oh
pmurias i'll jus? use ? ins?ead of t as pas?ing i? is slow
diakopter ok :)
pmurias ?he in?erpre?er could be made a globall 18:35
lambdabot help <command>. Ask for help for <command>. Try 'list' for all commands
18:35 __ash__ joined
diakop hrm ?ha? didn'? work 18:35
pmurias suspec?s he annoys people grea?ly wi?h using ? 18:36
diakopter how about _ instead; it's a little easier on the eyes
pmurias ok 18:37
_ does'_ look like an enocoding epic fail
__ash__ can you make pointers in perl6?
shinobi-cl rakudo: my $lang_list = ' ls -1 <LANG> | tr [:upper:] [:lower:] '; $lang_list.substr ('<LANG>', 'mydir'); say $lang_list; 18:38
p6eval rakudo 24ebf3: OUTPUT«Confused at line 2, near "('<LANG>',"␤in Main (file <unknown>, line <unknown>)␤»
shinobi-cl rakudo: my $lang_list = ' ls -1 <LANG> | tr [:upper:] [:lower:] '; $lang_list.subst ('<LANG>', 'mydir'); say $lang_list;
p6eval rakudo 24ebf3: OUTPUT«Confused at line 2, near "('<LANG>',"␤in Main (file <unknown>, line <unknown>)␤»
diakopter the in_erpre_er doesn'_ need to be a global; the current continuation is the 'this' object in sprixel's opcode function bodies 18:39
pmurias looks at sprixel 18:40
diakopter I was just about to write the (single-dispatch only for now, of course) .DISPATCH method, but I wasn't going to make that routine a JS member of the JS objects representing Perl 6 objects.
pmurias: disregard interp.js and builtins.js; they're the old new thing 18:41
18:41 quietfanatic joined
pmurias diakopter: so wha_ should i look a_? 18:41
quietfanatic pmurias: xmodmap -e 'keysym Caps_Lock = t'
oh wait
that has an unexpected side effect 18:42
diakopter Act.js, Context.js (just committing now), setting/Int.pm, control_flow/*.js (forgot to commit earlier), misc/*.js 18:43
pmurias quietfanatic: didn'_ work
quietfanatic huh, weird
well, when I do it IT make it LOOK LIKE This.
shinobi-cl rakudo: my $lang_list = ' ls -1 <LANG> | tr [:upper:] [:lower:] '; say $lang_list.subst('<LANG>', 'mydir'); 18:44
p6eval rakudo 24ebf3: OUTPUT« ls -1 mydir | tr [:upper:] [:lower:] ␤»
shinobi-cl rakudo: my $lang_list = ' ls -1 <LANG> | tr [:upper:] [:lower:] '; $lang_list.= subst ('<LANG>', 'mydir'); say $lang_list;
p6eval rakudo 24ebf3: OUTPUT«No applicable methods.␤in Main (file src/gen_setting.pm, line 206)␤»
diakopter pmurias: one minute for me to commit
shinobi-cl rakudo: my $lang_list = ' ls -1 <LANG> | tr [:upper:] [:lower:] '; $lang_list .= subst ('<LANG>', 'mydir'); say $lang_list; 18:45
p6eval rakudo 24ebf3: OUTPUT«No applicable methods.␤in Main (file src/gen_setting.pm, line 206)␤»
pugs_svn r28810 | diakopter++ | [sprixel] stuff I forgot earlier. mberends: see this ci too 18:46
shinobi-cl rakudo: my $lang_list = ' ls -1 <LANG> | tr [:upper:] [:lower:] '; given $lang_list { subst ('<LANG>', 'mydir'); say} 18:47
p6eval rakudo 24ebf3: OUTPUT«say requires an argument at line 2, near "}"␤in Main (file src/gen_setting.pm, line 2545)␤» 18:48
shinobi-cl rakudo: my $lang_list = ' ls -1 <LANG> | tr [:upper:] [:lower:] '; given $lang_list { subst ('<LANG>', 'mydir'); say $_}
p6eval rakudo 24ebf3: OUTPUT«Could not find non-existent sub subst␤in Main (file src/gen_setting.pm, line 206)␤»
shinobi-cl rakudo: my $lang_list = ' ls -1 <LANG> | tr [:upper:] [:lower:] '; given $lang_list { $_=$_.subst ('<LANG>', 'mydir'); say $_} 18:49
p6eval rakudo 24ebf3: OUTPUT«Confused at line 2, near "('<LANG>',"␤in Main (file <unknown>, line <unknown>)␤»
shinobi-cl rakudo: my $lang_list = ' ls -1 <LANG> | tr [:upper:] [:lower:] '; given $lang_list { $_ = $_.subst ('<LANG>', 'mydir'); say $_}
18:49 justatheory joined
p6eval rakudo 24ebf3: OUTPUT«Confused at line 2, near "('<LANG>',"␤in Main (file <unknown>, line <unknown>)␤» 18:49
shinobi-cl i dont know what im doing wrong, how do i do a subst in one sentence? 18:51
18:52 NorwayGeek joined
shinobi-cl alas s///; 18:52
and using <op>=
this, $A .= subst('X', 'Y'); should be the same as $A = $A.subst('X','Y')? 18:53
diakopter pmurias: (committed) 18:54
Ptn Does anyone have a spare 5 minutes to help a nub with some issues building the latest rakudo/parrot release?
pmurias & 18:55
jnthn Ptn: Sure
Ptn: I'm kinda cooking dinner too, so I'll be back and forth a bit. :-)
shinobi-cl rakudo.org/how-to-get-rakudo <- this works flawlessly to me
jnthn But ask away. 18:56
Ptn Been breaking for me shinobi-cl, probably something daft oO
Okies, jnthn ta.
shinobi-cl so, you have git , icu library and perl installed? 18:57
Ptn Using the tarball, and yes to the others.
pugs_svn r28811 | diakopter++ | [sprixel] delete extraneous file
Ptn It's falling over building parrot I believe. 18:58
Using Mingw
18:58 PZt joined
jnthn Ptn: It fails during "perl Configure.pl --gen-parrot"? 18:58
Ptn aye, looks like it has issues withsome of the files it grabs for the parrot isntall
Complains about missing operands files like parrot.h and similar errors in a few files. 18:59
jnthn Oh, that's...odd 19:01
Can you no-paste the output?
Ptn It's entirely likely Eeem, how much of it?
jnthn I wonder if you somehow got an incomplete Parrot checkout?
Ptn: Well, the last lines. 19:02
Ptn Rgr, one sec
jnthn gist.github.com/ is a good way to paste it :-)
19:04 colomon joined
diakopter never got parrot to build in mingw 19:04
Ptn Eep 19:05
19:07 lumi joined
jnthn wipes the tears from his eyes so he can see IRC again 19:07
diakopter I got it to build in cygwin/gcc and in cmd.exe/msvc, but not mingw
tears
?
jnthn she left^W^Wchopping apparently super-super-strength onions 19:08
I think they rate as one of my favorite veg to eat and least favorite to chop. :-)
Ptn Nasty
jnthn It's OK, they're in the pan and cooking now. 19:09
Frying even.
hotdogs++
diakopter jnthn: do you know whether anyone's built it on mingw lately? a few months ago I hadn't heard of anyone doing that
(ever)
jnthn Well...I'd say "oh, Parrot on mingw is probably broken", but...
...I thought that wsa what fperrad who makes the Windows binaries each month of Parrot and Rakudo builds on. 19:10
Ptn Binaries you say?
jnthn ah, this could be an easy solution for you ;-)
Ptn To shreds you say?
jnthn second, I'll fidn 'em
parrotwin32.sourceforge.net/ 19:11
There you go.
Ptn I did have a hunt, but I came up empty handed.
Well, there you go =D
jnthn Ptn: I think iirc you need to download two things - first the Parrot 1.6.0 and then the Rakudo add-on.
Ptn I'll try this "setup-parrot-1.6.0-rakudo-21.exe" file, see what if anything explodes. 19:12
jnthn Ptn: Oh, I think that may actually be both bundled into one. 19:14
If so, fperrad++
BTW, if anyone here has rakudo.org wiki edit privs, we maybe should link to these binaries on that page.
Ptn There is a perl6 present ^crosses fingers*
jnthn (I can do it later to...)
Ptn Ooer "unable to find dynops and dnpmcs library" 19:15
__ash__ hmmm are captures like pointers? 19:16
jnthn Ptn: Hmm. Did the directory where the binary went get added to your PATH? 19:19
Ptn To the paths!
Seems to have, unless I'm looking for somethig else oO 19:20
Hmm, I'll do some poking around (ooer missus) after dinner. 19:22
Thanks for your help gents.
jnthn __ash__: You could perhaps see them as a kind of "fat reference". 19:24
__ash__ how would one make a linked list? with captures then?
19:26 lumi joined
jnthn __ash__: You don't really need to, since you objects are reference types by default anyway. 19:28
jnthn eating - bbiab
19:28 dr_df0 joined
dr_df0 hi all 19:28
mberends hi dr_df0 19:29
dr_df0 is it possible, that slurp does not work in rakudo in a list context?
mberends true, slurping a file returns a string, I think
dr_df0 when I do: my @l=slurp "file_with_four_lines"; say @l[0];
it returns whole file 19:30
I thought, that the behavior is similar to Perl::Slurp module
mberends suggestion: split the string using "\\n" as delimiter
dr_df0 that was implementing perl6 built-in :) 19:31
mberends there is the lines() function, definitely returns an array
Su-Shee dr_df0: @foo = fh.lines 19:32
aeh, $fh.lines, sorry
mberends and also: @foo = lines( "file_name" );
Su-Shee mberends: I don't have to open it? 19:33
mberends lines opens ( and closes ;)
dr_df0 ok, thanks
Su-Shee another line less.. :)
one day - in perl 7 - I just can say "hey, computer - do!" ;) 19:34
dr_df0 I'll check two options ... the problem with splitting is that the file I have i 40k+ lines :)
mberends only if the argument is a name, not a $handle
Su-Shee probably something like for $fh.lines works.. 19:35
mberends rakudo: my @a = lines("/etc/passwd"); say @a[0]; 19:36
p6eval rakudo 24ebf3: OUTPUT«root:x:0:0:root:/root:/bin/bash␤»
dr_df0 doing slurp on a BIG file, and splitting it causes "segmentation fault" 19:39
yesterday I reported a bug with sigsegv on reding that file line by line and splitting it line by line into records ... :) 19:40
19:40 mikehh joined
mberends rakudo: for lines("/etc/passwd") -> $a { say $a if $a ~~ /^r/;} # for dr_df0 and Su-Shee 19:41
p6eval rakudo 24ebf3: OUTPUT«root:x:0:0:root:/root:/bin/bash␤»
dr_df0 thnx 19:42
Su-Shee for lines "/etc/passwd" { } works as well. 19:45
mberends Su-Shee: you didn't tell us you were into golf as well ;) 19:48
19:49 kst joined
Su-Shee mberends: I totally love the natural language flow of perl. 19:49
wow :) 19:50
say $_ for lines "/etc/passwd"; works :)
mberends Su-Shee: .say for lines "/etc/passwd" 19:51
jnthn back 19:54
dr_df0 guys
Su-Shee mberends: also nice. :)
dr_df0 for lines("big_filename") -> $i { .... } # tries to read the whole file into memory before any operations in the block 19:55
mberends Su-Shee: lines("/etc/passwd")>>.say # seen before on #perl6
dr_df0 it should be "big_file"
so, on my 2GB machine I'm starting to swap 19:56
is there any lazy version of lines?
mberends $handle.get is one line at a time 19:57
dr_df0 Yes, but that's not lazy :)
in a sense that Haskell executes ...
19:58 payload joined
shinobi-cl rakudo: class AClass; submethod BUILD { say 'BUILD here!' } method new { say 'new here!' } my AClass $x .= new; 19:59
p6eval rakudo 24ebf3: OUTPUT«Confused at line 2, near "method new"␤in Main (file <unknown>, line <unknown>)␤»
shinobi-cl rakudo: class AClass; submethod BUILD { say 'BUILD here!' }; method new { say 'new here!' }; my AClass $x .= new; 20:00
p6eval rakudo 24ebf3: OUTPUT«new here!␤Assignment type check failed; expected AClass, but got Bool␤in Main (file <unknown>, line <unknown>)␤»
Su-Shee dr_df0: shouldn't this work line by line and not reading the entire file first?
shinobi-cl rakudo: class AClass; submethod BUILD { say 'BUILD here!' }; my AClass $x .= new; 20:01
p6eval rakudo 24ebf3: OUTPUT«BUILD here!␤»
shinobi-cl rakudo: class AClass { submethod BUILD { say 'BUILD here!' }; method new { say 'new here!' }; }; my AClass $x .= new;
p6eval rakudo 24ebf3: OUTPUT«new here!␤Assignment type check failed; expected AClass, but got Bool␤in Main (file <unknown>, line <unknown>)␤»
shinobi-cl this should call 'new', and 'BUILD' later? 20:02
dr_df0 Su-Shee: I'm trying to find a workaround for the problem I reported yesterday in perl#69840 bug
Su-Shee: rakudo is segfaulting when reading the file line by line, splitting it and pushing second field into array 20:03
jnthn dr_df0: .lines is specified as lazy.
dr_df0: Rakudo doesn't implement lazy lists yet, so we currently have to handle it as eager.
dr_df0 jnthn: Hi, it's krzys from yesterday :) 20:04
jnthn dr_df0: This probably isn't useful to you now, since you have a 2GB file now, but in the future uses of .lines will "auto-upgrade" to lazy semantics once Rakudo knows about that.
dr_df0: oh hai :-)
dr_df0 jnthn: no, the file is actually 1.7MB
jnthn: but reading it with lines fills up my 2GB of memory :( 20:05
mberends dr_df0: I had a similar experience with a Perl 6 Pod translator a few months ago. At that time rakudo consumed 15000 bytes of RAM for every byte in the file being read :/ 20:06
dr_df0 Su-Shee: working with lines looked promissing, since it was processing the file much farther, but i run out of memory
Su-Shee dr_df0: sorry, I didn't know about your bug, I was plainly assuming that .lines will work smart and only line by line. 20:07
20:07 lumi joined
jnthn Su-Shee: Yeah. Will do. Not yet. ;-) 20:08
mberends: That sounds...awful.
mberends: I'd really like to get to the bottom of that one, if you are able to consdense it to a small example, btw.
mberends dr_df0: the memory consumption seems to come from using heap memory where other languages use (and re-use) the same stack space repeatedly 20:09
__ash__ rakudo: role Node is rw { has $.right; has $.left; }; my $a = 5; $a does Node; $a.right = $a; $a.left = $a; say $a.right; say $a.right.right; say $a.right.right.right; 20:10
p6eval rakudo 24ebf3: OUTPUT«5␤␤Method 'right' not found for invocant of class 'Undef'␤in Main (file src/gen_setting.pm, line 206)␤»
jnthn mberends: Yes, but we shouldn't leak said heap memory ;-)
mberends jnthn: I am suspicious of GC having problems that are seldom triggered because short programs run out of work before they run out of heap.
jnthn mberends: I am suspicious of GC having problems.
;-)
mberends jnthn: I'll try to write a condensed example, later :) 20:11
jnthn mberends: I think one big issue that *should* have now gone away is that we used to leak contexts (and thus register frames) like mad.
20:11 crythias joined
jnthn OK - news on resig. 20:12
Latest spectest results show only 7 tests that would seem to need attention.
This is a rather large improvement on 70.
mberends jnthn++
shinobi-cl when defining a BUILD submethod and a new method for a class, which runs first when an object is instantiated?
jnthn Here's details. 20:13
t\\spec\\S02-builtin_data_types\\capture - one failure, don't understand the test anyway, may just regress
t\\spec\\S04-closure-traits\\start - couple of failures, probably same issue as test below
t\\spec\\S04-declarations\\state - couple of failures
t\\spec\\S06-advanced_subroutine_features\\wrap - epic, epic fail
t\\spec\\S12-methods\\instance - one failure, didn't investigate yet
t\\spec\\S32-num\\rat - fails, but I think I just need to rebase to get a fix in master
t\\spec\\integration\\packages - epic, epic fail
shinobi-cl: new is what gets called immediately, e.g. it's an override of the constructor.
shinobi-cl: BUILD is called by BUILDALL which is called by bless which is called by new (either the default one, or yours). 20:14
shinobi-cl rakudo: class AClass; submethod BUILD { say 'BUILD here!' }; method new { say 'new here!'; }; my AClass $x .= new;
p6eval rakudo 24ebf3: OUTPUT«new here!␤Assignment type check failed; expected AClass, but got Bool␤in Main (file <unknown>, line <unknown>)␤»
__ash__ jnthn: this is the reference thing i was referring to, its not working the way I thought it would if all assignments are reference assignments 20:15
jnthn shinobi-cl: Your new method actually has to create an object. ;-)
shinobi-cl rakudo: class AClass; submethod BUILD { say 'BUILD here!' }; method new { say 'new here!'; BUILD(self); }; my AClass $x .= new;
p6eval rakudo 24ebf3: OUTPUT«new here!␤BUILD here!␤Assignment type check failed; expected AClass, but got Bool␤in Main (file <unknown>, line <unknown>)␤»
__ash__ rakudo: role Node is rw { has $.right; has $.left; }; my $a = 5; $a does Node; $a.right = $a; $a.left = $a; say $a.right; say $a.right.right; say $a.right.right.right;
p6eval rakudo 24ebf3: OUTPUT«5␤␤Method 'right' not found for invocant of class 'Undef'␤in Main (file src/gen_setting.pm, line 206)␤»
jnthn __ash__: Int has value assignment semantics, that's why. :-) 20:16
__ash__: I said objects by default, not all objects. :-)
__ash__ oh, okay, hmmm 20:17
jnthn Int is an object that chooses to have value semantics instead.
Well, a class, whose objects...
shinobi-cl rakudo: class AClass; has $!name; submethod BUILD { say $!name~'BUILD here!' }; my AClass $x .= new($name => 'hai'); 20:19
p6eval rakudo 24ebf3: OUTPUT«Symbol '$name' not predeclared in <anonymous> (/tmp/8l7IFqN9Pc:2)␤in Main (file <unknown>, line <unknown>)␤»
shinobi-cl rakudo: class AClass; has $!name; submethod BUILD { say $!name~'BUILD here!' }; my AClass $x .= new('name' => 'hai'); 20:20
p6eval rakudo 24ebf3: OUTPUT«Use of uninitialized value␤BUILD here!␤»
shinobi-cl rakudo: class AClass; has $.name; submethod BUILD { say $.name~'BUILD here!' }; my AClass $x .= new('name' => 'hai');
p6eval rakudo 24ebf3: OUTPUT«Use of uninitialized value␤BUILD here!␤»
shinobi-cl rakudo: class AClass; has $.name; submethod BUILD { say $.name~'BUILD here!' }; my AClass $x .= new($name => 'hai');
p6eval rakudo 24ebf3: OUTPUT«Symbol '$name' not predeclared in <anonymous> (/tmp/J4qoCrQ7ne:2)␤in Main (file <unknown>, line <unknown>)␤» 20:21
pugs_svn r28812 | lwall++ | [STD] tell constraints they're not declarative, masak++ 20:30
jnthn wonders which way around that was called 20:31
Hmm. So if I'm in a branch and I want to get the latest things in master, I just "git rebase master", yes?
oh, I rather suspect it didn't do what I expected 'cus I forgot to git pull while in master. 20:32
oh *sigh* wtf has it done... 20:34
shinobi-cl rakudo: class AClass; has $.name; submethod BUILD { say $.name~'BUILD here!' }; init (Str $a_name) {$.name = $a_name}; my AClass $x .= new('hai'); $x.$.name; 20:37
p6eval rakudo 24ebf3: OUTPUT«Confused at line 2, near "$a_name) {"␤in Main (file <unknown>, line <unknown>)␤»
shinobi-cl rakudo: class AClass; has $.name; submethod BUILD { say $.name~'BUILD here!' }; init (Str $a_name) {$.name = $a_name}; my AClass $x .= new('hai'); say $x.$.name;
p6eval rakudo 24ebf3: OUTPUT«Confused at line 2, near "$a_name) {"␤in Main (file <unknown>, line <unknown>)␤»
mberends jnthn: git pull is a kinda macro for git fetch && get merge, fwiw 20:38
20:39 shinobi-cl left
jnthn mberends: And what should git rebase master have done? 20:39
I thought it would sync my current branch with master, and apply all of my patches on top of that. 20:40
Instead, somehow after pushing this (git push origin resig), instead I now see every single patch since I started the branch appear a second time. 20:41
And I'm still missing the latest changes from master.
20:41 FullMetalHarlot joined, shinobi-cl joined 20:42 rblasch_ joined
mberends jnthn: iana(git expert), but it should have done something similar to removing (stashing) your changes, fast forward others' changes, then re-apply your edits. 20:42
jnthn mberends: Heh, that was my expectation too. 20:43
mberends jnthn: that git push was probably too soon.
jnthn "too soon"?
I'd finished the rebase, what else was I meant to do?
mberends jnthn: you may have rebased other peoples' resig changes, not master changes. 20:44
jnthn mberends: afaik, nobody else has commited anything to resig though. 20:45
mberends jnthn: i know that, you know that, but git may not have thought you meant that ;) 20:46
jnthn Thing is, now it also wants to duplicately apply all of my patches, so an attempt to rebase again is going to be a huge problem.
20:47 lumi joined
jnthn This is about the point where I create resig2, and copy-paste the source tree and commit the lot as one change. *sigh* 20:47
mberends jnthn: resig is all your work, of course. I humbly suggest you may have asked git to do the wrong thing.
jnthn mberends: I'm sure I have.
mberends: I'd just love to know what.
mberends jnthn: the git-heads always say it's no problem, everything is logged
20:47 rblasch joined
mberends jnthn: you just have to know how to fish the needle out of the haystack 20:47
jnthn meh. I'll do whatever works, and if somebody wants to complain about me having made history imprecise, they can fix it themselves. 20:48
mberends :)
pmichaud "precise history" is generally a myth anyway. :)
history often depends on the perspective of the viewer.
jnthn ;-)
pmichaud or, put another way, I'll absolve you of any history imperfects :)
*imperfections :)
jnthn And to think that I only did this now because I wanted to get form 7 fails to 6. 20:49
:-|
pmichaud (and yes, if someone doesn't like it, they can fix the history themselves)
mberends history will say you took a long way round, and still reached the goal
pmichaud I've decided that PAST needs to become a bit smarter about constants generation... including constant structures. 20:50
Otherwise operator precedence parsing in nqp-rx is going to become (1) cumbersome, or (2) very slow, or (3) both. 20:51
mberends no! please no! 20:52
jnthn I guess this will have benefits beyond nqp-rx too 20:53
pmichaud sure
essentially I'm thinking that I'll cache a constant once it's been computed the first time (i.e., lazy constants)
subsequent requests for the constant will reuse the cached value
thus: for 1..20 { say <the quick brown fox>; } will build "the quick brown fox" list only once 20:54
jnthn ooh, nice. 20:55
pmichaud I was thinking about building all of the constants at load time, but that increases startup cost
jnthn Yes
pmichaud we can also try building them at compile time (e.g., via :immediate), but that might lead to a few other issues 20:56
jnthn Our startup cost is already kinda high.
Yes
It's something to work towards, but probably not something we can do yet.
pmichaud well, I particularly want to be able to create hash constants (for operator precedence tables)
i.e., I want { %additive, :pirop<add> } to produce a constant hash (assuming %additive is also a constant hash) 20:57
jnthn ah, ok
pmichaud I don't want to be computing a new hash like that every time an infix:<+> is encountered in the source :)
jnthn No, you sure don't. :-) 20:58
We need to be faster, not just slow in a different way. ;-)
pmichaud first, another bugfix for PAST
currently we generate subid's using a timestamp to avoid conflicts
apparently 1-second resolution isn't sufficient :-| 20:59
I sometimes run into places during the nqp-rx build where I end up with identically-identified subs from separate compilation requests
jnthn oh
eww.
Yes, that's bad.
pmichaud otoh, it's a good sign that our compilation speed is fast enough that 1-second resolution is insufficient :) 21:00
jnthn Well, there is that way of looking at it. :-)
jnthn finally may have a branch with the things that he wants in it. 21:01
mberends
.oO( compile code... wait for next clock tick for unique id... compile code... )
pmichaud mberends: I thought of that :-) 21:02
really I'd prefer a nicer uuid generator than timestamps :-)
this does in a pinch, though :)
jnthn ./nqp foo.pm && sleep 1
;-)
Well, that's rat.t crossed off my list. 21:04
Sheesh, that was more work than fixing all of the S14 failures. :-/
pmichaud
.oO( pmurias: when your 't' key goes ou+ again, +ry using +he '+' key ins+ead. :-)
21:05
jnthn I+ look lee+.
pmichaud exac+ly
I once had the 'p' key go out on my keyboard, so I re.laced all of the occurrences with .eriods. 21:06
that worked out .retty well also
and the dot is easy to ty.e
jnthn That's an interesting method.
pmichaud (and in regexes dot matches any character, although this occurred long before .erl existed) :-) 21:07
21:07 justatheory joined
jnthn pmichaud: I'm srsly pondering regressing on one test. 21:07
pmichaud which test?
jnthn S02-builtin_data_types/capture.rakudo, test 16 21:08
pmichaud looks.
jnthn I don't really understand what it's after.
pmichaud do you know the line number in capture.t, off hand?
jnthn Nor why we got it right before, or why we get it wrong now.
pmichaud or the description of the test?
jnthn not ok 16 - unflattened captures can be passed to subs 21:09
pmichaud I have no problem with regressing that test.
jnthn Does it look correct to you?
pmichaud Nor am I certain that the test is correct.
jnthn That is, a valid test?
Yeah, I was like, "huh".
pmichaud and it may all be moot after the parcel changes anyway. 21:10
jnthn I've stared at it 3 times already and not really got the point of what it wants.
pmichaud I think it wants captures to act exactly like references somehow.
jnthn I guess we can review it in amongst the parcel/capture changes later on. 21:11
pmichaud anyway, I know why we passed it previously (because our \\(...) captures do act like references at the moment)
jnthn I'm not sure why we don't pass it now... 21:12
pmichaud but that test isn't important enough to be a blocker.
jnthn Which does bother me a little.
But since all of the passing arrays/hashes/sclars/etc tests pass...
pmichaud I'd say we review it among parcel/capture changes.
anyway, it's perfectly okay with me for us to regress that test.
jnthn OK, sounds good.
At the moment, I think the other 5 test files I'm left with should all be fixed. 21:13
I think two of them are the same underlying issue anyway.
One of them points to a deep issue (the need to split up package blocks into declarative and non-declarative bits.) 21:14
And two I'm not sure about how hard they are to deal with yet.
21:15 Su-Shee left, am0c joined 21:28 shinobi-cl left 21:29 tkr joined 21:33 shinobi-cl joined, shinobi-cl left
lichtkind_ good night 22:11
mberends good night lichtkind_
lichtkind_ thanks
22:16 lumi joined
jnthn We're down to 3 test files as far as I'm aware that need attention. 22:27
Before resig2 is ready.
I've tried to deal with the wrap.t fails tonight, but it's...something odd. 22:28
(not sure what yet)
Anyway, enough for today. Tomorrow I'll try and work on book a bit.
mberends jnthn: well done, good night 22:32
22:48 kst joined 22:51 TiMBuS joined 23:14 tak11 joined 23:32 lumi joined 23:42 quietfanatic joined 23:57 colomon joined