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.
diakopter yap6 is no longer a mere lexer/tokenizer that also syntax checks. Now it's a lexer/parser/scanner that syntax checks. 00:21
pugs_svnbot r21003 | diakopter++ | [yap6]
r21003 | diakopter++ | * yap6 now generates (and outputs only) the match tree
diakopter evalbot control svnup 00:22
diakopter taps his fingers 00:23
pugs_svnbot r21004 | diakopter++ | [yap6] braino.. 00:27
diakopter yap6: say $a; 00:30
p6eval yap6 r21004 OUTPUT[tree: {program => [{func_call => ["say"," ",{expr => {sVari => ["\$",{id => "a"}]}}]},";"]}␤]
pugs_svnbot r21005 | diakopter++ | [yap6] cleanup of both()
Auzon diakopter: I'd kinda like to make it possible for evalbot to control that.
diakopter evalbot control svnup parrot 00:32
evalbot control svnup pugscode
evalbot control rebuild parrot
dolmen perl6: my $a = 1..5; $a.perl.say; say $a.shift; $a.perl.say; 00:34
p6eval kp6 r21005: OUTPUT[syntax error at position 10, line 1 column 10:␤my $a = 1..5; $a.perl.say; say $a.shift; $a.perl.say␤ ^ HERE␤]
..pugs: OUTPUT[[1, 2, 3, 4, 5]␤1␤[2, 3, 4, 5]␤]
..rakudo r28692: OUTPUT[1..5␤1␤2..5␤]
..elf r21005: OUTPUT[Can't call method "shift" without a package or object reference at (eval 117) line 5.␤ at ./elf_f line 3854␤"1E0"␤]
dolmen perl6: my $a = 1..1; $a.perl.say; $a.shift.say; $a.perl.say; 00:36
p6eval kp6 r21005: OUTPUT[syntax error at position 10, line 1 column 10:␤my $a = 1..1; $a.perl.say; $a.shift.say; $a.perl.say␤ ^ HERE␤]
..pugs: OUTPUT[[1,]␤1␤[]␤]
..rakudo r28692: OUTPUT[1..1␤1␤2..1␤]
..elf r21005: OUTPUT[Can't call method "shift" without a package or object reference at (eval 115) line 5.␤ at ./elf_f line 3854␤"1E0"␤]
dolmen perl6: my $a = 1..1; $a.perl.say; $a.shift.say; $a.perl.say; $a.perl.say; 00:37
p6eval kp6 r21005: OUTPUT[syntax error at position 10, line 1 column 10:␤my $a = 1..1; $a.perl.say; $a.shift.say; $a.perl.say; $a.perl.say␤ ^ HERE␤]
..pugs: OUTPUT[[1,]␤1␤[]␤[]␤]
..rakudo r28692: OUTPUT[1..1␤1␤2..1␤2..1␤]
..elf r21005: OUTPUT[Can't call method "shift" without a package or object reference at (eval 115) line 5.␤ at ./elf_f line 3854␤"1E0"␤]
diakopter what did rakudo do with [1..1].shift ?
dolmen [1..1] is not (1..1) 00:38
rakudo: (1..1).WHAT.say
p6eval rakudo r28692 OUTPUT[Range␤]
dolmen rakudo: [1..1].WHAT.say
p6eval rakudo r28692 OUTPUT[Array␤]
diakopter rakudo: my $a = 1..1; $a.shift; say $a.perl 00:40
p6eval rakudo r28692 OUTPUT[2..1␤]
diakopter I don't understand that 00:41
dolmen what is the process to submit test cases por Perl6? 00:42
bacek_ diakopter: bug in range.
diakopter dolmen: you get a commit bit, and add 'em
bacek_ (is was about [2..1]
dolmen not a bug
diakopter dolmen: do you already have subversion commit access to pugs (where the tests are)? 00:43
dolmen not yet
diakopter msg me your email address and desired username and I'll add you
pugs_svnbot r21006 | lwall++ | [STD] revisions to endstmt memoization 01:01
r21006 | lwall++ | faststopper is now gone
r21006 | lwall++ | statement parsing is a bit simpler
r21006 | lwall++ | various other buglets fixed
dolmen can I create spec/S29-range/ ? 01:24
dolmen is a new commiter on Pugs... 01:24
diakopter commit first; ask questions later 01:25
Auzon: you around to elaborate/specify?
diakopter <sigh> netsplits. 01:28
dolmen how can test a new test with rakudo? 01:42
I don't want to run the full spectest
bacek_ dolmen: create t/localtest.data and run make localtest 01:43
format for file is same as t/spectest_regression.data
Auzon diakopter: ping 01:44
diakopter Auzon: gnop 01:44
Auzon What did you want me to elaborate on? 01:45
diakopter about dolmen's question about spec/S29-range
Auzon Sure, it fits well 01:47
diakopter there were so many netsplits; who knows who got which messages
Auzon I thought you were asking about evalbot or something 01:48
pugs_svnbot r21007 | dolmen++ | First commit. 02:16
r21007 | dolmen++ | A few simple Range tests.
diakopter dolmen: also, add yourself to AUTHORS 02:21
Auzon whois moritz_ 02:33
moritz_: I was thinking for evalbot that we could combine all the exec_whatever subs, and just pass them the command to execute. We can also get rid of the filtering code so that it just trims by length (which I think I have just under one message). 02:35
buu Auzon: Sounds complicated. 03:20
Auzon buu: the evalbot stuff? It'll have to be careful where we decide to do things, but it'll reduce the amount of things needed for a new implementation down to one line or so. 03:21
pugs_svnbot r21008 | audreyt++ | * INSTALL: Document the "cabal install Pugs -fOptimize" flag.
r21008 | audreyt++ | As of Pugs-6.2.13.4, "pugs -e1" time is much shorter than
r21008 | audreyt++ | before (<0.3s user time), thanks to a new Prelude compilation
r21008 | audreyt++ | technique using Data.Binary instead of Data.Yaml.Syck.
buu Auzon: You should look at mine =] 03:22
Auzon buu: Where is it?
buu buubot: hi
buubot buu: leave me the fuck alone
buu =[
Auzon That'd be a lot simpler to implement :P
buu eval: 2+2 03:23
Oh
buubot: eval: 2+2
buubot buu: 4
Auzon I've seen your bot used occasionally... but p6eval is more complicated due to the need to support multiple Perl 6 implementations
buu How do you access each perl6 implementation? 03:24
Auzon rakudo: say "hi"
p6eval rakudo r28692 OUTPUT[hi␤]
buu I mean programatically.
Auzon p6eval: help 03:25
p6eval Auzon: Usage: <(nqp|perl6|pugs|pixie|elf|rakudo|yap6|kp6): $perl6_program>
bacek_ pixie?
Auzon bacek: Elf variant based on STD
buu: code is separated into two parts, the main bot and the executer. The Executer handles the forking and such. The main bot has a dispatch table and a bunch of if statements for each implementation 03:27
buu Auzon: The only real limitation is that bb only talks to thinks that can be embedded in perl.
pugs_svnbot r21009 | lwall++ | [LazyMap] looping bug in iter()
r21009 | lwall++ | [Cursor5] stop * match when it matches null string
Auzon perl6: say Rat ~~ Num 04:33
p6eval kp6 r21009: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤
..pugs: OUTPUT[1␤]
..rakudo r28692: OUTPUT[0␤]
..elf r21009: OUTPUT[Can't call method "Str" on an undefined value at ./elf_f line 649.␤ at ./elf_f line 3854␤]
Auzon pugs: 1.1.WHAT 04:35
p6eval RESULT[::Rat]
Auzon pugs: say 1.1 ~~ Num
p6eval OUTPUT[1␤]
Auzon rakudo: sub returntype as Str {'foo'}; say returntype; 04:44
p6eval rakudo r28692 OUTPUT[Statement not terminated properly at line 1, near "{'foo'}; s"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤
Auzon rakudo: sub returntype of Str {'foo'}; say returntype;
p6eval rakudo r28692 OUTPUT[foo␤]
Auzon rakudo: Str sub returntype {'foo'}; say returntype;
p6eval rakudo r28692 OUTPUT[Statement not terminated properly at line 1, near "sub return"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤
Auzon rakudo: my Str sub returntype {'foo'}; say returntype;
p6eval rakudo r28692 OUTPUT[Null PMC access in type()␤current instr.: 'parrot;Perl6;Grammar;Actions;scoped' pc 110447 (src/gen_actions.pir:6647)␤
Auzon rakudo: sub returntype (--> Str) {'foo'}; say returntype; 04:45
p6eval rakudo r28692 OUTPUT[Statement not terminated properly at line 1, near "(--> Str) "␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤
pugs_svnbot r21010 | Auzon++ | [gsoc_spectest] S02: Added some parameter type and return type tests (added 12 tests) 05:06
Auzon This may not be 100%, but it's a good start. self.sleep;
pugs_svnbot r21011 | moritz++ | [spec] added Ovid++'s type check regressioin test 07:12
pugs_svnbot r21012 | moritz++ | fixed intendation and curlies in type.t 07:21
pugs_svnbot r21013 | moritz++ | [spec] types.t: more fudging, and rewrote some tests in terms of dies_ok 07:30
pugs_svnbot r21014 | moritz++ | [spec] started to fudge pair.t - still a long way to go 08:00
r21015 | moritz++ | [spec] started to fudge lists.t 08:09
moritz_ fudging is a bit frustrating if rakudo dies unspecifically with "Method 'lvalue' not found for invocant of class 'PAST::Stmts'" or "null PMC access in type()" or some such 08:11
bacek_ moritz_: -G? 08:12
even adding new empty lines can help... 08:13
moritz_ bacek_: -G doesn't help for incorrectly generated PAST (and -G isn't well supported in the testing tool chain) 08:14
the frustrating thing is that these errors don't map to location in the file 08:15
pugs_svnbot r21016 | moritz++ | [spec] some more fudging of lists.t
bacek_ moritz_: ho! nice bug. 08:18
moritz_ bacek_: which one? #56330 ? 08:20
bacek_ Method 'lvalue' not found for invocant of class 'PAST::Stmts'
moritz_ ah, this one
bacek_ rakudo: my $a=24;my $b=2; ($b,$a) = $(a,$b) 08:21
p6eval rakudo r28692 OUTPUT[Method 'lvalue' not found for invocant of class 'PAST::Stmts'␤current instr.: 'parrot;PAST::Compiler;as_post' pc 2787 (src/PAST/Compiler.pir:718)␤
moritz_ it never gets around to actually evaluating the RHS 08:22
if it would, It would complain about sub a() not being found 08:23
bacek_ rakudo: my $a=24;my $b=2; ($b,$a) = ($a,$b)
p6eval rakudo r28692 OUTPUT[Method 'lvalue' not found for invocant of class 'PAST::Stmts'␤current instr.: 'parrot;PAST::Compiler;as_post' pc 2787 (src/PAST/Compiler.pir:718)␤
bacek_ rakudo: my $a;my $b; my @l=(1..2); ($b,$a) = @l; 08:24
p6eval rakudo r28692 OUTPUT[Method 'lvalue' not found for invocant of class 'PAST::Stmts'␤current instr.: 'parrot;PAST::Compiler;as_post' pc 2787 (src/PAST/Compiler.pir:718)␤
bacek_ LHS :)
pmurias pixie: say "hello world" 08:27
p6eval OUTPUT[Can't locate STD5.pm in @INC (@INC contains: ../../src/perl6 /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at pixie line 4.␤BEGIN failed--compilation aborted at pix...
moritz_ pmurias: chroot not yet updated, it'll take some time :( 08:29
moritz_ anybody had any success building pugs on debian etch? 09:10
s/etc/lenny/
moritz_ notices with pleasure that ghc6's memory usage seems a bit lower than before 09:39
moritz_ where does 'cabal install Pugs' place the pugs binary? 09:55
masak and where does it place the source tree? 10:10
moritz_ seems to be all in ~/.cabal/$somewhere 10:11
masak hm, yes 10:17
but I don't find pugs there
what's pugs-DrIFT?
moritz_ ~/.cabal/bin/pugs for me
masak yes, but that's just the binary 10:18
what if I want to change something and rebuild?
moritz_ dunno 10:19
masak being able to do that would be a boon
moritz_ diakopter: would you be fine with removing the ||| hack from evalbot and instead use two separate targets?
pugs_svnbot r21017 | moritz++ | [evalbot] assemble all needed data for different executers in a large hash. 10:34
r21017 | moritz++ | Planned steps:
r21017 | moritz++ | 0) move to appropriate package
r21017 | moritz++ | 1) use this data in a single executer sub
r21017 | moritz++ | 2) use it also to assemble output for 'perl6:' evaluation
r21017 | moritz++ | 3) get rid of the exec_$stuff subs
r21017 | moritz++ | 4) clean up sub said()
moritz_ what svn revision does 6.2.13.1 correspond to? 10:38
audreyt it's all HEAD as there has been no src/ checkins 10:41
once I've got the new Cabal procedure sorted out (still working with the Cabal team) I'll check it in. 10:42
but no promises as of when :)
moritz_ audreyt: sounds great. When you do, could you please notify me? Then I'll update pugs on evalbot's server 10:46
audreyt ok.
can you point the binary to it for now? 10:47
moritz_ what do you mean? 10:48
audreyt i.e. use the ~/.cabal/bin/pugs for evalbot's pugs: 10:49
moritz_ (I'm currenlty working on a copy of the chroot in which evalbot runs, and I'm updating that to Debian Lenny + cabal-installed pugs. In this new chroot (not yet in "production) I'll use the ~/.cabal/bin/pugs) 10:50
audreyt thanks!
moritz_ I don't plan to do touch the pugs in the current chroot because it's too painful, and it'll shortly be substituted anyway
audreyt k 10:51
bbiab...
pugs_svnbot r21018 | moritz++ | [evalbot] continued refactoring. Be impressed if this works. 11:59
moritz_ rakudo: say "hi" 11:59
moritz_ rakudo: say "hi" 12:01
pugs_svnbot r21019 | moritz++ | [evalbot] fixed first stupid thinko - more to follow 12:01
moritz_ rakudo: say "hi" 12:02
p6eval rakudo 28692: No output (you need to produce output to STDOUT)
pugs_svnbot r21020 | moritz++ | [evalbot] also commit changes to the module ... :/ 12:04
moritz_ rakudo: say "hi" 12:05
p6eval rakudo 28692: No output (you need to produce output to STDOUT)
pugs_svnbot r21021 | moritz++ | [evalbot] confused variables 12:06
moritz_ sometimes I wish I had a test suite 12:06
rakudo: say "hi"
p6eval rakudo 28692: OUTPUT[hi␤]
moritz_ pugs: say "hi"
p6eval pugs: OUTPUT[sh: /home/evalenv/.cabal/bin/pugs: No such file or directory␤]
moritz_ kp6: say("hi") 12:07
bacek Generating precompiled Prelude, Math::Basic... pugs: Internal error: 12:07
Invalid grammatical category: "Bool"
Debian/lenny... 12:08
moritz_ bacek: try the 'cabal update; cabal install Pugs -fOptimize' approach described in INSTALL
elf: say "hi"
bacek moritz_, thanks 12:09
bacek cabal: command not found 12:09
moritz_ bacek: "described in INSTALL" ;)
nqp: say("hi")
p6eval nqp: OUTPUT[hi␤]
bacek yeah... But what about compiling from sources? :) 12:10
pugs_svnbot r21022 | moritz++ | [evalbot] more confusion 12:11
moritz_ bacek: cabal does compile from source
moritz_ rakudo: say "hi" 12:12
p6eval rakudo 28692: OUTPUT[hi␤]
moritz_ rakudo: "hi"
p6eval rakudo 28692: RESULT["hi"]
moritz_ rakudo: 1/0
p6eval rakudo 28692: OUTPUT[Divide by zero␤current instr.: 'infix:/' pc 11355 (src/gen_builtins.pir:7547)␤]
moritz_ ok, filtering works
nqp: say(1/0)
p6eval nqp: OUTPUT[float division by zero␤current instr.: '_block11' pc 6 (EVAL_4:6)␤]
moritz_ same here 12:12
elf: say "hi"
pugs_svnbot r21023 | moritz++ | [evalbot] it helps to use correct sub names 12:16
moritz_ elf: say "hi"
moritz_ elf: say "hi" 12:16
p6eval elf 21023: OUTPUT[hi␤]
moritz_ pugs: say "Hi" 12:21
p6eval OUTPUT[./pugs: error while loading shared libraries: libperl.so.5.8: cannot open shared object file: No such file or directory␤]
moritz_ rakudo: say "hi from new chroot" 12:22
p6eval rakudo 28687: OUTPUT[hi from new chroot␤] 12:23
moritz_ elf: say "hi"
p6eval elf 21023: OUTPUT[Can't locate autobox.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./elf_f line 7.␤BEGIN failed--compilation aborted at ./elf_f
..li...
moritz_ elf: say "hi" 12:24
p6eval elf 21023: OUTPUT[Can't locate Class/Multimethods.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./elf_f line 10.␤BEGIN failed--compilation aborted
..a...
moritz_ elf: say "hi" 12:25
p6eval elf 21023: OUTPUT[/usr/bin/env: ruby: No such file or directory␤Parse failed.␤ at ./elf_f line 3824␤]
moritz_ elf: say "hi"
p6eval elf 21023: OUTPUT[/home/evalenv/pugs/misc/STD_red/prelude.rb:462:in `require': no such file to load -- readline (LoadError)␤ from /home/evalenv/pugs/misc/STD_red/prelude.rb:462:in `<top (required)>'␤ from /home/evalenv/pugs/misc/STD_red/std.rb:10:in `require'␤ from
../home/evalenv/pugs/misc/STD_red/...
diakopter moritz_: no, not really, b/c I need to be able to add grammars very easily 12:26
moritz_ diakopter: ok, I'll see what I can do 12:26
diakopter there can't be a special case for yap6 in the command line builder?
moritz_ elf: say "hi"
p6eval elf 21023: OUTPUT[hi␤]
moritz_ yap6: say "hi" 12:27
diakopter hee 12:27
diakopter I still don't know why things like that crash evalbot 12:27
moritz_ Not a HASH reference at evalbot.pl line 103.
that was my fault
diakopter oh
moritz_ diakopter: I don't know why evalbot crashes sometimes. Only this case is clear to me ; 12:28
pugs_svnbot r21024 | moritz++ | [evalbot] hopefully yap6 works again
diakopter waits 3 minutes 12:29
moritz_ yap6: say "hi" 12:29
diakopter well, it still hasn't learned " 12:29
moritz_ I should actually svn up in the right chroot 12:30
moritz_ yap6: say 1 12:30
pugs_svnbot r21025 | moritz++ | [evalbot] import Scalar::Util into the right namspace 12:32
moritz_ yap6: say 1 12:32
p6eval yap6: OUTPUT[tree: {program => [{func_call => ["say"," ",{expr => {bareInt => 1}}]}]}␤] 12:33
moritz_ YaY
diakopter \o/
moritz_: note the actual match tree
moritz_ diakopter: I did notice it. Cool.
yap6: say 1 ||| 1 12:34
p6eval yap6: OUTPUT[Can't locate Perl6in5/Grammar/say.pm in @INC (@INC contains: ../lib lib /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at (eval 1) line 1.␤BEGIN failed--compilat...
moritz_ what should I do to enable that?
pixie: say "hi"
diakopter oh; yippee; Perl 5.10
p6eval pixie: OUTPUT[Can't locate STD5.pm in @INC (@INC contains: ../../src/perl6 /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at pixie line 4.␤BEGIN failed--compilation aborted at...
diakopter yap6: ltm||| food
p6eval yap6: OUTPUT[syntax error at line 1 col 1 near " food"␤Expected: "unknown".␤[]]
diakopter yap6: ltm|||food 12:35
p6eval yap6: OUTPUT[Odd number of elements in anonymous hash at lib/Perl6in5/Compiler/Parser.pm line 98.␤tree: {program => undef}␤]
diakopter heh
that grammar is broken
Grammar/ltm.pm
yap6: ltm |||food 12:36
p6eval yap6: OUTPUT[Odd number of elements in anonymous hash at lib/Perl6in5/Compiler/Parser.pm line 98.␤tree: {program => undef}␤]
diakopter yap6: ltm |||foodie
p6eval yap6: OUTPUT[Odd number of elements in anonymous hash at lib/Perl6in5/Compiler/Parser.pm line 98.␤tree: {program => undef}␤]
diakopter yap6: ltm |||foodies
p6eval yap6: OUTPUT[Odd number of elements in anonymous hash at lib/Perl6in5/Compiler/Parser.pm line 98.␤tree: {program => undef}␤]
moritz_ installs YAML::XS for gimme5 12:36
pixie: say "hi" 12:37
p6eval pixie: OUTPUT[Can't create pixie.log: Permission denied at ../../src/perl6/Cursor5.pm line 59.␤BEGIN failed--compilation aborted at ../../src/perl6/Cursor5.pm line 62.␤Compilation failed in require at ../../src/perl6/STD5.pm line 28.␤BEGIN failed--compilation aborted at ../../src/perl6/STD5.pm...
diakopter yay; with 5.10 I can use lots of neat new re features
how convenient
;)
moritz_ pugs: say "hi" 12:38
p6eval pugs: OUTPUT[hi␤]
diakopter wow; fast
moritz_ ok, evalbot status summary: everything but pixie: and perl6: works again
diakopter audreyt++
moritz_++
moritz_ pugs will be updated via 'cabal install' as soon as audreyt++ pushes the new version
moritz_ will ask pmurias if can add a --nolog option, I don't want to allow write access for evalbot 12:39
perl6: should be a smop
diakopter moritz_: oh, I thought you meant implementing Perl 6 for a minute there. 12:42
moritz_ lol
well, if you believe ruoso++ it is a smop ;) 12:43
pugs_svnbot r21026 | moritz++ | [evalbot] re-added perl6: target
moritz_ evalbot control restart
moritz_ perl6: say "hi again" 12:44
p6eval elf: RESULT[{}␤]
diakopter yap6: today I work on your opep (operator precedence expression parser) 12:45
pugs_svnbot r21027 | moritz++ | [evalbot] fixed previous commit 12:45
moritz_ diakopter: sorry, just killed p6eval the second you said that ;) 12:46
perl6: say "hi"
p6eval elf 21027: RESULT[{}␤]kp6 21027: RESULT[DISPATCH: calling on invalid object:$VAR1 = 'perl';␤␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 128␤ main::DISPATCH('perl') called at - line 11␤]pugs: RESULT[undef]rakudo 28687: RESULT[Null PMC access in find_method()␤current
..instr.: '_block11' pc 38 (EVAL_13:18)␤]
diakopter wow 12:47
moritz_ or in other words, I screwed up
moritz_ elf: say 1 12:49
p6eval elf 21027: OUTPUT[1␤]
moritz_ perl6: say 1
p6eval elf 21027: RESULT[{}␤]
..kp6 21027: RESULT[DISPATCH: calling on invalid object:$VAR1 = 'perl';␤␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 128␤ main::DISPATCH('perl') called at - line 11␤]
..pugs: RESULT[undef]
..rakudo 28687: RESULT[Null PMC access in find_method()␤current instr.: '_block11' pc 38 (EVAL_13:18)␤]
moritz_ it seems to pass an empty (?) string to each implementation 12:51
pugs_svnbot r21028 | moritz++ | [evalbot] more debugging aids 12:52
moritz_ perl6: say 1; 12:52
moritz_ perl6: say 1; 12:52
p6eval elf 21028: RESULT[{}␤] 12:53
..kp6 21028: RESULT[DISPATCH: calling on invalid object:$VAR1 = 'perl';␤␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 128␤ main::DISPATCH('perl') called at - line 11␤]
..pugs: RESULT[undef]
..rakudo 28687: RESULT[Null PMC access in find_method()␤current instr.: '_block11' pc 38 (EVAL_13:18)␤]
pugs_svnbot r21029 | moritz++ | [evalbot] hopefully passing the right program now 12:54
moritz_ perl6: say 1; 12:54
p6eval elf 21029: OUTPUT[1␤]
..kp6 21029: OUTPUT[1␤]
..pugs: OUTPUT[1␤]
..rakudo 28687: OUTPUT[1␤]
moritz_ YaY
pugs_svnbot r21030 | moritz++ | [evalbot]: cosmetic changes 12:57
moritz_ ok, enough evilbot changes today, gotta do something productive
drbean /lastlog altgr 12:59
diakopter now this is just weird 13:28
diakopter or perhaps I'll put off the opep and instead create the handler model 13:33
diakopter goes back to reading Engineering a Compiler 13:34
pmurias moritz_: i could change the Cursor5 not to insist on a log
diakopter: hi
diakopter pmurias: yo
moritz_ pmurias: that would be nice
diakopter pmurias: yap6 makes match trees now
pmurias good
diakopter now if only strawberry 5.10 gave the same results as 5.10 on my mac and the 5.10 used by p6eval. 13:36
oddness
svn status on the strawberry one shows nothing modified
oddities ** of
so I read the language spec for reia (reia-lang.org) - it seems to have a very similar smart match as well as capture-ish constructs. 13:38
zeno__ > reverse . show $ foldl1 (*) 13:40
pmurias diakopter: re 5.10 , debian is easy to use so it wouldn't be hard to for you to get the exactlly the same perl 13:41
;)
diakopter but is debian easy to use on a windows machine that doesn't allow vmware
zeno__ odd ubuntu doesnt have a pugs package 13:42
diakopter <sigh> I guess I'll build 5.10 on my linux vps.
oh yeah, I forgot; I can use winscp to make editing easy.
pmurias diakopter: the match trees aren't really matches 13:48
pmurias s/matches/Matches 13:49
pmurias moritz_: you could symlink pixie.log to /dev/null 13:51
moritz_ pixie: say "hi" 13:52
p6eval pixie: OUTPUT[Can't locate re/engine/TRE.pm in @INC (@INC contains: ../../src/perl6 /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ../../src/perl6/Cursor5.pm line 428.␤BEGI...
moritz_ pmurias: ah, different error now (ln -s was a good idea)
diakopter pmurias: :P what else do they need to be matches? 13:53
pmurias .from .to
moritz_ I think they are not the standard perl6 match objects
moritz_ but they're nice and compact for IRC output ;) 13:53
diakopter ok; .from and .to are easy... what else
moritz_ pixie: say 1 13:54
p6eval pixie: OUTPUT[Subroutine from redefined at ElfCore5.pm line 741.␤Subroutine to redefined at ElfCore5.pm line 742.␤mkdir lex: Permission denied at ../../src/perl6/Cursor5.pm line 246␤]
moritz_ oh dammit 13:54
pmurias moritz_: getting rid of lex would be hard
moritz_ I suppose, yes
pmurias diakopter: you have read the Match object section of S05?
moritz_ pmurias: is a writable lex/ subdir somewher enough? 13:55
diakopter yes, at some point. I can hardly claim to remember it.
moritz_ and if yes, where
pmurias moritz_: yes
moritz_ in src/perl6/ ?
pmurias moritz_: in misc/pixie
diakopter pmurias: the Match objects at www.perlcabal.org/syn/S05.html#Match_objects won't be useful for yap6 for a long time.. 13:56
moritz_ pixie: say 1
p6eval pixie: OUTPUT[Subroutine from redefined at ElfCore5.pm line 741.␤Subroutine to redefined at ElfCore5.pm line 742.␤cp: cannot stat `lex/Perl/expect_term': No such file or directory␤] 13:57
moritz_ sh: line 1: 32051 File size limit exceeded/usr/bin/perl pixie --quiet /tmp/0ATKHStvSX >> /tmp/kXvEdKlcHt 2>&1
how much space does it need?
pmurias ~2.0M 13:58
diakopter .from .to .chars .orig .text (their equivalents actually) are all available *while* yap6 is running, so they're there. but the default output doesn't include that info
but my main point is that since yap6 is not written in Perl 6, it doesn't need to use Match object semantics internally. 13:59
and especially since it doesn't use STD.pm to generate its parsers...
the match objects wouldn't be useful to any other implementation.
pugs_svnbot r21031 | moritz++ | [evalbot] bump up size limit for temp files to 5MB 14:01
pugs_svnbot r21032 | moritz++ | forgot semicolon 14:02
diakopter pmurias: also, if yap6 continues to progress, it will follow the steps documented in ROADMAP
moritz_ pixie: say 1
p6eval pixie: OUTPUT[Subroutine from redefined at ElfCore5.pm line 741.␤Subroutine to redefined at ElfCore5.pm line 742.␤cp: cannot stat `lex/Perl/expect_term': No such file or directory␤1␤]
moritz_ pmurias: do I have to clean up old lex/ dir? 14:03
pixie: say 1 14:04
p6eval pixie: OUTPUT[Subroutine from redefined at ElfCore5.pm line 741.␤Subroutine to redefined at ElfCore5.pm line 742.␤cp: cannot stat `lex/Perl/expect_term': No such file or directory␤1␤]
pmurias food& 14:06
pugs_svnbot r21033 | diakopter++ | [yap6] document unreadines of Makefile.PL 14:07
r21034 | diakopter++ | [yap6] 14:10
r21034 | diakopter++ | updated README
diakopter yap6: package Foo; say 3; 14:29
p6eval yap6: OUTPUT[Syntax error in /tmp/VpRDwBWUCu at line 1 col 8 : Input file is Perl 5, not Perl 6!␤]
moritz_ how should isa_ok been called? isa_ok($obj, Type) or isa_ok($obj, 'Type')? 15:05
rakudo_svn r28694 | moritz++ | [rakudo] Test.pm: added three-arg form of isa_ok() 15:08
diakopter anyone seen this? www.chrisseaton.com/katahdin/ 15:09
pugs_svnbot r21035 | moritz++ | [spec] fixed nested_pairs.t - ready for spectest_regression 15:14
diakopter aha. stealing the precedence generator from Katahdin... 15:17
moritz_ diakopter: yes, I saw it. And he's doing it (the parsing) wrong 15:18
pugs_svnbot r21036 | moritz++ | [spec] fudged array_extending.t
diakopter moritz_: wrong how?
moritz_ diakopter: he's basically doing precedence parsing with backtracking
diakopter and that's wrong? 15:19
moritz_ I read one of his papers from front to back, and he has ridicoulusly high startup times (20s or a minute or so)
diakopter: that's very inefficient
diakopter: that's O(2^n) in the worst case, where you can have polynomial time 15:20
open that paper, search for his discussion on speed
diakopter his thesis is pretty short
moritz_ man, he even JIT'ed the parser to make it faster
diakopter oh; his alternation does longest-match 15:23
diakopter moritz_: this is interesting; yap6 does an analogous JIT... parser objects/rules/patterns aren't built until they are used the first time 15:31
moritz_ diakopter: lazynes != JIT 15:32
diakopter I didn't say ==; I said analogous.
moritz_ the big difference is that JIT speeds up every execution, whereas lazyness only speeds up one 15:34
Limbic_Region lazy not necessarily equal to late binding either - but we sometimes use them as synonyms 15:34
diakopter moritz_: I guess I'm not seeing how yap6's parser generators aren't analogous to JIT, since they are both lazy and memoized. 15:36
moritz_ diakopter: you're probably right, it's a very high-level JITting
I always associated JIT with bytecode -> machine code 15:37
Limbic_Region because at the low level, JITing is saying - don't execute this byte code - execute this machine code
moritz_ perhaps that's why I failed to see the connection
diakopter I suppose it could go a step further and generate each parser as a .pmc which is eval-loaded upon first-demand 15:38
moritz_: I don't understand why you call Seaton's approach to parsing "wrong"...? 15:39
moritz_ diakopter: not really wrong, just very inefficient
the last compiler I know of that had different startup times mostly died because of it 15:41
diakopter which was that
moritz_ kp6
the bootstrapped version
diakopter oh; you meant the last Perl 6 compiler
moritz_ I don't know any other compiler with similar startup times ;) 15:42
even EiffelStudio seemed faster to me
diakopter I would include gimme5's run duration in STD5's startup time...
(since it's STD.pm that you care about, on input) 15:43
diakopter moritz_: I don't understand why you say Seaton's approach is worst-case O(2^n), since all the papers on packrat parsing say that it guarantees linear? 15:47
moritz_ diakopter: I just remeber that he wrote in one of his papers that his parser backtracks to get precedence and associativity right (which sounds very time consuming), and that he had huge speed problems. Maybe I made the wrong connection, but to me that seemed to be the obvious explanation 15:49
diakopter his paper says that it has large startup times
which means that it is slow... 15:50
but doesn't say anything about how it slows with bigger input
moritz_ well, n is the number of tokens in an expression, not input size 15:51
big input doesn't necessarily mean longer expressions
diakopter of course, but in general, it does.
it does mean more tokens, I mean. 15:52
wait, what is your point? by "bigger input", of course I meant more tokens....
pugs_svnbot r21037 | moritz++ | [spec] more fudging in S02-builtin_data_types/ - some if it successful
moritz_ diakopter: per expression?
diakopter: I'm pretty sure that it won't do a precedence parse of a whole file without sequence points where it stops 15:53
diakopter oh
now I fully read your definition of n
I haven't seen that definition... 15:54
moritz_ computer scientists don't think in such terms I guess, but it seems to make sense to me 15:55
diakopter I agree; that's an interesting measure 15:56
awwaiid diakopter, yap6 that you're doing is in the pugs svn? what directory? I see pugs/v6/yap6/ but that claims to be SMOP now 15:57
diakopter awwaiid: it's in pugs/misc/yap6
awwaiid thanks
diakopter moritz_: after thinking about it a bit, I think the tokens-per-expression omega should correspond to the graphemes-per-input.. 15:58
(because you can have an input with 1 expression)
moritz_ diakopter: you can, but it's not the typical use case 15:59
diakopter but my point is that that language can have arbitrarily large expressions, and there's nothing in the theory about packrat parsing that indicates that expressions have different parse omegas than series of expressions...? 16:00
moritz_ that would be a wort case. I'm not sure he tried to construct an input string for which his parser took maximal time, to demonstrate that his already-slow software could be even slower ;)
TimToady when you talk about "startup time" up above, I don't know whether you're talking about typical user-process startup time, or the time necessary to get the bot to say something
gimme5 is fair to count in the latter, but not the former
it's just part of the "compilation" of STD to STD5 16:01
which reminds me, I should make a real Makefile for STD5 soonish
moritz_ diakopter: you're 100% right, I just wanted to tell you that a t(n) (t: time, n: characters) curve isn't sufficient to measure if that parser is O(2^n) or not
unless you first try to find an input string that takes maximal time 16:02
diakopter moritz_: (which would be different per-language, so perhaps some languages have a lot less-concave curve) 16:03
(or more-concave)
moritz_ aye 16:04
I think it's hard to write large expressions in postscript
rakudo_svn r28695 | moritz++ | [rakudo] three more test files for spectest_regression
pugs_svnbot r21038 | diakopter++ | [yap6] * more inlined 'manual' memoization because apparently I can't figure out how to use Memoize.pm, or it doesn't work in these nested closures. 16:26
diakopter moritz_: upon further reflection, I don't think it (yap6 and the STD_hand grammar) is using sequence points. This is due to the nature of the Kleene star, which is inherently right recursive. at one point I did some thinking about how to rewrite star() so it inlined the recursion, but didn't finish. 16:28
moritz_ diakopter: so you never know if an expression is parsed correctly until you reach end of input? 16:29
that would be very bad for handling BEGIN blocks and such
diakopter no; there still is the notion of ->{fated} in a "Match", but I haven't determined how to annotate patterns in the grammar as such 16:30
stealing the 'fate' term from STD5 of course 16:31
or Cursor5
b/c how such a sequence point would be implemented in the packrat parsing paradigm is to make an alternating parser detect when a successful result was 'fated', so just return it, instead of continuing with other options. Obviously such an annotation enabled important/necessary optimization (lack of total wasted effort) opportunities. 16:33
TreyHarris is this right: / ( (\d) { $0 < 256 or fail } ** '.' ) ** 4 / matches an IP address? is that how you'd combine separator and quantifier **? 16:34
moritz_ TreyHarris: no, it's wrong
TreyHarris moritz_: and correct would be?
moritz_ TreyHarris: the inner regex means (0 up to 255) separated by '.' 16:35
TreyHarris (i see how to do it in two rules, i mean in a single one)
moritz_ and then you do that four times
TreyHarris oops... i meant (\d+)
moritz_ (\d+) { $0 < 256 or fail } [ \. (\d+) { $0 < 256 or fail ] ** 3 16:36
TreyHarris and i don't want to capture, so...
but that's P5-ish... are you saying you can't use separator-** for this purpose?
moritz_ of course that's a bit ugly, bbecause the (\d+) { $0 < 256 or fail part is repeated
TreyHarris: you can use it either for delimited or for counted repetition 16:37
TreyHarris moritz_: but not boh.
moritz_ TreyHarris: I don't see how you can use it for both at the same time
TreyHarris both
moritz_ other than '<delimited> & <repeated>' of course
diakopter (){} **4** '.'
moritz_ diakopter: is that valid p6 regex, and dwim? 16:38
diakopter moritz_: no :P I made it up
TreyHarris ** 4&'.'
diakopter TreyHarris: but that seems to indicate that there will be 4 of '.', which of course could be decremented internally.. but still 16:39
TreyHarris /'x' ** 4|'.'/ would match x, x.x, x.x, x.x.x... and also xxxx :)
[particle] istr a **{...} incantation 16:40
[particle] checks S05
moritz_ sorry, I'll be missing #perl6-soc again today 16:41
I'll write my report now, probably
[particle] ah, rats. gotta prep for a concall & 16:44
diakopter 'x' ** 4 ** '.' makes sense to me, because there's no alternative (sane) interpretation. I mean, if ** is right-associative..
eh, I take that back; I guess there is. 16:45
moritz_ ** would be left associative in regexes I guess 16:47
diakopter actually that would make it chaining, of sorts. 16:54
moritz_ which seems useful to me 16:55
diakopter yeah, me too. you could have (\d+) { $0 < 255 } ** 4 ** '.' ** 5 ** ',' 16:56
diakopter or (\d+) { $0 < 255 } ** 4 ** '.' ** 0..63 ** ',' 0..63 ip addresses sep by commas 16:58
or [**] (\d+) { $0 < 255 }, 4, '.', 0..63, ',' 16:59
that works b/c the quantifier is an implied 1..* when it's a literal, so the explicit quantifier is a modifier of the literal's op. 17:01
moritz_ do we have hyper ops in regexes? 17:04
diakopter I don't think so... I was again imagining :D 17:05
moritz_ I think that would be very confusing because people tend not to think about precedence levels in regexes
moritz_ and they would be surprised where the boundaries of single tokens are 17:06
moritz_ s/tokens/precedence levels/ 17:06
TimToady wow, brown.freenode.net seems really flakey of late 17:25
** in regex is right associative too
because the ** rule looks for a quantified atom on its right 17:26
so you have to use brackets to be left associative, which is probably a feature
pmichaud pugs: say (1..5).WHAT 17:46
p6eval pugs: OUTPUT[Array␤]
pmichaud pugs: say (1..5).pick
p6eval pugs: OUTPUT[1␤]
pmichaud pugs: say (1..5).pick
p6eval pugs: OUTPUT[4␤]
pmichaud pugs: say (1..5).pick(3) 17:54
p6eval pugs: OUTPUT[345␤]
pmichaud pugs: say (1..5).pick(3)
p6eval pugs: OUTPUT[234␤]
pmichaud pugs: say (1..5).pick(3)
p6eval pugs: OUTPUT[325␤]
pmichaud pugs: say (1..5).pick(7)
p6eval pugs: OUTPUT[53124␤]
moritz_ pugs: say (1..5).pick(*)
p6eval pugs: OUTPUT[12435␤]
pmichaud should pick/grep/cat/keys/kv/pairs/values be methods of the Positional role? 17:55
or should Range and List each provide their own methods for these? 17:56
or is there some relation between Range and List that I'm unaware of?
moritz_ I think that implementing a iterator should be enough for grep and cat, for example
pmichaud moritz: what about (1..5).grep ... ? 17:57
(1..5).grep would imply a 'grep' method on Range objects
TimToady grep only requires an iterator for its input, since it's lazy, I think
pmichaud I'm asking more about dispatch 17:58
how does (1..5).grep get dispatched
moritz_ having a common role for such things (Positional and Iteratable) could solve some trouble
pmichaud or (1..5).pick
TimToady grep is probably one of those methods that is forced to mean the same thing everywhere via Any
pmichaud okay.
that works for me.
TimToady like join
pmichaud thanks. 17:59
moritz_ should I update S29 to add Any multis?
TimToady then the Any implementation really decides which class or role it really uses
TimToady moritz_: don't see much harm in it 18:00
(they aren't multis, they're just methods)
(of Any)
single dispatch
no magical syntax right now, just Prelude defining methods in Any that refer to the real class/role 18:01
pmichaud TimToady++ # simple implementations :-) 18:02
I'll update Rakudo to match also. 18:03
pugs_svnbot r21039 | diakopter++ | [yap6] \o/ successfully converted plus()/star() to iterative instead of recursive. speed/memory improvements ensue.
moritz_ somhow still doesn't like the idea - why should the List methods be so special that they are anchored in Any, and many others aren't?
TimToady because they're defined by the language 18:07
[particle] pugs: 1.pick 18:08
p6eval pugs: OUTPUT[*** pick not defined: VInt 1␤ at /tmp/9ESTHIbncN line 1, column 1 - line 2, column 1␤]
TimToady they're as close to "built-ins" as p6 gets
pugs_svnbot r21040 | diakopter++ | [yap6] eliminated unnecessary deep_copy 18:12
spinclad .oO { <ipoctet> ** '.' :n(4) <ipoctet> ** 4 :sep<.> <ipoctet> ** ('.' but 4) } 18:54
spinclad wonders, am i netsplit? 18:55
diakopter if you are, it's w/ me
spinclad just hadn't seen any talk for 40 minutes 18:56
(thought it a bit anomalous)
re **, i think something like the above is needed: i see only one repetition operation, with both a separator and quantifier. 18:58
but it doesn't fit in the regex sublanguage well. 18:59
TimToady we're just all off hacking in another window... 19:00
spinclad if #parrot, i'm still backlagged there 19:01
pugs_svnbot r21041 | lwall++ | [perl6] add Makefile 19:03
r21041 | lwall++ | [STD etc.] memoization via lang-specific positional array of memos
r21041 | lwall++ | [STD] the ws_* attributes are now gone
r21041 | lwall++ | [Cursor5] much cleanup of match tree
TimToady (not real memoization, just position-specific data) 19:04
Auzon perl6: package A {our $B = 42;}; say $A::B;
p6eval elf 21041: OUTPUT[42␤]
..kp6 21041: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ ]
..pugs: OUTPUT[␤]
..rakudo 28687: OUTPUT["load_bytecode" couldn't find file 'PGE.pbc'␤current instr.: 'parrot;Grammar;onload' pc 8434 (src/gen_builtins.pir:5462)␤]
spinclad (re doesn't fit regex sublang): i take it back, i see :adverbs used in regexes... 19:05
TimToady but in general adverbs are used in regexen to modify what's coming, not what came before 19:06
spinclad (at least free-floating at the start of a bracket-group; what do those attach to?)
yeah
spinclad so quite different from the main language 19:07
TimToady except see also s:g:i/.../ for instance
it's in front there too
spinclad i see those as still in the main language, applying to the 's' 19:08
TimToady the adverbs on operators only works that way because there's no other place to look for them.
spinclad could they possibly be made to work the same in regexes?
TimToady don't wanna
spinclad good nuff
(but WHY???) 19:09
TimToady because it's often better if adverbs can come before the thing they modify, just because you read left-to-right 19:10
diakopter ... grammar RTLPerl { ... 19:11
TimToady that's why s///g turned into s:g///
spinclad grammar BiDiPerl
TimToady it's particularly necessary for an adverb like :lang to come before the language it switches to
spinclad well, yes, especially if the modifier modifies prior parsing 19:12
yes
TimToady 1..10:by(2) doesn't have to modify the parse of ..
and it's relatively close by (usually)
spinclad i don't quite see that applying to ** though, it's not modifying its parse either 19:13
so similar to ..
and i'm starting to think of ** as :($left, :$n, :$sep) or some such 19:15
(if i'm not mangling the syntax too grossly)
anyway, made my case, your call 19:16
TimToady you're not the first person to ask for combining sep and counting, actually 19:17
will think about it s'more
spinclad TreyHarris earlier today, even 19:18
diakopter zounds
spinclad and diakopter
and now me
with pitchforks
and torches 19:19
diakopter TimToady: see above for my idea about making the chaining behavior do a composition instead of two applications...
zounds: caching of the heretofore AST results constitutes 96% of the yap6 processing time. hrm :/ 19:22
er, theretofore
(multiplies time by 25) 19:24
TimToady actually, Morris Siegel beat you all to it. :) 19:25
diakopter 25x is enough to warrant adding a 2nd pass (to build the ast) upon reaching an ltm-stopper or end-of-input... 19:27
mst where does pugs svn live now? 19:50
mst wanted to poke at STD5.pm
Auzon svn.pugscode.org/pugs/
[particle] std5 is under src/perl6/ 19:51
mst right.
thanks very much all
diakopter oooo (continued from above) ... and during that special-mode second pass, the parsing tree would be fated forward (down into the tree as opposed to in reverse) 19:57
[particle] i'm going to be late for the phone call 20:03
moritz_ re 20:45
pugs_svnbot r21042 | lwall++ | [Cursor5] didn't propagate memo array correctly 20:57
r21042 | lwall++ | [STD] list and chain operators also want deadwood removed
diakopter moritz_: you're still awake? :) 21:04
moritz_ diakopter: yes 21:05
diakopter: it's 11pm here, and still too warm to sleep 21:06
and know that the football match is over (Germany won btw) I can enjoy life again ;) 21:07
s/know/now/ 21:09
gbacon where is the source for svnbot? 21:23
diakopter gbacon: it's under examples/network 21:25
iirc
yes
it's in Perl 6
Auzon actually, I don't think the source is in the repo 21:26
moritz_ some of the svn bots here (rakudo_svn most notably) is in perl5, using SVN::Log and Bot::BasicBot
(and specbot is the same perl 5 based thingy) 21:27
diakopter Auzon: yeah it is... 21:28
examples/network/svnbot.pl
pugs_svnbot
er
Auzon That's not what's running here
diakopter oh. it was a couple of months ago 21:29
moritz_ Auzon: I thnk pugs_svnbot is powered by examples/network/svnbot.pl, and running on feather
(timtowtdi.org hosts only two svn bots atm)
diakopter whew; I'm not crazy
Auzon I only see one running on timtowtdi.org... 21:30
moritz_ sees two. /me wins ;-) 21:31
one is the specbot, don't know what its nick is ;)
diakopter perlbot: what do you do 21:32
moritz_ and with scarce 117 nicks in here I'm not too fond on figuring out which one it is ;)
diakopter buubot: how many bots are you
buubot diakopter: Stored how many bots
Auzon I thought it was speckbot, but I don't see it. and a 'ps -A | grep svnbot' only returned one 21:33
moritz_ Auzon: btw if you want to change something in p6eval's env, it's now in /newchroot, not /chroot anymore
Auzon ok
diakopter there it is 21:34
moritz_ speckbot, there you go
only the svn bots are in the old chroot
diakopter 's not looking forward to refactoring yap6's parser() again for two-passes
Auzon moritz_: Any objections to me moving the up to date tests in t/packages to t/spec/S10-packages? 21:35
moritz_ I should clean up the rest to avoid confusion
Auzon moritz_: we could commit the svnbot code to the pugs repo if you want
moritz_ Auzon: re moving, do as you want
Auzon: re svnbot code, I wouldn't mind, but perhaps we should change the hardcoded configuration first ;) 21:36
Auzon yeah, I was thinking that we could generalize it
moritz_ shouldn't be too hard
pugs_svnbot r21043 | moritz++ | [spec] rand.t: unfudged one test, changed fudge message of other 21:58
Auzon perl6: my $hyphen-name = 5; say $hyphen-name; 22:17
p6eval elf 21043: OUTPUT[Useless use of subtraction (-) in void context at (eval 123) line 3.␤Undefined subroutine &GLOBAL::prefix__61 called at (eval 123) line 3.␤ at ./elf_f line 3854␤] 22:17
..kp6 21043: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ ]
..pugs: OUTPUT[*** No such subroutine: "&name"␤ at /tmp/83mHeZFOzx line 1, column 1-20␤]
..rakudo 28687: OUTPUT[get_iter() not implemented in class 'Integer'␤current instr.: 'prefix:=' pc 11123 (src/gen_builtins.pir:7336)␤]
Auzon I'm guessing that only \w is allowed as a variable or package name without being quoted. 22:18
moritz_ yes
but IMHO - is just more readable as a word separator 22:19
Auzon I really have no preference, but this means I have to quote the package tests for S10 if I move them 22:20
moritz_ or use CamelCase 22:20
Auzon it does 'use t::packages::FileName' which would translate to 'use t::spec::S10-packages::FileName' which isn't allowed. I'm trying to think of ways around this. 22:23
moritz_ hurm 22:24
Auzon an equivalent to 'use lib' would get around this nicely. 22:25
moritz_ yes
or a t/spec/modules/ or some such
diakopter offline for 9 days& 22:28
Auzon see you, diakopter.
moritz_ have fun, and see you diakopter ;)
rakudo_svn r28698 | bernhard++ | Remove trailing space. 22:36
pugs_svnbot r21044 | dolmen++ | Moving range.t with built-ins datatypes. 23:10
pugs_svnbot r21045 | gbacon++ | Make svnbot.pl run with pugs v6.2.13.5. 23:22
dolmen rakudo: say (3 == 1..5).perl 23:46
p6eval rakudo 28687: OUTPUT[get_number() not implemented in class 'Range'␤current instr.: 'infix:==' pc 8852 (src/gen_builtins.pir:5763)␤]
dolmen perl5: say (3 == 1..5).perl 23:47
perl6: say (3 == 1..5).perl
p6eval elf 21045: OUTPUT[␤]
..kp6 21045: OUTPUT[syntax error at position 4, line 1 column 4:␤say (3 == 1..5).per␤ ^ HERE␤]
..pugs: OUTPUT[Bool::False␤]
..rakudo 28687: OUTPUT[get_number() not implemented in class 'Range'␤current instr.: 'infix:==' pc 8852 (src/gen_builtins.pir:5763)␤]
pugs_svnbot r21046 | dolmen++ | More ranges tests. 23:52