pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~330 days 'til Xmas
Set by mncharity on 25 January 2009.
pugs_svn r25179 | lwall++ | [STD] move PERL pad out of STD, more groundwork on proper symbol tables 02:03
s1n anyone overly familiar with the grammer (src/parser/grammer.pg)? 03:22
TimToady, jnthn, pmichaud: i'm looking at you guys
mtnviewmark I know a little about src/perl6/STD.pm 03:23
er, which repo are you talking 'bout?
s1n mtnviewmark: rakudo 03:24
it's soft of a general question
mtnviewmark ah - sorry - nope, I only know about the perl6 parser in perl6
s1n does C<<?>> imply optional?
mtnviewmark but if it's general about the language, give it a shot
in what context?
like, give me a sample expresion 03:25
s1n expressions, specifically the loop structure
sure
<e1=EXPR>? ';'
does that mean e1 is optional followed by a C<<;>>?
mtnviewmark ah - you mean in regex -- yes that is zero or one time
mtnviewmark correct 03:25
s1n oh, that translates directly to a regex? 03:26
mtnviewmark actually, that means EXPR is optional (locally renamed e1)
well -- if it is in the context of a regex, that is what that means
s1n how do i know what the context is?
mtnviewmark so inside a rexep, token or rule construction
like this:
std: rule STMT { <EXPR>? ';' } 03:27
p6eval std 25179: OUTPUT«00:02 32m␤»
mtnviewmark see - even parses!
so things that start with regex, token or rule are regex's....
things that start sub or method are not
s1n neat!
mtnviewmark things that are in regex quotes are also regexs so:
s1n i can make the std parse grammers! 03:28
mtnviewmark $a ~~ / <EXPR>? ';' /;
yes prefixing with std: here asks the perl6 parser in perl6 (translated into perl5) to parse it
s1n well i didn't know it did grammers too
mtnviewmark prefixing with perl6: asks all the on-line implementations to evaluate it
s1n mtnviewmark: yes, i knew about perl6 prefix (and all the various impls) 03:40
ludan hi 08:47
moritz_ hi 08:51
Matt-W morning
moritz_ stares at a scary piece of software (not Perl 6 related) 09:42
problem is: I wrote it myself, I can't blame anybody else :-) 09:43
Matt-W unlike me 09:48
I'm looking at a scary bit of software that somebody else wrote
mberends <delurk>moritz_: haha</delurk> 10:10
moritz_ *relurk* 10:11
literal rakudo: my @list; say +@list, -@list; 10:39
p6eval rakudo 36347: OUTPUT«0-0␤»
Matt-W that looks about right 10:41
jferrero rakudo: my @x = < 1 2 3 >; 10:57
p6eval rakudo 36347: RESULT«./parrot: symbol lookup error: /home/evalenv/parrot/runtime/parrot/dynext/perl6_ops.so: undefined symbol: const_string␤»
jferrero rakudo: my @x = < 1 2 3 >; say @x 10:58
p6eval rakudo 36347: OUTPUT«123␤»
jferrero rakudo: my @x = < 1 2 3 >; say +@x
p6eval rakudo 36347: OUTPUT«3␤»
jferrero rakudo: my @x = < 1 2 3 >; say [+] @x
p6eval rakudo 36347: OUTPUT«6␤»
Matt-W duh! I should've realised before how similar [+] is to foldr 11:01
jferrero foldr? 11:03
Matt-W A Haskell function that does a right fold on a list - something like foldr (+) 0 [1, 2, 3] would be like what you just did 11:07
[+] in this case is rather more concise though :)
jnthn hi all 11:45
masak does a o_O at :二nd 11:59
I don't think we need to worry about Perl 6 being inadequate for ibfuscation purposes. 12:00
jnthn Well, it is still Perl. ;-) 12:03
masak in some ways even more so. :) 12:04
jnthn hopes to get to a little Rakudo hacking today
masak YaY!
it is much needed.
if you want to, I can dig out the most OMFG-y tickets for you. :P 12:05
jnthn masak: I won't have much time this week...can't quite fit in a Rakudo day. :-( 12:06
But next week I will for sure get one in.
masak ok.
jnthn If not two to make up for this week. 12:07
masak jnthn++
jnthn So a list of your most ouch-ish bugs would be helpful.
The RT queue is rather large.
masak yeah, who did that?
jnthn I can't imagine. :-P
Has pmichaud been seen at all recently?
moritz_ yesterday around parrotsketch time
jnthn Ah, he posted on the Parrot mailing list... 12:08
Oh, yes.
I was on a plane that was failing to land at that point in time...
jnthn Thankfully, the second attempt worked out. :-/ 12:08
moritz_ "two langdings for the price of one, only with $your_company" 12:10
masak jnthn: #63004, #63002, #62898, #62894, #62828, #62768, and #62704 are my OMFG bugs right now. 12:13
masak moritz_: 'langdings' sounds like the Parrot language philosophy: everything is acceptable, just as in Wingdings. :) 12:17
jnthn masak: Thanks, noted them. 12:18
jnthn Did some updated instructions for obtaining/building Rakudo get put anywhere? 12:21
masak no. 12:22
jnthn :-|
fail
masak but pmichaud said he'd update things when they'd settled down.
jnthn OK
jnthn I gave the GIT instructions in my talk in Sofia. 12:23
So I guess languages/perl6 in Parrot should be going away soon? 12:27
And I should commit to GIT now?
masak guess so.
jnthn OKies. 12:28
jnthn didn't try comitting to Parrot since it was moved 12:30
Nor rakudo
szabgab rakudo: my $x = "abc"; $x ~~ s{a}=q{z}; say $x 12:41
p6eval rakudo 36347: OUTPUT«Could not find non-existent sub s␤current instr.: '_block14' pc 76 (EVAL_17:44)␤»
szabgab rakudo: my $x = "abc"; $x ~~ s:{a}=q{z}; say $x 12:42
p6eval rakudo 36347: OUTPUT«Statement not terminated properly at line 1, near ":{a}=q{z};"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
szabgab std: my $x = "abc"; $x ~~ s:{a}=q{z}; say $x
p6eval std 25179: OUTPUT«############# PARSE FAILED #############␤Unrecognized regex metacharacter at /tmp/2YzqIN7Lqy line 1:␤------> my $x = "abc"; $x ~~ s:{a}=q{z}; say $x␤ expecting any of:␤ quantifier␤ regex atom␤ rxinfix␤ ws␤00:04 35m␤»
szabgab std: my $x = "abc"; $x ~~ s:{.}=q{z}; say $x 12:43
p6eval std 25179: OUTPUT«############# PARSE FAILED #############␤Unable to parse statement list; couldn't find right brace at /tmp/RWTA8asLEy line 1:␤------> my $x = "abc"; $x ~~ s:{.}=q{z}; say $x␤ expecting any of:␤ prefix or noun␤ statement end␤ statement list␤
..whitespace␤00:03 33m␤»
szabgab std: my $x = "abc"; $x ~~ s:{a}=q{z}; say $x;
p6eval std 25179: OUTPUT«############# PARSE FAILED #############␤Unrecognized regex metacharacter at /tmp/O3uTn3cWyz line 1:␤------> my $x = "abc"; $x ~~ s:{a}=q{z}; say $x;␤ expecting any of:␤ quantifier␤ regex atom␤ rxinfix␤ ws␤00:03 33m␤»
szabgab what am I misunderstanding in the syntax ? 12:44
masak std: $_ = 'foot'; s[foo] = 'bar'; 12:45
p6eval std 25179: OUTPUT«00:04 35m␤»
masak std: my $a = 'foot'; $a ~~ s[foo] = 'bar';
p6eval std 25179: OUTPUT«00:04 34m␤»
masak szabgab: there you go.
szabgab std: my $x = "abc"; $x ~~ s[a]=q{z}; 12:46
p6eval std 25179: OUTPUT«00:04 34m␤»
szabgab rakudo: my $x = "abc"; $x ~~ s[a]=q{z};
p6eval rakudo 36347: OUTPUT«Could not find non-existent sub s␤current instr.: '_block14' pc 81 (EVAL_16:46)␤»
szabgab rakudo: my $x = "abc"; $x ~~ s[a]='z'; 12:47
p6eval rakudo 36347: OUTPUT«Could not find non-existent sub s␤current instr.: '_block14' pc 81 (EVAL_16:46)␤»
szabgab rakudo: my $x = 'abc'; $x ~~ s[a]='z';
p6eval rakudo 36347: OUTPUT«Could not find non-existent sub s␤current instr.: '_block14' pc 81 (EVAL_16:46)␤»
masak szabgab: not implemented yet. 12:48
szabgab: use .=subst
szabgab so no substitution yet? 12:49
masak szabgab: yes, with .subst 12:50
it's just not syntactically sweetened yet.
szabgab std: my $x = "abc"; $x.subst(/a/, "z"); say $x 12:52
p6eval std 25179: OUTPUT«00:04 34m␤» 12:53
szabgab rakudo: my $x = "abc"; $x.subst(/a/, "z"); say $x
p6eval rakudo 36347: OUTPUT«abc␤»
szabgab he?
masak szabgab: it's non-modifying.
rakudo: my $x = "abc"; $x.=subst(/a/, "z"); say $x
p6eval rakudo 36347: OUTPUT«zbc␤»
szabgab rakudo: my $x = "abc"; $x.subst(/a/, "z").say;
p6eval rakudo 36347: OUTPUT«zbc␤»
szabgab ah
thanks
masak np 12:54
literal so...how will $| = 1; be expressed in Perl 6? 14:40
ruoso the same way as in p5 when not using this variable ;) 14:42
moritz_ probably with $*OUT.autoflush
or something similar
ruoso $*OUT.autoflush = 1;
moritz_ thank god that it's not me who designs the interface :-) 14:43
ruoso literal, I think IO::Handle will probably be the reference when designing the API... but it should probably be broken down in several roles, depending on the features each IO object supports 14:48
masak moritz_: I feel about the same. but I hope someone will take pity on S16. 14:51
ruoso will take a look at it 15:00
jnthn ruoso: Were you working on the iterators synopses? What was status of that? Awaiting some review? 15:01
ruoso jnthn, basically yes
jnthn, the basic building block is there, we still need to evaluate that and see how to build the "batch api" 15:02
pugs_svn r25180 | hinrik++ | [util/perl6.vim] move routine name matching after contextualizer matching, allowing e.g. 'regex item { }' to highlight correctly 15:13
pugs_svn r25181 | hinrik++ | [util/perl6.vim] update TODO list 15:21
jnthn ruoso: OK, cool. 15:24
literal rakudo: say "foo \1 bar" 15:30
p6eval rakudo 36353: OUTPUT«\123 form deprecated, use \o123 instead at line 1, near "foo \\1 bar"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
literal rakudo: say "foo \0 bar" 15:31
p6eval rakudo 36353: OUTPUT«foo
moritz_ I guess IRC doesn't like binary strings :-) 15:32
literal rakudo: say "foo \012 bar" 15:33
p6eval rakudo 36353: OUTPUT«\123 form deprecated, use \o123 instead at line 1, near "foo \\012 b"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
pugs_svn r25182 | ruoso++ | [spec/S16] proposed role-based api 15:37
ruoso moritz_, ^
pugs_svn r25183 | hinrik++ | [util/perl6.vim] highlight \0 but highlight other old-style octal espaces as errors 15:44
moritz_ std: "\0" 15:45
p6eval std 25183: OUTPUT«00:03 32m␤» 15:45
moritz_ std: "\001"
p6eval std 25183: OUTPUT«00:03 32m␤»
pugs_svn r25184 | hinrik++ | [util/perl6.vim] move relevant espaces sequences from :qq/:double to :b/:backslash 15:52
literal rakudo: $foo ~~ /bar/; 16:00
p6eval rakudo 36353: OUTPUT«Scope not found for PAST::Var '$foo' in ␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤» 16:01
literal rakudo: my $foo = 'bar'; $foo ~~ /bar/;
p6eval rakudo 36353: OUTPUT«./parrot: error while loading shared libraries: /home/evalenv/parrot/blib/lib/libparrot.so.0.9.0: invalid ELF header␤»
literal huh
[particle]1 O_o 16:03
literal rakudo: my $foo = 'bar'; $foo ~~ /bar/;
p6eval rakudo 36353: OUTPUT«./parrot: error while loading shared libraries: /home/evalenv/parrot/blib/lib/libparrot.so.0.9.0: invalid ELF header␤»
literal oops 16:03
[particle] rakudo needs to be rebuilt on feather
literal perl6: my $foo = 'bar'; $foo ~~ /bar/; 16:04
p6eval elf 25184: RESULT«1␤»
..rakudo 36353: RESULT«./parrot: symbol lookup error: /home/evalenv/parrot/runtime/parrot/dynext/perl6_ops.so: undefined symbol: const_string␤»
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/evalenv/pugs/perl5/Pugs-Compiler-Rule/lib';␤ unshift @INC, '/home/evalenv/pugs/third-party/Parse-Yapp/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runti...
literal perl6: my $foo = 'bar'; $foo ~~ //; 16:05
p6eval pugs: OUTPUT«*** Null patterns are invalid; use <?null> or an empty string instead␤ at /tmp/4n2qAcfv51 line 1, column 18-28␤»
..elf 25184: OUTPUT«Can't call method "match_hash" on an undefined value at ./elf_h line 2241.␤»
..rakudo 36353: OUTPUT«Statement not terminated properly at line 1, near "~~ //;"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
pugs_svn r25185 | hinrik++ | [util/perl6.vim] fix some bugs with the matching of patterns 16:15
pugs_svn r25186 | hinrik++ | [util/perl6.vim] oops, don't catch \0 and \123 at the top level 16:19
literal likes how perl6.vim highlights Pod6 better than perl.vim highlights Pod 16:23
s/perl.vim/pod.vim/ rather 16:25
dalek kudo: db33076 | particle++ | .gitignore:
add win32 extensions for generated files to .gitignore
16:48
kudo: c3705e4 | particle++ | :
Merge branch 'master' of git.rakudoperl.org/rakudo/rakudo

Conflicts:
  .gitignore
dalek kudo: 7d7f1af | (Patrick R. Michaud)++ | Configure.pl:
Update Configure.pl with some help messages and options.
16:55
kudo: 8449537 | (Patrick R. Michaud)++ | (2 files):
More Configure.pl updates.
kudo: 183814a | (Patrick R. Michaud)++ | .gitignore:
Merge branch 'master' of [email@hidden.address]
dalek kudo: d38a4ac | (Mark Glines)++ | config/makefiles/root.in:
[root.in] Fix the path to parrot(.exe), for the "parrot is in parrot/" case.
17:15
pugs_svn r25187 | putter++ | [elfparse] Minor std.pm depodding. Copied // from elf_h.
pugs_svn r25188 | moritz++ | [t/spec] (hopefully) adjust plan op reduce-metaop.t 17:16
dalek kudo: a5e405e | (Mark Glines)++ | (2 files):
Fix a couple of other things related to building with a parrot in parrot/.
17:26
kudo: 83a3599 | unknown++ | (4 files):
Merge branch 'master' of [email@hidden.address]
17:29
dalek kudo: a888fb3 | jnthn++ | t/spectest.data:
Add S12-role/crony.t to spectest.data.
17:36
dalek kudo: 78650e7 | (Mark Glines)++ | src/ops/perl6.ops:
Since -I<parrot>/src/pmc is in the compiler command line, we don't need all that

building successfully when parrot is in a subdir.
17:39
pugs_svn r25189 | ruoso++ | [spec/S16] IO::Encoded role, including an idea I just had to allow (IN|OUT)PUT_(RECORD|FIELD)_SEPARATOR semantics 17:45
azawawi hi 18:15
rindolf Hi azawawi 18:16
szabgab rakudo: my %h; say %h<field>; 19:00
p6eval rakudo 36357: OUTPUT«Use of uninitialized value␤␤» 19:01
szabgab use Test; plan 1; ok(1); my %h; say %h<field>;
rakudo: use Test; plan 1; ok(1); my %h; say %h<field>;
p6eval rakudo 36357: OUTPUT«Can't find ./Test in @INC␤current instr.: 'die' pc 16844 (src/builtins/control.pir:204)␤»
szabgab anyway, my point is that the second one does not display the Use of uninitialized value warning 19:02
dalek kudo: 84b76c7 | pmichaud++ | PARROT_REVISION:
Add PARROT_REVISION to track wanted revision of Parrot for building Rakudo.
19:03
pmichaud szabgab: Test.pm turns off the warnings. 19:04
szabgab: because people were complaining about all of the "Use of uninitialized value" warnings coming from the test suite.
szabgab why ?
wow 19:05
can we have a flag for this?
pmichaud you can turn the warnings back on, yes.
our $*WARNINGS = 1;
(not standard Perl 6 -- it's rakudo specific.) 19:06
szabgab and can I catch warnings ?
pmichaud I'm not sure what the current state of catching warnings is.
szabgab so what is Rakudo specific the $*WARNINGS variable ? 19:10
pugs_svn r25190 | azawawi++ | [S:H:P6] version 0.040 includes the latest perl6.vim and depends on Moose 0.67 19:22
r25190 | azawawi++ | [S:H:P6] Fixed a typo in MANIFEST.SKIP
dalek kudo: b0713e5 | pmichaud++ | MAINTAINER:
Remove unneeded MAINTAINER file.
19:24
szabgab how do I run the spectests? 20:03
on rakudo? 20:04
azawawi hi szabgab, long time no see :) 20:08
dalek kudo: 1bbe7f4 | pmichaud++ | (2 files):
Move PARROT_REVISION to build/ (keep root dir uncluttered)
21:15
kudo: cce3f9e | pmichaud++ | LICENSE:
Add LICENSE file.
dalek kudo: 159a3a5 | pmichaud++ | (2 files):
Move ROADMAP file to docs/ .
21:30
kudo: e45ea51 | pmichaud++ | CREDITS:
Add CREDITS (distilled from Parrot repository CREDITS file).

were specific to Rakudo. If your entry was removed and you want to remain in CREDITS, just send a patch and we'll put you back in.
kudo: 1ab9b07 | pmichaud++ | .gitignore:
Update .gitignore to ignore parrot/ subdirectory.
pugs_svn r25191 | moritz++ | [t/spec] fudge cross-metaop.t for rakudo 21:54
dalek kudo: c108072 | (Moritz Lenz)++ | build/gen_metaop_pir.pl:
XopX is now spelled Xop
21:56
pugs_svn r25192 | moritz++ | [t/spec] fix plan in reduce-le1arg.t 22:02
moritz_ @tell mtnviewmark next time you clean up test, please remember to also fix the plan() 22:03
ENOLAMDAbot
pugs_svn r25193 | moritz++ | [t/spec] fix plan in minmax.t 22:05
pugs_svn r25194 | moritz++ | [t/spec] fix reduce-metaop.t, moritz-- 22:07
moritz_ all tests pass, 6629 passing tests. 23:03
meppl good night 23:19