pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
bacek perl6: say (1..Inf)[5] 00:14
p6eval kp6 r20713: OUTPUT[syntax error at position 4, line 1 column 4:␤say (1..Inf)[5␤ ^ HERE␤]
..pugs: OUTPUT[6␤]
..rakudo r28172: OUTPUT[get_pmc_keyed() not implemented in class 'Range'␤current instr.: '_block11' pc 55 (EVAL_14:25)␤
..elf r20713: OUTPUT[Use of uninitialized value in range (or flip) at (eval 14) line 3.␤Can't use string ("") as an ARRAY ref while "strict refs" in use at (eval 14) line 3.␤ at ./elf_f_faster line 4492␤]
00:56 justatheory_ is now known as justatheory 01:03 alanhaggai joined 01:18 simcop2387 joined, bacek left
Auzon rakudo: my @arr = <foo bar baz>; @arr .= chomp; @arr.perl.say; 01:21
p6eval rakudo r28172 OUTPUT[Method 'chomp' not found for invocant of class 'Perl6Array'␤current instr.: '_block11' pc 77 (EVAL_10:29)␤
Auzon rakudo: my @arr = <foo bar baz>; @arr.chomp; @arr.perl.say;
p6eval rakudo r28172 OUTPUT[Method 'chomp' not found for invocant of class 'Perl6Array'␤current instr.: '_block11' pc 76 (EVAL_9:29)␤
Auzon rakudo: $_ = "HI"; .lc; .say; 01:23
p6eval rakudo r28172 OUTPUT[No result object␤current instr.: 'parrot;PCT::Grammar;item' pc 48 (src/PCT/Grammar.pir:64)␤
Auzon rakudo: $_ = "HI"; $_.lc; $_.say;
p6eval rakudo r28172 OUTPUT[too few arguments passed (0) - 1 params expected␤current instr.: '_block11' pc 0 (EVAL_8:3)␤
Auzon rakudo: $_ = "HI"; say lc($_)
p6eval rakudo r28172 OUTPUT[too few arguments passed (0) - 1 params expected␤current instr.: '_block11' pc 0 (EVAL_12:3)␤
Auzon rakudo: say lc("HI")
p6eval rakudo r28172 OUTPUT[hi␤]
01:26 Ched- left 01:27 Ched- joined 01:29 rhr left 01:30 bacek joined 01:37 simcop2387 left 01:41 Limbic_Region left 01:45 pen1 left, Eevee left
diakopter converting yap6 to continuation passing style so parsers can mutate themselves at parse time even more freely/easily. 01:46
(and yes, that's from HOP too) 01:47
nothingmuch @tell ruoso www.ccs.neu.edu/scheme/pubs/stackhack4.html 01:52
lambdabot Consider it noted.
nothingmuch @tell ruoso that link should illustrate how to build a CPS with SLIMEy frame abstractions over C/llvm using setjmp or llvm's exceptions 01:54
lambdabot Consider it noted.
pugs_svnbot r20714 | Auzon++ | [gsoc_spectest] Adding new tests for samebase in S29. (7 tests added) 02:03
Auzon S29 is so huge. I've looked over it around 8 times, and I usually see one or two things to add each time
perl6: say +<a b c d> 02:14
p6eval kp6 r20714: OUTPUT[␤] 02:15
..pugs: OUTPUT[4␤]
..rakudo r28172: OUTPUT[4␤]
..elf r20714: OUTPUT[4␤]
02:16 justatheory left
pugs_svnbot r20715 | Auzon++ | [gsoc_spectest] added mention of pos and length to deprecated-syntax.pod. Also added a test to check that Str.pos is gone. (added 1 test) 02:24
02:26 jferrero left 02:43 kanru joined 03:09 stevan_ left 03:16 alanhaggai left 03:17 eternaleye joined 03:28 simcop2387 joined 03:32 drbean left 03:33 drbean joined 03:34 sri_work joined, rhr joined 03:37 FurnaceBoy left 03:38 sri_work_ joined 03:49 justatheory joined 03:55 sri_work left 03:58 stevan_ joined 04:04 stevan_ left 04:05 stevan_ joined 04:08 alester joined 04:09 justatheory left
pmichaud Auzon, moritz: ping 04:18
never mind ping -- sent question to p6c instead ('split' in S29) 04:37
afk, sleep
04:41 sri_work_ is now known as sri_work 04:42 kanru left 04:46 bacek left 05:12 kaether left 05:13 kaether_ joined 05:14 kaether_ is now known as kaether 05:22 simcop2387 left
pugs_svnbot r20716 | lwall++ | [STD5] quote start/stop now uses parametric roles 05:28
r20716 | lwall++ | rule ast is now stored per-package including evaled role packages
r20716 | lwall++ | lexer cache now uses separate subdirectories for every sublanguage
05:29 simcop2387 joined
pugs_svnbot r20717 | lwall++ | [cheat] subsumed into gimme5 05:29
05:31 simcop2387 left 05:43 simcop2387 joined 05:55 pen1 joined 05:56 alester left 06:08 ikeda joined 06:09 Jedai joined 06:18 ikeda_ joined 06:19 ikeda left 06:21 Psyche^ joined 06:30 Jedai left 06:36 Patterner left, Psyche^ is now known as Patterner 06:52 alanhaggai joined 07:04 rindolf joined 07:11 rindolf left
pugs_svnbot r20718 | moritz++ | [spec] removed "unspecced" marking of grep tests that mutate $_ 07:15
r20718 | moritz++ | The same has been discussed for map.t already
07:17 meppl joined 07:41 kaether_ joined, iblechbot joined 07:45 kaether left, kaether_ is now known as kaether 08:00 meppl left 08:09 barney joined 08:44 ikeda_ left 09:15 barney left 09:33 alanhaggai left, alanhaggai joined 09:50 ruoso joined 09:55 kst left 09:58 kst joined 10:02 alanhaggai left 10:07 sri_work left 10:08 sri_work joined 10:21 edpratomo joined 10:28 ddwagnz joined 10:29 ddwagnz left 10:39 mjk joined 10:40 bacek joined 10:45 sri_work_ joined, sri_work left 10:50 mjk left 10:52 mjk joined, mjk left, mjk joined 10:58 alanhaggai joined 11:03 broquain1 joined 11:14 broquaint left 11:16 edpratomo left 11:19 kaether left
bacek perl6: say elems(1,2,3,4) 11:21
p6eval kp6 r20718: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824bdfc)', 'APPLY', 'HASH(0x8e4df08)', 'HASH(0x8e52500)', 'HASH(0x8e52554)', 'HASH(0x8e525a8)') called at
..compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤ main::D...
..pugs: OUTPUT[*** No compatible multi variant found: "&elems"␤ at /tmp/xkrJ733Arw line 1, column 5 - line 2, column 1␤]
..rakudo r28182: OUTPUT[4␤]
..elf r20718: OUTPUT[Undefined subroutine &GLOBAL::elems called at (eval 14) line 3.␤ at ./elf_f_faster line 4492␤]
bacek perl6: say elems (1,2,3,4)
p6eval kp6 r20718: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824be0c)', 'APPLY', 'HASH(0x8e52670)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x824be0c)', 'APPLY', 'HASH(0x8e52670)') ca...
..pugs: OUTPUT[4␤]
..rakudo r28182: OUTPUT[4␤]
..elf r20718: OUTPUT[Undefined subroutine &GLOBAL::elems called at (eval 14) line 3.␤ at ./elf_f_faster line 4492␤] 11:22
bacek hmm...
11:34 Jedai joined 11:35 sri_work_ left, sri_work joined
bacek perl6: say <5 -3 7 0 1 -9>[0].WHAT 11:46
p6eval kp6 r20718: OUTPUT[5␤]
..pugs: OUTPUT[Str␤]
..rakudo r28182: OUTPUT[Str␤]
..elf r20718: OUTPUT[Str␤]
bacek perl6: my @a= <5 -3 7 0 1 -9>; say @a[1] cmp @a[5]; 11:47
p6eval kp6 r20718: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824c0e4)', 'APPLY', 'HASH(0x8e57cd4)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x824c0e4)', 'APPLY', 'HASH(0x8e57cd4)') ca...
..pugs: OUTPUT[-1␤]
..rakudo r28182: OUTPUT[-1␤]
..elf r20718: OUTPUT[-1␤]
bacek perl6: say -3 cmp -9 11:48
p6eval kp6 r20718: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824c06c)', 'APPLY') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x824c06c)', 'APPLY') called at compiled/perl5-kp6-mp6/lib/Kin... 11:49
..pugs: OUTPUT[1␤]
..rakudo r28182: OUTPUT[1␤]
..elf r20718: OUTPUT[-1␤]
bacek perl6: my @a= <5 -3 7 0 1 -9>; say @a[1], ' , @a[5];say @a[1] cmp @a[5];
perl6: my @a= <5 -3 7 0 1 -9>; say @a[1], ' ', @a[5];say @a[1] cmp @a[5];
p6eval kp6 r20718: No output (you need to produce output to STDOUT) 11:50
..pugs: OUTPUT[*** ␤ Unexpected end of input␤ expecting "\\", variable name or "'"␤ at /tmp/K2fkwUCmIZ line 2, column 1␤]
..rakudo r28182: OUTPUT[Statement not terminated properly at line 1, near "' , @a[5];"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤
..elf r20718: OUTPUT[Parse error in: /tmp/mhlCTcMi13␤panic at line 1 column 36 (pos 36): Error in quotesnabber␤WHERE: <5 -3 7 0 1 -9>; say @a[1], ' , @a[5];say @a[1] cmp @a[5];␤WHERE: /\<-- HERE␤ STD_red/prelude.rb:98:in `panic'␤ STD_red/std.rb:1286:in
moritz_ ENOCLOSING '
p6eval ..`quotesnabber'␤ (eval):1:in `__quote_4317723'␤ STD_red/prelude.rb:404:in `...
kp6 r20718: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824c1b4)', 'APPLY', 'HASH(0x8e5a49c)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x824c1b4)', 'APPLY', 'HASH(0x8e5a49c)') ca...
..pugs: OUTPUT[-3 -9␤-1␤]
..rakudo r28182: OUTPUT[-3 -9␤-1␤]
..elf r20718: OUTPUT[-3␤ ␤-9␤-1␤]
bacek pugs: my @a= <5 -3 7 0 1 -9>; say @a.min 11:54
p6eval OUTPUT[-9␤]
bacek perl6: say "-1".abs 12:05
p6eval kp6 r20718: OUTPUT[no method 'abs' in Class 'Str'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x8e4ec54)', 'abs') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x8e4ec54)', 'abs') called at - line 11␤]
..pugs: OUTPUT[1␤]
..rakudo r28182: OUTPUT[Method 'abs' not found for invocant of class 'Perl6Str'␤current instr.: '_block11' pc 31 (EVAL_12:17)␤
..elf r20718: OUTPUT[Can't call method "abs" without a package or object reference at (eval 14) line 3.␤ at ./elf_f_faster line 4492␤]
bacek perl6: say abs("-1")
p6eval kp6 r20718: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824bda4)', 'APPLY', 'HASH(0x8e4db34)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x824bda4)', 'APPLY', 'HASH(0x8e4db34)') ca...
..pugs: OUTPUT[1␤]
..rakudo r28182: OUTPUT[absolute() not implemented in class 'Perl6Str'␤current instr.: '_block11' pc 25 (EVAL_12:17)␤
..elf r20718: OUTPUT[Undefined subroutine &GLOBAL::abs called at (eval 14) line 3.␤ at ./elf_f_faster line 4492␤]
bacek rakudo: say (1..3).join; 12:27
p6eval rakudo r28182 OUTPUT[Method 'join' not found for invocant of class 'Range'␤current instr.: '_block11' pc 49 (EVAL_13:20)␤
bacek yak...
rakudo: say "".reverse 12:29
p6eval rakudo r28182 OUTPUT[Method 'join' not found for invocant of class 'List'␤current instr.: 'parrot;Perl6Str;reverse' pc 725 (src/gen_builtins.pir:477)␤
moritz_ ouch
rakudo: say "abc".reverse
p6eval rakudo r28182 OUTPUT[Method 'join' not found for invocant of class 'List'␤current instr.: 'parrot;Perl6Str;reverse' pc 725 (src/gen_builtins.pir:477)␤
bacek someone commited List.pir with 'join' commented out. 12:30
rakudo: say reverse("")
p6eval rakudo r28182 OUTPUT[␤]
bacek rakudo: say reverse('Pugs') 12:31
p6eval rakudo r28182 OUTPUT[Pugs␤]
bacek great...
12:37 sri_work left
bacek rakudo: say item(reverse('foo')) 12:40
p6eval rakudo r28182 OUTPUT[Could not find non-existent sub item␤current instr.: '_block11' pc 39 (EVAL_12:18)␤
12:40 sri_work joined 12:49 sri_work left
diakopter anyone know how to execute an inline block *that returns something* in Perl 5? 12:51
moritz_ do { ... } 12:52
my $x = do { ... };
diakopter oh :) that was too easy. 12:53
moritz_ ;)
12:54 sri_work joined 12:57 pmurias joined 12:58 sri_work left 12:59 sri_work joined, sri_work left
diakopter moritz_: ok, extend that question with: and then immediately executes an anonymous subroutine that's returned by the block *without assigning the anonymous subroutine to a coderef* 13:00
(b/c I don't want to have to use eval to invent a unique coderef name
moritz_ (do { ...} )->()
diakopter )
hrmf
moritz_ buubot: eval: print ( do { sub { 3} })->() 13:01
buubot moritz_: CODE(0x86fe948)undef
moritz_ buubot: eval: print +( do { sub { 3} })->()
buubot moritz_: 31
moritz_ buubot: eval: +( do { sub { 3} })->()
buubot moritz_: 3
pmurias diakopter: why don't you use . for concatenate?
diakopter: re overloading
diakopter pmurias: it is, now
for concatenate with no intervening whitespace allowed 13:02
| allows optional whitespace; - enforces the presence of whitespace
and I'm adding two more now
postfix autoincrement will signify mandatory trailing whitespace 13:03
and postfix autodecrement will signify optional trailing whitespace
13:04 meteorjay left, meteorjay joined 13:05 sri_work joined, sri_work left
diakopter to make constructs like this prettier: token1 + o(o(p6ws) + token2) becomes token1 + o(~token2) and o(token2 + p6ws) + token1 becomes o(token2++) + token1 etc 13:07
hopefully the rule p6ws won't ever have to be directly referenced 13:08
also I'll overload ! to be the negative lookahead
you don't need positive lookahead (obviously) in RD parsers 13:09
since that's all it ever does....
pmurias: ok? 13:10
I'm trying to optimize this syntax not just for readability of the STD_hand grammar, but also the future readability of the grammars generated (from both STD.pm and from inline operation mutation/creation and grammar declaration/application) 13:12
pmurias diakopter: seems ok
shouldn't | mean perl6 longest token alteration? 13:13
diakopter now I just finished converting all the parser generators over to CPS, so that they can modify both the input stream and the continuation parser/handler itself
pmurias: it does! now :) which I haven't checked in 13:14
I added longest-token-matching (by default) to alternate()
that will obviously slow it down LOTS
I added that a few hours ago 13:15
I guess & could mean first match
since it's at the same Perl 5 operator precedence level 13:16
moritz_ & has a meaning of its own in p6 regexes
diakopter right, but this isn't even the translation stage, yet
I'm not trying to replicate the Perl 6 syntax in Perl 5
just make it easier to express RD grammars in Perl 5 13:17
in the translation stage, we'll use STD_hand to read STD.pm, and then generate a Perl6in5::Grammar from it, called STD_auto.pm 13:18
similar to what TimToady is doing in gimme5
13:19 p6eval left, p6eval joined
diakopter I'm attending YAPC::NA again this year, and I want to have STD_hand done (so that it can at least generate an AST from STD.pm) by then... so maybe people there will take an interest and pitch in to implement the marriage with elf/smop/whatever 13:21
can pugs implement grammar-switching/mutation in BEGIN {}? 13:22
I know it does inline operators 13:23
pmurias don't think so
pugs grammar is coded in haskell
diakopter can any of the other implementations do that yet? 13:24
moritz_ no
diakopter then one of my goals is for yap6 to be the first to prove that concept
moritz_ kp6 does BEGIN blocks, but they don't modify the grammar
btw what's the syntax for grammar switching? 13:25
I think pugs has limited support for macros, though
diakopter I don't think there will be a Perl6in5::Grammar syntax for grammar switching; it'll built into some special parser constructor/handler. if a "use GrammarX" (I think that's the Perl 6 syntax???) statement is encountered, special parse-time handling will occur to interpret/evaluate (using the grammar-translation continuation handlers) that particular branch of the AST (and probably everything up to it, which is why it's good for ... 13:30
... such things to be in a BEGIN block) to generate the new/modified grammar, and use that instead of the continuation parser that was passed to the "use GrammarX" parser. Macros would work the same way. Same with quoting (including balanced stop character detection).
where "that particular branch of the AST" is the previously declared grammar GrammarX {} or whatever 13:31
bacek perl6: say 'a' <=> 'b'
p6eval kp6 r20718: OUTPUT[0␤]
..pugs: OUTPUT[0␤]
..rakudo r28182: OUTPUT[0␤]
..elf r20718: OUTPUT[Argument "b" isn't numeric in numeric comparison (<=>) at (eval 14) line 3.␤Argument "a" isn't numeric in numeric comparison (<=>) at (eval 14) line 3.␤0␤]
bacek perl6: say 'a' <=> 'a'
p6eval kp6 r20718: OUTPUT[0␤]
..pugs: OUTPUT[0␤]
..rakudo r28182: OUTPUT[0␤]
..elf r20718: OUTPUT[Argument "a" isn't numeric in numeric comparison (<=>) at (eval 14) line 3.␤Argument "a" isn't numeric in numeric comparison (<=>) at (eval 14) line 3.␤0␤]
bacek perl6: say 'a' cmp 'b' 13:32
p6eval kp6 r20718: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824bf44)', 'APPLY', 'HASH(0x8e56c0c)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x824bf44)', 'APPLY', 'HASH(0x8e56c0c)') ca...
..pugs: OUTPUT[-1␤]
..rakudo r28182: OUTPUT[-1␤]
..elf r20718: OUTPUT[-1␤]
bacek perl6: say 'b' cmp 'b'
p6eval kp6 r20718: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824bf44)', 'APPLY', 'HASH(0x8e56c0c)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x824bf44)', 'APPLY', 'HASH(0x8e56c0c)') ca...
..pugs: OUTPUT[0␤]
..rakudo r28182: OUTPUT[0␤]
..elf r20718: OUTPUT[0␤]
diakopter bacek: would you message p6eval directly while a conversation is occuring please?
esp if you're using perl6: 13:33
moritz_ diakopter: I was refering to the Perl 6 syntax for grammar switching - and I think you're right that it's somehow done through 'use'
diakopter and since 'use' statements need (still) to be applied at parse-time anyway (as in Perl 5) in their own compilation unit (just like BEGIN), that same "use" handler would be "use"d. 13:35
and as TimToady said previously, "use" statements fall into the category of things that halt the longest-token-matcher and commit to a branch immediately 13:37
at least, if my understanding of what he said is correct.
moritz_ evalbot control restart 13:38
13:38 p6eval left
pugs_svnbot r20719 | moritz++ | [evalobt] truncate noisy kp6 error messages 13:38
moritz_ diakopter: makes sense to me
13:38 p6eval joined
diakopter listens to the rain 13:39
so, it seems that anything that requires the cessation of the current compilation unit requires an execute-up-till-this-point jump, including eval{} 13:41
pmurias moritz_: what debian branch should i use on a new laptop?
moritz_ uhm, there is no eval {} anymore, just eval '...'
diakopter right, whichever :D 13:42
moritz_ pmurias: lenny is pretty good atm, I use it on my desktop for some time now
pmurias diakopter: it's try {}
diakopter pmurias, I know, I still mean eval ""
moritz_ pmurias: Etch is likely to be outdated, but you can use Etch + EtchAndHalf for newer drivers
moritz_ doesn't recommend sid though. Sid is evil ;) 13:43
pmurias lenny is testing?
yath forgot to report a bug early enough to get it into etchandahalf :-(
so i'll have to recompile kernels every time now 13:44
*sigh*
diakopter I really need to deprecate/fix this stupid gt0() function I created... it's rather broken
moritz_ yath: not so bad. If you run stable, you don't need to recompile your kernel very often 13:45
yath: and most of the time it's simply a matter of running make-kpkg
yath moritz_: in the last four weeks there were about five or six DSAs just dealing with kernel stuff :(
moritz_ yath: I know, but most didn't affect desktop machines 13:46
yath moritz_: it's not that compiling a kernel on POWER6 takes long, but it's just an extra step instead of apt-get update && apt-get upgrade
moritz_ yath: ok, I agree with that. So use Lenny instead ;-)
diakopter I kindof want to kill pugs_svnbot and replace with dalek, since dalek has decent flood prevention, so my longer commit messages work :) 13:47
yath moritz_: not until it's stable :P problem is, in our corporate network i have no direct internet access, so i have to have to get the new packages from security.d.o all the time, run dpkg-scanpackages and so forth
moritz_ yath: ok, $work is a good reason :/
yath fortunately i have limited access to a DMZ. so i wrote a perl-ten-liner that merges the output of ls /mirror with Packages.gz and builds a zip with the new packages ;) 13:48
moritz_ hey, we need #os_perl where perl people can discuss and rant about various OS ;)
yath .o(emacs--)
moritz_ ;-) 13:49
diakopter pmurias: OOPS I got my operators wrong when telling them to you earlier.... SLAP forehead. "." enforces no whitespace, "+" enforces whitespace, "-" allows optional whitespace
that way, ++ and -- are consistent as the trailing ones 13:50
13:52 jan_ left
diakopter I guess ~ will be the optional leading whitespace, and ^ for mandatory leading whitespace (even though that meaning is nearly opposite its other meanings; oh well) 13:52
oh wait, no, can't be ^ 13:53
diakopter looks for a unary prefix that's so far unused
I wonder if there's any way to overload unary + and - ....? 13:54
moritz_ @tell Auzon re t/spec/S29-str/pos.t dies_ok needs a code ref, so either use eval_dies_ok or dies_ok({$str.pos}) instead. I'm going to fix and enhance it...
lambdabot Consider it noted.
diakopter reads perlovl
bacek perl6: say <a b A c b d>.sort: { lc $^a eq lc $^b } 13:56
pugs_svnbot r20720 | moritz++ | [spec] fixed pos.t test that used a dies_ok() inappropriately
p6eval kp6 r20719: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤
..pugs: OUTPUT[abAcbd␤]
..rakudo r28182: OUTPUT[bdacAb␤]
..elf r20719: OUTPUT[Aabbcd␤]
moritz_ uhm, sorting with 'eq' doesn't make much sense ;)
bacek moritz_, it's from S29-list/uniq.t...
perl6: say <a b A c b d>.sort: { lc $^a cmp lc $^b } 13:57
p6eval kp6 r20720: OUTPUT[error in Block at compiled/perl5-kp6-mp6/lib/KindaPerl6/Grammar/Sub.pm line 753, <> line 1.␤*** Syntax Error in Block: missing closing curly bracket ␤]
..pugs: OUTPUT[aAbbcd␤]
..rakudo r28182: OUTPUT[aAbbcd␤]
..elf r20720: OUTPUT[Aabbcd␤]
moritz_ bacek: it does make sense for unique()
bacek moritz_, why? 13:58
moritz_ bacek: because uniqueness doesn't need a total ordering ;)
you just have to know if two items are identical to return a unique subset 13:59
bacek moritz_, too bad... I try to reimplement quadratic algo with something better...
moritz_ bacek: you can only do that for the default comparator 14:00
and for sane cases like numbers and strings
yath oh. just read that package'var is gone. 14:01
so no Acme::don't anymore :(
pmurias yath: suprised? ;)
yath pmurias: well, not really :) ' was perl4, wasn't it?
pmurias cannt tell i'm not old enough to rememer ' 14:03
pugs_svnbot r20721 | moritz++ | [t] more content for deprecated-syntax.pod: 14:05
r20721 | moritz++ | * (in)correct usage of dies_ok
r20721 | moritz++ | * "my" in pointy block signatures
diakopter oh good, I think unary +- are overloadable... just need a dispatch handler to tell if the 2nd argument is undef...
moritz_ ... and hope that there's no legal case with the 2nd arg being undef ;) 14:06
diakopter moritz_: there can't be; all of the parser generators must return a valid parser.. if they don't, they're broken
the root level parser generators aren't dynamic... 14:07
moritz_ diakopter: good ;)
diakopter now, the ones that are parameterized... those can fail on invalid input
so they'll have to trap such errors 14:08
14:12 jhorwitz joined
diakopter the biggest benefit of these infix concatenate variants is that they always expect two and only two argument parsers. This makes a lot of the recursion in the parser generators unnecessary; the recursion is handled by Perl 5's operator precedence levels. 14:16
hunh. I wonder if this means that perl5: "string" + undef does the same thing as +"string" 14:25
moritz_ uhm, yes. Both return 0 + optionally a warning 14:26
diakopter buubot: eval: ("42" + undef) 14:27
buubot diakopter: 42
diakopter buubot: eval: (+"42")
buubot diakopter: 42
diakopter buubot: eval: ("42")
buubot diakopter: 42
14:27 kst left
diakopter ok, I guess it intifies it regardless 14:28
bacek moritz_, in which spec uniq defined? I can't find it in svn.pugscode.org/pugs/docs/Perl6/Sp...ctions.pod 14:30
diakopter tries to imagine how to detect infinite recursion in CPS 14:32
moritz_ bacek: doesn't seem to be specced at all ;) 14:33
14:34 araujo left
bacek moritz_, ouch... 14:37
14:37 chris2 joined
pmurias diakopter: how do you do in a "normal" setting? 14:38
diakopter pmurias: how do I do? 14:40
14:40 jan_ joined
pmurias diakopter: how do you detect infinite recursion in a "normal setting"? 14:41
;)
14:43 mjk left
diakopter pmurias: oh; previously, depth for each parser_coderef+input_arrayref was stored in a global hash, and if a given parser detected it had descended within itself too many items on the exact same input, it returned false 14:43
too many times
where too many was 50 or 500
or whatever
hm, I guess to do it in CPS would be the same thing; the received continuation would just be ignored for this purpose. 14:45
bacek rakudo: say 'a' <=> 'b'
p6eval rakudo r28182 OUTPUT[0␤]
moritz_ that is currect 14:47
diakopter pmurias: does that sound okay? 14:50
obviously it places a limit on detectable nested expressions
I should say, detectable right-associated expressions
detectable right-associated nested expressions 14:51
bacek rakudo: my $a = []; say $a.join; 15:04
p6eval rakudo r28182 OUTPUT[Method 'join' not found for invocant of class 'Arrayref'␤current instr.: '_block11' pc 56 (EVAL_10:23)␤
pmurias diakopter: sounds vagely ok
bacek pugs: say ~@array.uniq: { lc $^a eq lc $^b }, "a b c d", "method form of uniq with own comparator works"; 15:11
p6eval OUTPUT[*** ␤ Unexpected "."␤ expecting "::"␤ Variable "@array" requires predeclaration or explicit package name␤ at /tmp/p0qq2X0lcV line 1, column 12␤]
bacek pugs: say ~@array.uniq:{ lc $^a eq lc $^b }, "a b c d", "method form of uniq with own comparator works";
p6eval OUTPUT[*** ␤ Unexpected "."␤ expecting "::"␤ Variable "@array" requires predeclaration or explicit package name␤ at /tmp/9TTM5Ldixp line 1, column 12␤]
bacek pugs: say (~@array.uniq: { lc $^a eq lc $^b }), "a b c d", "method form of uniq with own comparator works"; 15:12
p6eval OUTPUT[*** ␤ Unexpected "."␤ expecting "::"␤ Variable "@array" requires predeclaration or explicit package name␤ at /tmp/k22X1qGyQi line 1, column 13␤]
bacek pugs: my @array=<a b A c b d>; say ~@array.uniq: { lc $^a eq lc $^b }, "a b c d", "method form of uniq with own comparator works";
p6eval OUTPUT[a b A c d <SubBlock(<anon>)> a b c d method form of uniq with own comparator works␤]
15:25 kcwu joined 15:27 mncharity joined
pmurias mncharity: hi 15:30
15:30 Jedai left 15:43 dominiko joined
pmurias mncharity: does STD_red lack much to parse STD.pm? 15:48
15:57 polettix joined 16:14 sri_work joined 16:52 justatheory joined
pmurias TimToady: there is a bug in gimme5, regex foo { (aa|a) a } dosn't match 'aa' as || is always ratchety even with $MAYBACKTRACK 16:58
17:04 sri_work left, ruoso left 17:06 Lorn left 17:18 if joined
rakudo_svn r28183 | pmichaud++ | [rakudo]: 17:29
r28183 | pmichaud++ | * Update 'join' semantics.
17:31 if is now known as FurnaceBoy
pugs_svnbot r20722 | pmichaud++ | S29: List.join should have @values as the invocant. 17:31
17:33 justatheory left
pugs_svnbot r20723 | diakopter++ | [yap6] checking in changes; I have literally no idea 17:50
r20723 | diakopter++ | how much of this is going to work.
diakopter (don't yap6: for a while; I'm sure there are syntax errors all over)
moritz_ diakopter: I'm prepare a perlmonks meditation as an update to this node: www.perlmonks.org/?node_id=628746 - should I mention yap6 there? 17:56
lambdabot Title: Getting Involved with Perl 6
moritz_ or would you rather prefer to work quietly until you have something to show?
s/something/something more/
pmichaud the last four lines of S29-list/join.t look odd to me. At any rate I think the last two tests are incorrect. 17:58
moritz_ is totally confused about what is allowed and what isn't 17:59
pmichaud I don't think there's a .join method on Str invocants.
diakopter moritz_: you might as well mention it as an experiment in recursive descent grammars towards mutable grammars for Perl 6 18:01
moritz_ pmichaud: our Str multi method join ( $separator: @values ) 18:02
pmichaud: from S29
pmichaud moritz_ isn't that in the section on List methods?
moritz_ pmichaud: does it matter? 18:03
$seperator: is a scalar, and marked as invocant
pmichaud I think that's actually incorrect in S29 -- I think it should be our Str multi method join ( @values : $separator )
otherwise @values.join(';') doesn't work
(in r20722 I even changed S29 to read that way.) 18:04
diakopter hey moritz_: can anonymous subs be lvalue subs?
moritz_ diakopter: dunno, you have to try it ;) 18:05
diakopter ok
moritz_ it burns down to "can anonymouns subs have :attributes?"
s/burns/boils/ ;-)
18:08 Jedai joined
diakopter I'm hoping that the lvalue-ness checking of postfix in/decrement is all that remains after overloading... I don't want my overloaded ++ &routine's result to be assigned back to the object of the ++. 18:10
pmichaud okay, I retract my earlier statement. The tests are correct as written. 18:11
(method fallback causes it to work.)
thus "foo".join(@values) falls back to join("foo", @values) 18:12
18:13 dominiko left
pmichaud but the test descriptions are wrong then, as 'foo'.join(':') is equivalent to join('foo', ':') and not join(':', 'foo') 18:16
and, come to think of it, so is the output. hrm.
I'll add a note to S29-list/join.t and maybe Auzon can clear it up :-) 18:17
moritz_ well, if you're sure the test is wrong I can clean it up now
pmichaud I'm not completely sure of anything except that what is in the test file didn't match S29 (either before my change or after)
18:18 meppl joined
pmichaud I think I tend to be (overly) cautious when it comes to perceived ambiguities or errors in the spec -- as often as not I'm surprised by the actual answer. 18:19
18:21 bacek left
pugs_svnbot r20724 | pmichaud++ | S29-list/join.t 18:32
r20724 | pmichaud++ | * Add a #?rakudo skip to the last two tests, and a note that the
r20724 | pmichaud++ | tests themselves may be incorrect.
mncharity pmurias: hi. re "does STD_red lack much to parse STD.pm?", my guess is yes, but I don't really know. I'd be interested in hearing. 18:36
Auzon pong? 18:38
lambdabot Auzon: You have 1 new message. '/msg lambdabot @messages' to read it.
mncharity you might grab an old copy of STD.pm, and apply misc/STD/STD_extract , to break STD up into pieces, and then check how many of the pieces parse. or perhaps update STD_extract to handle the current STD.pm.
Auzon @messages
lambdabot moritz_ said 4h 43m 50s ago: re t/spec/S29-str/pos.t dies_ok needs a code ref, so either use eval_dies_ok or dies_ok({$str.pos}) instead. I'm going to fix and enhance it...
Auzon away & 18:42
pugs_svnbot r20725 | Auzon++ | [gsoc_spectest] More TASKS and fixed use of dies_ok (moritz++ for catching the other bad use of it. 1 changed test.)
moritz_ www.perlmonks.org/?node_id=632816 # "Perl 6 Updates" meditation draft on my scratchpad. any comments before I post it for real? 18:43
lambdabot Title: moritz's scratchpad
19:04 eternaleye left, eternaleye joined 19:05 kst joined
mncharity @tell fax Thanks for your work on elf! :) 19:06
lambdabot Consider it noted.
mncharity better late than never :/
moritz_ aye ;) 19:07
Auzon moritz_: I suggest mentioning a recent revision that is known to compile cleanly 19:17
of Pugs, that is
moritz_ Auzon: ok, will do
Auzon also, the link for ruoso's grant is broken 19:18
in the elf paragraph: "join #perl6 on and" should be "join #perl6 on irc.freenode.net and" 19:19
pasteling "diakopter" at 209.9.237.164 pasted "fun with overloading operators on coderefs - the proof of concept works!" (26 lines, 515B) at sial.org/pbot/31245 19:20
moritz_ diakopter: woo that looks scary 19:21
diakopter pmichaud: if you want a laugh; check out sial.org/pbot/31245
lambdabot Title: Paste #31245 from "diakopter" at 209.9.237.164
moritz_ Auzon: thanks, fixed all of those
I published it now as www.perlmonks.org/?node_id=690945 19:22
lambdabot Title: Getting Involved with Perl 6 - an Update
Auzon nice work moritz++
pugs: say $?PUGS_VERSION
p6eval OUTPUT[Perl6 User's Golfing System, version 6.2.13, October 17, 2006 (r18093)␤]
moritz_ thanks
actually "last revision" is a bit exaggerated 19:23
but nothing reallly happend to pugs inbetween :/
diakopter further interesting - if you add an empty signature to bar (), bar still receives the argument .oO
Auzon Ah, I was wondering about the revision differences 19:24
moritz_ Auzon: probably lots of kp6 commits ;)
Auzon elf: say 1
p6eval OUTPUT[1␤]
Auzon perl6: say 1
p6eval kp6 r20725: OUTPUT[1␤]
..pugs: OUTPUT[1␤]
..rakudo r28183: OUTPUT[1␤]
..elf r20725: OUTPUT[1␤]
19:25 Chillance joined
Auzon perl6: say "{1+1}" 19:26
p6eval kp6 r20725: OUTPUT[{1+1}␤]
..pugs: OUTPUT[2␤]
..rakudo r28183: OUTPUT[{1+1}␤]
..elf r20725: OUTPUT[{1+1}␤]
moritz_ pugs++
Auzon That's the biggest "in your face" change that I keep forgetting.
moritz_ same for me 19:28
and that arrays don't interpolate anymore by default
19:29 eternaleye left
Auzon I never really used that part of P5. 19:29
pmichaud I wonder if I can get interpolation to work in rakudo. :-) 19:30
er, closure interpolation. the hooks are there already --just need to fill them in.
moritz_ pmichaud: why not? seems like "a jonathan" to me ;) 19:31
pmichaud heh.
okay, I'll do it then! Why should jonathan++ have all the fun? ;-)
Auzon I imagine elf could understand them without too much work either...
moritz_ (I hope you don't mind me paraphrasing you out of context ;)
pmichaud not at all :-)
I paraphrase Larry all the time (hope he doesn't mind it :-) 19:32
moritz_ Auzon: probably, but I think mncharity and pmurias will wait for TimToady++'s refactor of the quoting stuff
in STD.pm, that is 19:33
Auzon Makes sense. Rakudo doesn't use STD.pm, does it?
moritz_ no, but its parser is modeled after STD
pmichaud I'm aiming for STD.pm. I'm hoping/expecting that we'll be using STD.pm by the end of summer. 19:35
I think I should have protoregexes working by mid-to-late June. That'll take care of the biggest part of it. 19:36
longest token matching sometime in july or august
Auzon moritz_: Did you look at my test cases for samebase? 19:37
moritz_ Auzon: no. Will do now. 19:38
Auzon The spec is a bit rough there, so I made some assumptions based off of samecase 19:39
moritz_ uhm, where did you get all these fancy unicode chars from?
;) 19:40
btw it might be helpful to add a smartlink that points to S05 as well
Auzon KDE's character map :)
I just searched for "with stroke" and got several that matched 19:41
moritz_ uhm wait
is there a "combining stroke" char?
Auzon I don't understand unicode that much so the can probably be improved.
moritz_ problem is, combining chars can be placed onto any base char 19:42
Auzon yes, there is. U+0335 and U+0336
moritz_ which means that F + stroke can just be written as "F\x{0335}2C"
s/2C// 19:43
Auzon So I need to find something without a combining character, correct?
moritz_ no
it's just a case that doesn't occur in unicode world 19:44
Auzon Oh. OK, then I can change the test
moritz_ tries to get his head straight
actually I don't know if it's worth the effort for you to read about unicode stuff 19:45
maybe I should take over that test, and consult with Juerd where I'm unclear
Juerd Unicode rocks :)
moritz_ Juerd: it does, indeed. But it't hard to write tests for if you don't grok it 19:46
(which I think we can't expect from Auzon++)
Juerd It's also hard to write tests for if you do :) 19:47
moritz_ indeed
Juerd Encodings are pretty easy, but Unicode is hard.
Auzon I just haven't dealt with it so far (except in the sense of making it store and display correctly in my webapps)
Juerd Auzon: That's what I meant :) 19:48
moritz_ heh ;)
actually the spec is unclear here
at least for "samecase" 19:49
there are two versions of the :samecase regex modifiers
one "dump" which copies on a per-grapheme base
and one "smart" which tries to detect a pattern (uc, lc, ucfirst, lcfirst, capitalize) and applies that pattern to the second string 19:50
S29 is silent about which the function/method samebase() refers to
moritz_ composes mail to list
pmichaud moritz/auzon: Does sending questions about spec interpretation seem to work best for you? 19:51
(er, sending questions "to the list") 19:52
Auzon samebase and samecase are relatively new to the spec.
moritz_ pmichaud: so far not very well
pmichaud takes too long to get answers?
moritz_ one isn't clarified at all
the one about inconsitencies with private method syntax in roles and classes
Auzon pmichaud: I've primarily been asking in here, which has been sufficient so far for me.
moritz_ other... dunno. many warnocked, though I don't remeber more specific cases 19:53
pugs_svnbot r20726 | putter++ | [elf] Revert r20618 and r20628 (the refactoring of *$emitter etal into Compiler). Perserved r20637. The Compiler ugliness and globals had a purpose - emitter and parser are now again hot-swappable.
r20726 | putter++ | Updated test results.
moritz_ seldom got clear answers either way
pmichaud that's somewhat my experience as well. I'm wondering how we can improve it.
diakopter Bus error 19:54
moritz_ get a spec grant for either TimToady or audreyt, if one of them were willing? 19:56
pmichaud heh. I can't speak authoritatively for TimToady, but I think he might not be available for a grant at the moment.
moritz_ presumably. I'm just collecting ideas... 19:57
diakopter Bus error
pmichaud I'd be willing to act as arbiter and decision maker, but I fear I'd decide wrongly as often as not.
diakopter sry; ww
moritz_ did I understand it right that same*base* actually carries *accent* information? 19:59
whereas same*case* carries *case* information? 20:00
pmurias mncharity: it was still possible to do hot-swapping with the refactoring $*compiler0.emitter = ...; 20:01
moritz_ ok, mail sent to p6l - hopefully I won't get warnocked this time 20:03
pugs_svnbot r20727 | putter++ | [elfish/rx_on_re] Project start - create an all-p6 regex engine from the p5 yet_another_regex_engine, by "keep it working" incremental migration. t/ and Regexp_ModuleA.pm copied from yare; crufty old EmitRegexYare.pm moved from elf_e_src.
mncharity pmurias: re still possible, doh, did I just bungle that? pondering... 20:04
20:04 jhorwitz left 20:06 cognominal_ left, cognominal_ joined
pmurias re rx_on_re, what i think now would be worth considering would be to use Cursor5 20:07
it seems to be designed cleanly, and shaking any bugs in that would (presumably) help TimToady
pmichaud $ ./parrot perl6.pbc -e 'say "{1+1}";' 20:09
2
moritz_ woot
pmichaud++
of course all interpolation tests are still outside of spec/ 20:10
20:12 Lorn joined
pmichaud no problem, I'm just glad it works :-) 20:13
moritz_ wait 'til you access a variable in the closure
does it blow up? ;-)
mncharity re hot-swap, so the hypothesis is one could revert the initialization changes while regaining hot-swapping by saying '*$emitter1 = ' to '*$compiler1.emitter = '... that works for swapping parser and emitter but not compiler, no? ./elf_f_faster NewCompiler.pm -e '...' wouldn't work.
pmichaud > my $a = 'hello'; say " {$a} world "; hello world 20:14
> my $a = 'hello'; say " { substr($a, 2, 2) } world "; ll world
lambdabot Parse error at "=" (column 7)
pmichaud er, irc formatted that wrong for me.
but yes, it works.
moritz_ pmichaud++ again ;) 20:15
pmurias mncharity: hot swapping (monkey patching that is) the compiler would take 2 more lines
pmichaud > my $a = 'hello'; say "foo {$a} world ";
foo hello world
> my $a = 'hello'; say "foo { substr($a, 2, 2) } world ";
foo ll world
lambdabot Parse error at "=" (column 7)
moritz_ sombody shot a goal
pmurias moritz_: yes 20:16
moritz_ (it's europeen soccer championship, and I heard the cheers throughout the whole street)
pmichaud I always figured to look for the cars burning in the streets. :-)
pmurias mncharity: my $emitter = $*compiler.emitter;$parser = $*compiler.parser;$*compiler = Compiler.new(emitter=>$emitter,parser=>$parser) 20:17
moritz_ pmurias: hey, this is Würzburg, not Paris ;)
uhm, I meant pmichaud
sorry
pmichaud moritz_: good point. :-)
ooh, I need to see about booking travel to YAPC::EU
although I should probably wait until Tuesday (better fares mid-week than weekend) 20:18
mncharity the introduction of everyone having non-local knowledge of how a compiler is assembled and customized is very not worth a few lines shortened Compiler.
pugs_svnbot r20728 | pmichaud++ | S02-literals/autoref.t: 20:19
r20728 | pmichaud++ | * {} interpolates in double quotes, so use single quotes to display '{}'.
rakudo_svn r28184 | pmichaud++ | [rakudo]:
r28184 | pmichaud++ | * Add {closure} interpolation to double-quoted strings.
mncharity but, feel free to create an elfish/elf_the_way_it_should_be/ . i almost created one to preserve the change before reverting, but decided it would be easy enough for you to do if you wished to.
Auzon pmichaud++ 20:23
That was fast!
20:23 eternaleye_ joined
pmichaud well, like I said, the hooks were already there -- just needed to fill them in. 20:23
Auzon rakudo: say "{1+1}" 20:24
p6eval rakudo r28184 OUTPUT[2␤]
pmichaud rakudo: my @a = 1..5; say "countdown: { @a.reverse }"; 20:25
p6eval rakudo r28184 OUTPUT[countdown: 5 4 3 2 1␤]
Auzon Um. I just now noticed that I did the wrong spec this week for my SoC project.
moritz_ Auzon: never mind ;) 20:26
but please add s small blog post about your progress
pmurias mncharity: replacing the architecture of elf will need to be done sometime, but i hesitate to start it withought a large continous chunk of free time
moritz_ you can just just copy&past the lines from your #perl6-soc report if you want 20:27
Auzon: it's just to keep the community informed that you're still doing things ;)
mncharity pmurias: re Cursor5, it does look interesting, and modulo checking with TimToady, I encourage folks to work on it. It could be neat to run it against a test suite, to get some idea of coverage and performance. Absent that, it's unclear whether it could be an alternative to yare.
Auzon moritz_: I'm writing up an end of week report now. I had something keeping me busy all of Friday and half of yesterday
moritz_ Auzon: ok, thats fine
mncharity re Cursor5, actually, p6 versions might be more interesting than the p5 versions - could run it on non-p5 backends. 20:28
pmurias in the long run yes, but the p5 version of Cursor5 works better i guess 20:29
as TimToady is actively trying to get it to run 20:30
mncharity re works better, indeed, I believe that's where the recent focus has been
*nod*
pmurias got to still understand the fate handling
mncharity: to you understand how fates work in Cursor5? 20:31
mncharity no, I have little understanding of fate. 20:32
20:32 chris2 left
pmurias i'm installing debian on my new laptop so i'll soon see how elf performes on it ;) 20:32
Auzon moritz_: I think that S29 also needs more details for pack/unpack. At the least, the P5 documentation should be added.
pmurias i accidently press space, and all the useless Desktop packages are installing :( 20:33
moritz_ pmurias: that's what the good lord invented 'aptitude purge' for. But of course it takes a while first to install them :( 20:34
mncharity pmurias: ooh, good reminder. could you recheck... well, I guess you can't do a real recheck now, but... fyi, yare is believed to no longer have the failure mode you observed, which I speculate was caused by having an old Regex::Common.
mncharity wonders if he has ever managed to do a fedora install without rerunning it at least once... 20:35
moritz_ Auzon: aye. But don't wait for it :(
pmurias what should i run?, i'm using my sluggish desktop machine now 20:36
Auzon I added it to TASKS and I can send an email if that'd help
mncharity pmurias: re 'replacing the architecture of elf will need to be done sometime', <pause>
moritz_ Auzon: don't wast your time on the email. If it's in the spec as a TODO, it's known and will eventually be worked on.
Auzon ok 20:37
pmichaud istr that pack/unpack got some discussion on p6l in the not-too-distant past.
mncharity re run, cd misc/pX/Common/yet_another_regex_engine/; prove t/re_tests.t . it will probably require you to update your Regexp::Common from cpan.
pmichaud might check the archives.
moritz_ pmichaud: I think they discussed how objects can be serialized, or how they can serialize themselves or some freaky stuff 20:39
mncharity re 'replacing the architecture of elf will need to be done sometime', the elf architecture undergoes continuous replacement. :) Next steps are likely 'move IR analysis out of Emit' and... hmm, that may reduce the importance of moving to multimethods internally... so, not clear what after that.
pmurias re replacing architecture doing BEGIN correctly requires compiling the whole program piecemeal, and then serialising it to disc 20:40
mncharity why?
pmurias sub foo {...};BEGIN {foo()}; 20:41
my $var;BEGIN {$var = 123};
my $var;BEGIN {$var = 123};say $var;
mncharity why would that require any change in how the disk is touched?
pmurias s/to disc// 20:42
Auzon Will Perl 6 emulate sprintf like Perl 5 did?
pmurias i should double check what i write
it easier to implement some thing when you just creat stuff at runtime and the serialise it 20:44
mncharity my impression is BEGIN requires running things at compiletime (as do macros) - not hard, and observing side effects - hard. Containers might help, plus other observers... BEGIN{eval('our $*foo;')}... it might be easiest to have an emitter variant which logs changes as they go by. 20:46
pmurias that's the way kp6 did it 20:47
it ended up rather messy
mncharity variant, or containers?
Auzon away&
mncharity Auzon: chao
pmurias mncharity: special containers 20:48
and some magic in the emitter, if i rememer correctly
but i would go with the serilize everything aproach 20:49
mncharity: the error stayed
in re_test.t
* re_tests.t
mncharity ok. so... I have no idea what mix static analysis, emitter additions, and compile-runtime magic will be needed for BEGIN. basically, if we can't do ruby-like eval-based metaprogramming in BEGIN's, we have a problem. todo list. ;) 20:50
yath yay, just reading through S02: Heredocs allow optional whitespace both before and after terminating delimiter. Leading whitespace equivalent to the indentation of the delimiter will be removed from all preceding lines 20:51
i wanted this for AGES
mncharity re 'the error stayed', bizarre. it's been tested now on a variety of platforms.
yath \o/
mncharity :)
pmurias: what version of Regexp::Common are you using? 20:52
pmurias 2.122 20:53
mncharity re serializing the universe... eep, there has to be a better way.
pmurias it's simple 20:55
mncharity re 2.122 :( sigh. oh well. then issue still not understood. but established not to occur on a variety of linux distributions, MacOS, and assorted hardware. :/
pmichaud re: 20:40 <pmurias> my $var;BEGIN {$var = 123};say $var;
S04 still says: Some closures produce Code objects at compile time that cannot be cloned, because they're not attached to any runtime code that can actually clone them. BEGIN, CHECK, INIT, and END blocks fall into this category. Therefore you can't reliably refer to run-time variables from these closures even if they appear to be in the scope. (The compile-time closure may, in fact, see some kind of permanent copy of the variable for some storage clas
pmurias pmichaud: it's possible to do it with some trick or other in order for use to work 20:56
mncharity s/(if we can't do ruby-like eval-based metaprogramming) in BEGIN's/$1/ ;) yay, macros. 20:57
pmurias mncharity: why are you against serializing the universe ?
mncharity because I don't understand what it means 20:59
bbiab
how can END do cleanup if if can't access runtime variables? what purpose does it then serve? 21:03
unless subs aren't considered variables? anyway & 21:04
pmichaud they can access runtime variables, just not lexical ones. :-)
i.e., package variables and file-scoped lexicals are okay.
21:04 perl7 joined
mncharity ah, ok. sounds like an S04 'insert "lexical"' edit request, unless I just missed it, or the paragraph's context makes it clear. 21:05
pmurias dosn't it only refer to cloned closures? 21:06
mncharity unless "runtime" variable is an alias for "lexical" variable?
pmichaud I'm not sure that it's referring only to lexical variables. 21:07
and yes, that may be only for cloned closures.
pmurias cloning TimToady would help ;) 21:11
rakudo_svn r28185 | jonathan++ | [rakudo] Fix sleep. 21:19
moritz_ envies rakudo 21:21
rakudo_svn r28186 | pmichaud++ | [rakudo]: 21:24
r28186 | pmichaud++ | * A different version of sleep.
21:25 perl7 left
meppl good night 21:39
21:43 meppl left 21:47 iblechbot left 21:48 alanhaggai left 21:49 meppl joined 21:53 justatheory joined 21:56 eternaleye_ left 21:58 FurnaceBoy left 22:00 justatheory left, polettix left 22:01 meppl left 22:10 ofer joined 22:11 polettix joined 22:14 Lorn left 22:18 pmurias left 22:22 Jedai left 22:49 Eevee joined 22:51 Limbic_Region joined 22:53 meteorjay left 22:57 [particle] left 23:04 jjore is now known as zz_jjore, zz_jjore is now known as jjore
spinclad diakopter: re leading whitespace operators: why not prefix ++ and -- ? "(++spaced+out++)" 23:07
23:13 jisom joined
diakopter spinclad: I took a look at that; I couldn't get the overload handler to distinguish between them... also, I couldn't use the real postfix ++/-- either 23:20
so I ended up using a source filter :) 23:21
(again)
spinclad: but, it was fun, along the way, I caused a segfault in perl as well as a Bus error 23:25
23:48 araujo joined
spinclad ooo, segfaults and bus errors, excellent! 23:52
23:56 wknight8111 joined
diakopter ugh; osx.5.3 update is 420MB 23:58