Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-06-20

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:39 sri_work joined #perl6
01:01 agentzh left #perl6
01:08 bacek_ joined #perl6
01:12 bacek joined #perl6
02:15 simcop2387 joined #perl6
02:23 mncharity joined #perl6
02:24 cjfields joined #perl6
02:38 cjfields joined #perl6
02:41 agentzh joined #perl6
02:43 meppl joined #perl6
02:45 mncharity pugs: my @a=3,4;my @b=5,6;push @a,@b;say @a;
02:45 p6eval OUTPUT[3456␤]
02:45 mncharity pugs: my @a=3,4;my @b=5,6;push @a,@b,7,8;say @a;
02:45 p6eval OUTPUT[345678␤]
02:46 mncharity pugs: my @a=3,4;my @b=5,6;@a.push(@b,7,8);say @a;
02:46 mncharity pugs: my @a=3,4;my @b=5,6;@a.push(@b,7,8);say @a;
02:46 p6eval OUTPUT[345678␤]
02:47 mncharity pugs: my @a=3,[4,5];say @a; say @a.list;
02:47 p6eval OUTPUT[34 5␤34 5␤]
02:52 kanru joined #perl6
02:56 mncharity pugs: my @a=3,4;@a.push([5,6]);say @a;
02:56 p6eval OUTPUT[345 6␤]
02:56 mncharity rakudo: my @a=3,4;@a.push([5,6]);say @a;
02:56 p6eval rakudo r28570 OUTPUT[345 6␤]
02:57 mncharity rakudo: my @a=3,4;my @b=5,6;push @a,\@b,7,8;say @a;
02:57 mncharity pugs: my @a=3,4;my @b=5,6;push @a,\@b,7,8;say @a;
02:57 p6eval OUTPUT[345 678␤]
02:58 meppl good night
03:01 mncharity :)
03:02 elmex_ joined #perl6
03:03 mncharity moritz_++ pmurias++
03:07 mncharity as you saw, elf's treatment of list context, array auto flattening, \ , etc, is non-existent.  it would be nifty if someone who actually understands it all wanted to take it on.
03:07 mncharity even ok to take something of a performance hit for it.(!) :)
03:11 corneliu1_ joined #perl6
03:12 corneliu1_ joined #perl6
03:13 a-jing joined #perl6
03:14 a-jing left #perl6
03:15 BinGOs_ joined #perl6
03:17 cjfields joined #perl6
03:24 kanru joined #perl6
03:29 diakopter mncharity: if only I understood it (both elf & list context
03:29 diakopter )
03:34 mncharity :)
03:34 pugs_svnbot r20901 | putter++ | [elf] Minor tweaks, of Pair (moved attribute defs out of the big class graph), tidy (enforced p5 code segregation), and (re)set the executable bit on elf_f.
03:35 mncharity diakopter: I'd be happy to contribute the elf-understanding part...
03:35 cjfields perl6: role A { has $.answer is rw }; my $i = 100; $i does A(42); say $i; say $i.answer;
03:35 p6eval kp6 r20901: 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  ␤]
03:35 p6eval ..pugs: OUTPUT[*** Unknown syntactic construct: Syn "does" [Var "$i",App (Var "&A") Nothing [Ann (Pos (MkPos "/tmp/1NCnKGbCxd" 1 55 1 57)) (Val (VInt 42))]]␤    at /tmp/1NCnKGbCxd line 1, column 45-58␤]
03:35 p6eval ..rakudo r28570: OUTPUT[100␤42␤]
03:35 p6eval ..elf r20901: OUTPUT[Unknown rule: package_declarator:role␤It needs to be added to ast_handlers.␤ at ./elf_f line 1918␤]
03:36 pbuetow_ joined #perl6
03:36 cjfields jonathan++
03:36 cjfields mixins are a-workin'!
03:36 mncharity :)
03:40 * diakopter kicks pugs_svnbot
03:40 pugs_svnbot r20902 | diakopter++ | [yap6] fixed regression/bug in rule(); re-enabled the POC lrule commalist; fixed stmtList so it can eat trailing whitespace (anything can immediately follow a statement-terminating semicolon); combined declare and assign rules as declaration is a special case of assign; refactored the blkPrmbl rule's members so they actually work, now; reorganized the rules in a bit of top-down order; added a panic for things like BEGIN: {} (I
03:40 diakopter <sigh>
03:40 diakopter I can't win
03:40 mncharity svn log :)
03:42 mncharity like BEGIN: {} (I need a "worry" equiv); added the ^ alternation operator, which doesn't have the correct relative precedence to quite be like STD's ||, but it's close ("first match" as opposed to one's "ltm"); fixed the iff() parser combinator so it actually works; added some premature optimizations such as a qualifying regex hint to keywords()...
03:43 mncharity end of day.  good night all &
03:48 alanhaggai joined #perl6
03:49 cjfields left #perl6
03:54 drbean_ joined #perl6
03:59 alanhaggai_ joined #perl6
04:30 snooper joined #perl6
05:32 alester_ joined #perl6
05:37 sri_work joined #perl6
06:17 Psyche^ joined #perl6
06:30 lambdabot joined #perl6
06:51 a-jing joined #perl6
06:51 a-jing left #perl6
06:58 Jedai joined #perl6
07:02 iblechbot joined #perl6
07:10 Grrrr joined #perl6
07:29 corneliu1_ joined #perl6
07:48 pmurias joined #perl6
07:49 pmurias pugs: [1;2,3;4]
07:49 p6eval OUTPUT[*** ␤    Unexpected "["␤    expecting program␤    at /tmp/UpCa4zWN2Q line 1, column 1␤]
07:49 moritz_ pmurias: I don't think any implementation handles multi-dimensional arrays
07:50 pmurias moritz_: can be fixed ;)
07:50 pmurias my @a=(1,2,3);my $a = [@a,4,5]; say $a;
07:50 pmurias pugs: my @a=(1,2,3);my $a = [@a,4,5]; say $a;
07:50 moritz_ that should flatten
07:50 p6eval OUTPUT[1 2 3 4 5␤]
07:50 moritz_ pugs++
07:50 moritz_ rakudo: my @a=(1,2,3);my $a = [@a,4,5]; say $a;
07:50 p6eval rakudo r28570 OUTPUT[1 2 3 4 5␤]
07:50 moritz_ rakudo++
07:51 moritz_ elf: my @a=(1,2,3);my $a = [@a,4,5]; say $a;
07:51 p6eval OUTPUT[ARRAY(0x8832e28)45␤]
07:51 moritz_ elf: my @a=(1,2,3);my $a = [@a,4,5]; say $a.perl;
07:51 p6eval OUTPUT[[[1,2,3],4,5]␤]
07:51 moritz_ very creative, the first output ;)
07:52 pmurias it's just bits of perl5 sticking out
07:57 moritz_ elf: my $a = (1, 2, 3); say $a.perl
07:57 p6eval OUTPUT[Useless use of a constant in void context at (eval 115) line 3.␤3␤]
07:57 moritz_ elf: my $a = [1, 2, 3]; say $a.perl
07:57 p6eval OUTPUT[[1,2,3]␤]
07:57 moritz_ elf: my @a = 1, 2, 3; say @a.perl
07:57 p6eval OUTPUT[[1,2,3]␤]
07:57 moritz_ rakudo: my @a = 1, 2, 3; say @a.perl
07:58 p6eval rakudo r28570 OUTPUT[[1, 2, 3]␤]
07:58 simcop2387 joined #perl6
08:04 pmurias sub foo($a,$b,$c) {say }
08:05 pmurias pugs: sub foo($a,$b,$c) {say "$a $b $c"};my @a = 1,2,3;foo(@a);
08:05 p6eval OUTPUT[*** No compatible multi variant found: "&foo"␤    at /tmp/DWO1DkXFBF line 1, column 50-57␤]
08:08 pmurias how do i find out if a sub is called in string context?
08:09 moritz_ if want.Str I think
08:09 moritz_ pugs: sub foo($a,$b,$c) {say "$a $b $c"};my @a = 1,2,3;foo(|@a)
08:09 p6eval OUTPUT[1 2 3␤]
08:09 pmurias sub listcontext {say want.array};sub foo($a) {};foo(listcontext())
08:09 pmurias pugs: sub listcontext {say want.array};sub foo($a) {};foo(listcontext())
08:09 p6eval OUTPUT[*** No such method in class Str: "&array"␤    at /tmp/SuLr36iSvx line 1, column 22-32␤]
08:09 moritz_ want.List or want.list or some such
08:09 pmurias pugs: sub listcontext {say want};sub foo($a) {};foo(listcontext())
08:09 p6eval OUTPUT[Scalar (Any), LValue␤]
08:10 moritz_ pugs: sub listcontext {say want};sub foo($a){}; foo(|listcontext)
08:10 p6eval OUTPUT[Scalar (Capture)␤]
08:10 moritz_ pugs: sub listcontext {say want ~~  List };sub foo($a){}; foo(|listcontext)
08:10 p6eval OUTPUT[␤]
08:10 moritz_ pugs: sub listcontext {say want ~~  Capture };sub foo($a){}; foo(|listcontext)
08:10 p6eval OUTPUT[␤]
08:12 pmurias pugs: sub listcontext {say want ~~ LValue};sub foo($a) {};foo(listcontext())
08:12 p6eval OUTPUT[*** No such subroutine: "&LValue"␤    at /tmp/jX9jWzY7pQ line 1, column 22-36␤]
08:12 pmurias walk&
08:19 pugs_svnbot r20903 | moritz++ | [t/TASKS] document need for more say() and print() tests
08:27 meppl joined #perl6
08:41 agentzh left #perl6
09:15 pmurias joined #perl6
09:16 rakudo_svn r28571 | bernhard++ | Remove trailing whitespace.
09:16 barney joined #perl6
09:19 pugs_svnbot r20904 | pmurias++ | [sm0p] renamed strip_out_blocks to strip_out_actions
09:19 pmurias perl6: class Foo {has $.foo;has $.bar};my $foo = Foo.new(foo=>54532,bar=>12133);say $foo.foo~":"~$bar.bar
09:19 p6eval kp6 r20903: OUTPUT[no method 'bar' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤
09:19 p6eval ..pugs: OUTPUT[*** ␤    Unexpected "."␤    expecting "::"␤    Variable "$bar" requires predeclaration or explicit package name␤    at /tmp/X9Lg6ZJaNQ line 1, column 95␤]
09:19 p6eval ..rakudo r28570: OUTPUT[Scope  not found for PAST::Var '$bar'␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤
09:19 p6eval ..elf r20903: OUTPUT[Global symbol "$bar" requires explicit package name at (eval 115) line 10.␤ at ./elf_f line 3854␤]
09:20 pmurias perl6: class Foo {has $.foo;has $.bar;};my $foo = Foo.new(foo=>54532,bar=>12133);say $foo.foo~":"~$bar.bar
09:20 p6eval kp6 r20904: OUTPUT[no method 'bar' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤
09:20 p6eval ..pugs: OUTPUT[*** ␤    Unexpected "."␤    expecting "::"␤    Variable "$bar" requires predeclaration or explicit package name␤    at /tmp/p1m25Qq9Sg line 1, column 96␤]
09:20 p6eval ..rakudo r28571: OUTPUT[Scope  not found for PAST::Var '$bar'␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤
09:20 p6eval ..elf r20904: OUTPUT[Global symbol "$bar" requires explicit package name at (eval 115) line 10.␤ at ./elf_f line 3854␤]
09:20 pmurias perl6: class Foo {has $.foo;has $.bar;};my $foo = Foo.new(foo=>54532,bar=>12133);say $foo.foo~":"~$foo.bar
09:20 p6eval kp6 r20904: OUTPUT[54532:12133␤]
09:20 p6eval ..pugs: OUTPUT[54532:12133␤]
09:20 p6eval ..rakudo r28571: OUTPUT[54532:12133␤]
09:20 p6eval ..elf r20904: OUTPUT[Odd number of elements in anonymous hash at ./elf_f line 19.␤Odd number of elements in anonymous hash at ./elf_f line 19.␤Use of uninitialized value in concatenation (.) or string at (eval 115) line 10.␤Use of uninitialized value in concatenation (.) or string at (eval 115)
09:20 p6eval ..line ...
09:23 pmurias TimToady: STD parses Foo.new(foo=>54532,bar=>12133) wrongly?
09:24 pmurias TimToady: STD parses Foo.new(:foo(54532),:bar(12133)) wrongly?
09:24 pmurias TimToady: the second question is a mistake
09:37 ting joined #perl6
09:42 Jedai joined #perl6
09:43 penk joined #perl6
09:52 moritz_ Juerd: I just updated a unicode related article of mine, and included some results of a discussion we had on this channel: http://perlgeek.de/en/article/encodings-and-unicode#philosophy
09:52 lambdabot Title: article | Character Encodings in Perl
10:02 Juerd moritz_: I find the upwards pointing arrows in links confusing.
10:02 moritz_ Juerd: maybe I should find a better symbol for "external links"
10:03 Juerd moritz_: "but many encodings are ASCII-incompatible in the first 127 characters" - you really meant byte values there, I think!
10:04 moritz_ Juerd: yes
10:04 Juerd "How to Do it Right: Out-of-band Signalling" I luvs you.
10:04 Juerd phone, brb
10:06 Juerd "unless it is specified exactly in which encoding the encoding information is written." --> "unless an exact specific byte sequence is known for each encoding, for example because the it is specified exactly ..."
10:07 Juerd You could very well have a set of supported encodings, and reserve a single byte for it, as long as all parties know that 0x03 means UTF-8.
10:07 Juerd Although you could call that an encoding too, I guess.
10:07 moritz_ I'll re-formulate it a bit differently
10:08 Juerd "A possible workaround could have been to specific that the first line of any XML file has to be ASCII encoded, and the rest of the file is in the encoding that is specified in that first line. But it's an ugly workaround" It's not just a workaround, it'll break many a parser.
10:08 Juerd The document is no longer valid XML in any encoding after that, if the rest is not ASCII compatible.
10:08 moritz_ yes. It would have bot be specced that way in the first place
10:09 moritz_ I should make that clear
10:11 Juerd "any system that works with text data" --> "Every system ..."
10:12 Juerd In general, I think it's a very good article
10:12 moritz_ thank you, and thanks for the suggestions / clarifications
10:13 Juerd I've only read from Philosophy downwards. don't have the time to review the rest right now.
10:13 moritz_ that's fine
10:13 Juerd I see one thing, and that's that you're advocating the use of is_utf8.
10:13 Juerd I strongly suggest using Devel::Peek instead.
10:13 moritz_ I also suggest that
10:14 Juerd People tend to become obsessed with the SvUTF8 flag once they start using is_utf8, and worse: they tend to leave their checks in when code reaches production stage.
10:14 moritz_ I'll re-word it to make clear that it's only a debugging aid
10:14 Juerd Which then other people read, and get silly ideas from
10:14 Juerd Whereas Devel::Peek provides you with the same info, but also an ugly bunch of other info, which'll make sure that you remove it after debugging.
10:15 moritz_ aye
10:15 moritz_ brb
10:15 Juerd afk
10:37 zamolxes joined #perl6
10:48 edpratomo joined #perl6
11:11 DietCoke_ joined #perl6
11:18 ruoso joined #perl6
11:33 diakopter pmurias: yap6' lrule() is working as expected, as are (I think) all the rules currently in the grammar
11:36 diakopter now that the grammar engine is "stable" (*again*, sort of), i'll work on the Match object generation & action hanging
11:37 diakopter like I said yesterday, I don't know how a this() parser combinator would be implemented, since when inside this(), it would have no idea in what rule it was going to end up...
11:38 * moritz_ thinks of dynamically scoped variables
11:38 moritz_ ie local()
11:38 Grrrr joined #perl6
11:38 diakopter moritz_: re: what I said?
11:38 moritz_ diakopter: yes
11:39 moritz_ diakopter: I don't quite understand what a this() parser is, but I think you can use local()ized variables to give it some context of what it is, or which subrule it is in
11:39 diakopter but the parsers are generated bottom-up/inside-out
11:39 moritz_ (but I could also be far off iwth my guess)
11:40 moritz_ didn't you start just the other way round? ;-)
11:40 diakopter perl would execute this() before the parser combinator in which this() is an argument
11:41 diakopter I suppose you could use some caller() magic
11:41 cognominal_ joined #perl6
11:41 diakopter (once you got inside the actual $p
11:41 diakopter )
11:41 moritz_ could you defer the execution?
11:43 diakopter the main body of each parser combinator is of course executed in the order as stated above; the generated tree of closures is evaluted top-down/left-right, so yeah, if you kept "tree position" and some model of the tree in an outside data structure, each node could know where it was on the parse tree
11:43 diakopter s/parse tree/closure tree/
11:44 diakopter depth-first, I should specify, for the closure tree evaluation.
11:46 diakopter I suppose, using a similar technique, each parser-closure could know where on the in-construction parse-tree it was, too....
11:47 diakopter but anyway, I don't see how '$_[0]' is that much uglier than 'this'
11:47 Alias_ joined #perl6
11:48 diakopter especially since you must have the '$_[1]' somewhere in the rule anyway
11:48 diakopter lrule
11:48 diakopter Alias_: still using the irc proxy?
11:48 Alias_ nope nope, at YAPC
11:48 Alias_ oh wait, maybe?
11:48 Alias_ Actually, yes
11:49 Alias_ Will need it for up to 48 hours
11:49 Alias_ By then everyone will be checked out
11:49 diakopter oh; ok.
11:49 Alias_ There's still a good 50 people here today
11:49 Alias_ between master classes and hackathon
11:49 diakopter wow; lots of learnin' goin' on
11:50 Lorn joined #perl6
11:50 Alias_ ok, sleeping
11:50 diakopter "sleeping"!
11:50 Alias_ Long night
11:50 Alias_ But some exciting developments
11:50 Alias_ That sill add significantly to the CPAN
11:50 Alias_ will
11:50 Alias_ But for now, sekrit
11:54 * diakopter dubs the operation precedence spectrum "the gamut"
11:55 diakopter ... and names the spectrum layers after colors
11:58 diakopter tightest precedence should probably be shortest wavelength...
12:04 cognominal_ joined #perl6
12:06 rindolf joined #perl6
12:16 iblechbot joined #perl6
12:28 pmurias joined #perl6
12:30 pmurias diakopter: why do you support only one parameter to lrule
12:30 pmurias ?
12:30 moritz_ diakopter: shortest wave length being gamma rays? ;-)
12:35 diakopter pmurias: that's a good question
12:36 diakopter moritz_: well, I was going to stick to visible light
12:36 diakopter I suppose lrule could become a generic combinator constructor
12:36 diakopter oh!  templated rules!
12:37 moritz_ diakopter: that's clever - you can always extend your scope to UV and IR if you need more on either side of the spectrum ;)
12:37 diakopter moritz_: heh
12:38 pmurias diakopter: i have tested the weaken not to work
12:39 diakopter .oO( could a source filter work by a 'use' stmt in eval("") )
12:39 diakopter pmurias: ok; you convinced me... :)
12:40 moritz_ diakopter: re source filter for string eval, don't think so
12:40 pugs_svnbot r20905 | pmurias++ | [yap6] removed a useless potentialy dangerous &weaken use
12:40 pmurias diakopter: you mean eval("use sourcefilter;filtered stuff")?
12:41 diakopter pmurias: yeah
12:41 pmurias you can try, can't see why not
12:41 diakopter well then we can do really cool things in generated grammars at runtime
12:42 pmurias we don't depend on the source filter
12:42 pmurias it's used for trivial syntax suger
12:43 alester_ joined #perl6
12:43 pmurias diakopter: cool things - example please ;)
12:43 moritz_ well, if the source filter inside eval doesn't work, you can still ovverride CORE::GLOBAL::eval or whatever it's called
12:44 pmurias moritz_: is eval overidable?
12:45 moritz_ pmurias: don't know why it shouldn't be. If not, use my_eval instead ;)
12:46 pmurias moritz_: it's hard to write a custom eval: my $foo="hello world";eval("print $foo");
12:46 pmurias eval('print $foo') acutaly
12:47 diakopter pmurias: you would be right about the only-sugar, except for the "my " predeclarations.
12:47 a-jing joined #perl6
12:48 a-jing left #perl6
12:48 diakopter otherwise we can turn off warnings....
12:48 pmurias diakopter: i get "syntax error near the end of input"
12:48 pmurias diakopter: my predeclarations?
12:48 diakopter besides, warnings only *need* to be there during development :P, right?
12:48 diakopter pmurias: on what input?
12:49 pmurias use v6;say 3;
12:49 diakopter oh yeah; I don't know why that doesn't work...
12:49 * moritz_ wanders off for the weekend, TTFN and have a good time
12:49 diakopter moritz_: cya l8r
12:49 pmurias it prints some stuff afterwards
12:51 diakopter diagnosing an infinite loop I created...
12:51 pugs_svnbot r20906 | pmurias++ | [yap6] removed useless lrule predeclarations
12:52 diakopter pmurias: but they would need to be predeclared if the rules were in a different order...
12:52 diakopter er, um
12:52 pmurias no
12:53 pmurias why do you use sbin instead of bin?
12:54 diakopter I thought sbin was for scripts
12:55 pmurias it's superuser bin in linux
12:58 diakopter ohhhh :|
12:58 diakopter silly me
12:58 diakopter well, yap6 should be used only by superuser :P
13:00 pmurias it needs to setup a root shell at port 88? ;)
13:05 diakopter j/k of course
13:05 diakopter you can fix it if you like
13:08 pmurias why can't i localize a lexical in perl5? :(
13:08 cognominal_ joined #perl6
13:17 penk left #perl6
13:21 barney joined #perl6
13:31 cognominal_ joined #perl6
13:36 meppl joined #perl6
13:38 wknight8111 joined #perl6
13:40 donaldh joined #perl6
14:04 jhorwitz joined #perl6
14:10 pugs_svnbot r20907 | diakopter++ | [yap6] added if/while/try blocks to the grammar
14:22 pmurias joined #perl6
14:40 Limbic_Region joined #perl6
14:41 pmurias diakopter: what do you wish to use eval for?
14:41 toddr joined #perl6
14:43 diakopter pmurias: generating grammars at runtime... I figured we'd need a layer of string eval in there somewhere
14:44 pmurias don't think so
14:44 diakopter pmurias: well, with Perl gurus like you helping me out... sure! :)
14:45 diakopter pmurias: did you have any ideas about this()
14:45 diakopter pmurias: alternatively, did you have any ideas about extending lrule() to allow multiple parser arguments
14:46 pmurias the last one should be easy
14:46 pmurias looking at lrep again
14:48 sscaffidi joined #perl6
14:48 pugs_svnbot r20908 | diakopter++ | [yap6] extended lrule to allow multiple parser args
14:50 pmurias diakopter: what is commalist used for?
14:51 diakopter blkPrmsList
14:52 diakopter but really it was just a proof of concept for lrule()
14:52 diakopter blkPrmsList could use star() for that
14:53 diakopter .oO( llrule )
14:54 ilogger2 joined #perl6
14:54 pmurias diakopter: is there a perl6 snippet which works and uses commalist
14:56 diakopter pmurias: nope :) blkPrmsList isn't working; just tried it
14:57 diakopter pmurias: now it is; committing
14:57 pugs_svnbot r20909 | diakopter++ | [yap6] fixed blkPrmsList
14:58 pmurias do you have a bit of perl6 which parses and uses it
14:59 DietCoke_ left #perl6
15:00 diakopter argh; nm it's not fixed... meeting&
15:03 simcop2387 joined #perl6
15:07 hercynium joined #perl6
15:14 cjfields joined #perl6
15:24 toddr joined #perl6
15:27 pmurias got to pack sails and stuff&
15:31 zaphar_ps joined #perl6
15:37 cjfields pugs: say "ABC".trans('A..C' => 'a..c');
15:37 p6eval OUTPUT[abc␤]
15:37 cjfields pugs: say "ABC".trans('A-C' => 'a-c');
15:37 p6eval OUTPUT[aBc␤]
15:37 Schwern joined #perl6
15:41 cjfields pugs: say "Whfg nabgure Crey unpxre".trans('a..z' => 'n..za..m', 'A..Z' =>'N..ZA..M');
15:41 p6eval OUTPUT[Just another Perl hacker␤]
15:53 cjfields say " ABC-".trans('A-C ' => 'a_cZ');
15:53 cjfields pugs: say "ABC".trans('A-C' => 'a-c');
15:53 p6eval OUTPUT[aBc␤]
15:54 cjfields pugs: say " AB-C".trans(' A-C' => 'Za_c');
15:54 p6eval OUTPUT[ ZBa_␤]
15:55 cjfields pugs: say " AB-C".trans(' A..C-' => 'Za..c_');
15:55 p6eval OUTPUT[ Zacb␤]
15:56 cjfields hmm...
15:58 cjfields We're not using '-' for range anymore (just '..'), but something odd happens with the second range (not expanded)
15:59 cjfields Spaces appear to be important (which makes sense) but the test suite thinks otherwise
16:08 rakudo_svn r28577 | pmichaud++ | [rakudo]:
16:08 rakudo_svn r28577 | pmichaud++ | * Update spectest-progress.csv (65 files, 792 passing)
16:13 Grrrr joined #perl6
16:48 ilogger2 joined #perl6
16:50 Psyche^ joined #perl6
17:05 diakopter pmurias: back
17:06 sri_work joined #perl6
17:09 pengrate joined #perl6
17:10 pugs_svnbot r20910 | diakopter++ | [yap6] fixed blkPrmsList (see above in the irc log)
17:16 pugs_svnbot r20911 | diakopter++ | [yap6] removed alleged optimization ;)
17:17 FurnaceBoy joined #perl6
17:17 r0bby joined #perl6
17:56 pugs_svnbot r20912 | diakopter++ | [yap6] *truly* fixed lrule, commalist, blkPrms, invcDecl
17:59 pugs_svnbot r20913 | diakopter++ | [yap6] fixed evalbot for yap6 as 'use v6' is no longer enforced
18:05 pugs_svnbot r20914 | diakopter++ | [yap6] fixed lrule/blkPrms .... further.
18:06 Grrrr joined #perl6
18:08 sri_work_ joined #perl6
18:08 pugs_svnbot r20915 | diakopter++ | [yap6] if only I had a test suite.
18:10 diakopter yap6: say $a; sub say ( $foo, $arg1   ,,, ,$arg2  , ,, ,,,,   ) { my $a = sub { use Foo; }};
18:10 p6eval yap6 r20915 OUTPUT[parsed: [["use","v6",";","say","\$","a",";","sub","say","(","\$","foo",",","\$","arg1",",",",",",",",","\$","arg2",",",",",",",",",",",",",",",")","{","my","\$","a","=","sub","{","use","Foo",";","}","}",";"],[]]␤]
18:10 diakopter yap6: say $a; sub say ($foo: $arg1,$arg2) { my $a = sub { use Foo; }};
18:10 p6eval yap6 r20915 OUTPUT[parsed: [["use","v6",";","say","\$","a",";","sub","say","(","\$","foo",":","\$","arg1",",","\$","arg2",")","{","my","\$","a","=","sub","{","use","Foo",";","}","}",";"],[]]␤]
18:13 diakopter evalbot control restart
18:13 p6eval joined #perl6
18:19 kanru joined #perl6
18:25 rindolf joined #perl6
18:35 pugs_svnbot r20916 | diakopter++ | [yap6] added worry() and error() and warning(); modified panic() accordingly
18:37 diakopter yap6: BEGIN: { }
18:37 p6eval yap6 r20916 OUTPUT[Syntax warning at line 1 col 6 : colons are for block labels, not special compilation units␤parsed: [["BEGIN",":","{","}"],[]]␤]
18:41 pugs_svnbot r20917 | diakopter++ | [yap6] re-fixed compUnit
18:42 Alias_ joined #perl6
18:44 iblechbot joined #perl6
18:47 rindolf joined #perl6
18:52 jhorwitz Alias_: ping
18:52 rindolf Hi all.
18:52 rindolf jhorwitz: are you Jewish?
18:53 jhorwitz um, with my name, it's a requirement.
18:53 rindolf jhorwitz: nice. So do I.
18:53 rindolf jhorwitz: but my last name is "Fish".
18:53 rindolf There are not too many Israelis called Fish.
18:53 jhorwitz yeah.  that can go either way here.
18:53 pugs_svnbot r20918 | diakopter++ | [yap6] <sigh>
18:54 rindolf However, the only Technion student called "Fish" besides me lived in an apartment next door.
18:54 rindolf Then my sister joined and we were three Fishes.
18:54 rindolf The Technion.
18:54 rindolf Now my other sister is learning Medicine there.
18:55 diakopter yap6: BEGIN: { }
18:55 p6eval yap6 r20918 OUTPUT[Syntax warning in /tmp/47oPqwp6TE at line 1 col 6 : colons are for block labels, not special compilation units␤parsed: [["BEGIN",":","{","}"],[]]␤]
18:55 diakopter yap6: BEGIN { }
18:55 p6eval yap6 r20918 OUTPUT[parsed: [["BEGIN","{","}"],[]]␤]
18:57 jhorwitz the fish bowl
19:03 pugs_svnbot r20919 | diakopter++ | [yap6] I think this is a safe optimization.  We'll find out later.
19:03 simcop2387 joined #perl6
19:14 Alias_ jhorwitz: Pong
19:14 Alias_ (sorry for the delay, I've been trying to rebook the flight)
19:14 jhorwitz Alias_: get your flight changed?
19:15 rindolf Hi Alias_
19:15 Alias_ Yup
19:15 Alias_ Let me grab the details
19:15 Alias_ I'll mail it as well
19:15 rindolf Alias_: where are you located at present?
19:17 Alias_ Fri 21st, UA148 Departing 13:10 arriving 16:26
19:17 Alias_ rindolf: I'm currently opposite from Schwern and to the immediate left of ingy and cog
19:18 jhorwitz you mean Sat 21st, right?  :)
19:18 rindolf Alias_: ah.
19:18 Alias_ ... in Chicago
19:18 rindolf Alias_: ah.
19:18 Alias_ jhorwitz, correct
19:18 Alias_ :)
19:18 jhorwitz excellent.  see you at the airport.  :)
19:19 Alias_ great, awesome
19:19 pugs_svnbot r20920 | diakopter++ | [yap6] fixed mandatory leading whitespace rules :/
19:19 pugs_svnbot r20920 | diakopter++ | as a consequence  say 4  works again.
19:20 diakopter yap6: say 3
19:20 p6eval yap6 r20920 OUTPUT[parsed: [["say",3],[]]␤]
19:20 diakopter yap6: say
19:20 p6eval yap6 r20920 OUTPUT[parsed: [["say"],[]]␤]
19:20 rindolf Alias_: I'd better get to better publicise the next TelAvivLinClub/OSDClub meeting.
19:20 diakopter yap6: say say say ({ say })
19:20 p6eval yap6 r20920 OUTPUT[parsed: [["say","say","say","(","{","say","}",")"],[]]␤]
19:26 spinclad pugs: say " AB-C".trans(' A..C-' => 'Za..c_');
19:26 p6eval OUTPUT[ Zacb␤]
19:26 hercynium joined #perl6
19:26 spinclad pugs: say " AB-C".trans(' ABC-' => 'Zabc_');
19:26 p6eval OUTPUT[ Zacb␤]
19:27 spinclad pugs: say " AB-C".trans(' ' => 'Z', 'A..C' => 'a..c', '-' => '_');
19:27 p6eval OUTPUT[ ab_c␤]
19:29 spinclad pugs: say " AB-C*".trans(' ' => 'Z', 'A..C' => 'a..c', '-' => '_', '*' => 'Inf');
19:29 p6eval OUTPUT[ ab_cI␤]
19:29 spinclad pugs: say " ".trans(' ' => 'Z');
19:29 p6eval OUTPUT[ ␤]
19:31 Alias__ joined #perl6
19:31 peepsalot joined #perl6
19:31 spinclad pugs: say " a a".trans('a ' => '1Z');
19:31 p6eval OUTPUT[ 1 1␤]
19:32 spinclad pugs: say " a b".trans('a b' => '1Z2');
19:32 p6eval OUTPUT[ 1 Z␤]
19:32 spinclad yes, that's odd: spaces are ignored on lhs
19:37 cjfields ah, you caught on...
19:37 cjfields I think this is an area which we need to define more
19:37 cjfields for instance, the trans.t tests seem to imply we should support '-' as a range operator
19:38 cjfields but it isn't used in pugs
19:38 cjfields ('..' is used instead)
19:39 araujo joined #perl6
19:40 cjfields with p5 tr///, spaces aren't ignored
19:41 cjfields afk
19:44 spinclad i believe the trans.t tests are out of date as to '-' v. '..'
19:47 araujo joined #perl6
19:47 diakopter pmurias: you around?
19:48 diakopter tuit?
19:53 spinclad pugs: say " ".trans([' '] => ['Z']);
19:53 p6eval OUTPUT[Z␤]
19:53 spinclad pugs: say " ".trans([' '] => ['ZOMG']);
19:53 p6eval OUTPUT[ZOMG␤]
19:53 diakopter pugs: say " ".trans(['  '] => [' Z']);
19:53 p6eval OUTPUT[ ␤]
19:54 spinclad pugs: say " ".trans(['  '] => ['ZOMG']);
19:54 p6eval OUTPUT[ ␤]
19:55 spinclad [warning: no character '  ' found]
19:56 spinclad perl6: say " ".trans(' ' => 'Z');
19:56 p6eval kp6 r20920: OUTPUT[no method 'trans' in Class 'Str'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤
19:56 p6eval ..pugs: OUTPUT[ ␤]
19:56 p6eval ..rakudo r28580: OUTPUT[too few arguments passed (2) - 3 params expected␤current instr.: '_block11' pc -340725544 ((unknown file):-1)␤
19:56 p6eval ..elf r20920: OUTPUT[Can't call method "trans" without a package or object reference at (eval 115) line 3.␤ at ./elf_f line 3854␤]
19:57 spinclad nobody wins; prize carried over.
20:00 diakopter hmph
20:01 diakopter this lrule() parser generator generator generator gives yap6 the ability to generate precedence-climbing parsers for terms/expressions.
20:01 diakopter while still fitting in the packrat recursive descent paradigm.
20:02 * diakopter looks into it further
20:02 ingy hola
20:02 diakopter ingy: hi
20:03 pmurias diakopter: i'm around now
20:03 diakopter pmurias: see comment about precedence-climbing...
20:03 * ingy should have ops. I created this channel :)
20:04 ingy haha
20:04 ingy thanks ;)
20:05 ingy I remember when it was just me and audreyt...
20:05 ingy for about 30 seconds
20:08 diakopter ingy: did you find your keys
20:11 pmurias diakopter: my OPP experience is implementing the algorithm at http://en.wikipedia.org/wiki/Operator-precedence_parser
20:15 masak joined #perl6
20:15 masak in what way will perl 6 have native continuations support?
20:18 pmurias masak: i don't think they are speced yet
20:18 masak we just know it's something we like, and will support natively?
20:18 masak does parrot have it yet?
20:19 pmurias yes
20:19 masak given the nature of perl 6, one might suppose that a continuation will be an object of some sort...
20:20 pmurias masak: coroutines are here if you want them ;)
20:20 masak pmurias: 'here', as in...?
20:20 * masak loves gather/take as of late
20:21 pmurias masak: here as in gather/take
20:21 masak ah.
20:21 masak is there any chance of ever getting gather/take in perl 5?
20:22 masak I'm starting to need it already
20:22 masak esp. the laziness
20:23 pmurias Perl6::GatherTake
20:23 diakopter jhorwitz: was mod_perl6 going to become mod_rakudo?
20:23 pmurias diakopter: have you considered using unit testing for yap6?
20:23 diakopter pmurias: not until it's generating Match objects like STD5
20:24 masak moritz_++
20:24 jhorwitz diakopter: no, i think i'm keeping it mod_perl6 until there's a competing project.  my goal is for it to be the "official" mod_perl6.
20:25 diakopter eh? but it's tied to rakudo only...
20:26 diakopter or... I might have misunderstood your talk... :)
20:27 jhorwitz no, it's definitely tied to rakudo
20:27 jhorwitz but everyone knows what mod_perl6 means
20:28 diakopter mod_parrot_perl6?
20:28 jhorwitz and there's no competing project, so i'm leaving it as is.  :)
20:28 pmurias diakopter: it should be possible to test parses/not parsers withought match objects
20:28 diakopter I'm confused about this "no competing project" idea you have
20:28 jhorwitz the name "rakudo" exists because there's multiple implementations of perl6, and we needed a name to distinguish it from others.
20:29 jhorwitz since there's no "official" implementation
20:29 jhorwitz but there's only one mod_perl6 project AFAIK
20:30 diakopter jhorwitz: ok.. it makes sense to me now.
20:31 jhorwitz my thinking is this: i could walk up to a random mod_perl developer and say "mod_perl6" and he'd know what i mean.  he probably wouldn't know what mod_rakudo is.
20:31 jhorwitz plus it's one less letter.  :)
20:32 diakopter pmurias: oh, yeah, parse success/failure would be interesting
20:32 diakopter pmurias: but if that's done, it might as well be against the whole test suite via some Test.pm hack
20:32 diakopter or at least a fudged one
20:33 SamB if there got to be contention you could qualify it mod_rakudo_perl6
20:34 pmurias diakopter: i meant more testing each parser combinator
20:34 pmurias does lit('abc') match against 'abc', and againt 'def'? style
20:35 diakopter pmurias: oh, ok
20:35 diakopter oh yeah; unit testing
20:35 diakopter heh
20:37 masak (actually, two letters less)
20:38 diakopter pugs: say 'rakudo'.chars - 'perl6'.chars
20:38 p6eval OUTPUT[1␤]
20:38 jhorwitz masak: what are you smoking and can i have some?
20:38 masak char != letter
20:38 masak just sayin'
20:38 jhorwitz LOL
20:38 * jhorwitz is internationally-challenged
20:39 pmurias shower&
20:39 diakopter well, if we're going to get technical, it's two letters *fewer*, not two letters less, since letters are discrete quanta
20:39 diakopter :P
20:39 masak diakopter: there's some controversy on that topic, IIRC
20:39 jhorwitz is chromatic standing next to you or something?  ;-)
20:40 diakopter masak: oh
20:40 masak there are a few Language Log posts on fewer/less
20:40 masak (I'm not defending my usage, though. I might be wrong)
20:41 diakopter masak: I was referring to the technical usages...
20:41 masak http://itre.cis.upenn.edu/~myl/languagelog/archives/003775.html
20:41 lambdabot Title: Language Log: If it was good enough for King Alfred the Great...
20:41 masak diakopter: ok. that might actually make a difference, then
20:42 cognominal_ joined #perl6
20:42 diakopter although perhaps some Unicode person would argue that there are letters that aren't discrete.
20:44 masak that's a scary thought
20:45 diakopter (in that some letters are concatenations of others...
20:45 diakopter )
20:45 masak yes
20:46 diakopter but that would be talking about the representation, not the symbol...
20:46 diakopter oh wel
20:51 pmurias diakopter: and what do you thing about unit testing?
20:52 diakopter well, I have nearly full confidence in the first tier or two of nonterminal combinators...
20:53 pmurias OTOH it wouldn't be nice to be betrayed by them
20:53 diakopter I wouldn't be offended :)
20:54 gbarr joined #perl6
20:54 gbarr left #perl6
20:55 pmurias diakopter: the things which most need testing is stuff like lrule which i'm nearly sure is wrong
20:56 diakopter pmurias: but I changed it a lot while you were out
20:56 diakopter seems to work fine for blkPrmsList
20:57 diakopter yap6: say $a; sub say (Trap $fall: $foo, $arg1   ,,, ,$arg2  , ,, ,,,,   ) { my $a = sub { use Foo; }};
20:57 p6eval yap6 r20920 OUTPUT[parsed: [["say","\$","a",";","sub","say","(","Trap","\$","fall",":","\$","foo",",","\$","arg1",",",",",",",",","\$","arg2",",",",",",",",",",",",",",",")","{","my","\$","a","=","sub","{","use","Foo",";","}","}",";"],[]]␤]
20:57 pmurias diakopter: the thing is was nearly sure was an error is fixed ;)
20:57 diakopter pmurias: oh good
20:59 diakopter yap6: if ($a-$b) { if($wrong) {} }
20:59 p6eval yap6 r20920 OUTPUT[syntax error near the end of input␤[[],[]]]
20:59 diakopter yap6: if ($a-$b) { if ($wrong) {} }
20:59 p6eval yap6 r20920 OUTPUT[parsed: [["if","(","\$","a","-","\$","b",")","{","if","(","\$","wrong",")","{","}","}"],[]]␤]
21:00 diakopter although of course, once function/method calls work, that will appear to be wrong until type/declaration checking is added :{
21:00 thepler left #perl6
21:01 diakopter actually I'm wrong... it won't work.. but if() will be allowed
21:03 pmurias i'm leaving for a two week vacation tommorow morning
21:03 pmurias and i won't have internet access (except through my mobile) :(
21:04 diakopter boating I guess
21:04 pmurias windsurfing
21:05 pmurias i could propably connect my laptop at some internet cafe
21:08 pmurias i haven't tried using the wifi on it yet, and i'm not sure if they would let me use a cable
21:15 japhb joined #perl6
21:15 pmurias diakopter: why aren't you generating Match objects now?
21:15 pmurias you could try looking at the kp6 regex implementation v6/v6-KindaPerl6/src/KindaPerl6/Visitor/Emit/Perl5Regex.pm  for a way of doing it efficiently
21:15 pmurias diakopter: why aren't you generating Match objects now?
21:16 pmurias disconnected the network cable accidently
21:16 pmurias got to sleep&
21:16 pmurias g' nigh
21:16 pmurias t
21:16 diakopter pmurias: b/c too many bugs that were haunting
21:25 donaldh joined #perl6
21:27 diakopter pugs: say 'rakudo'.letters # ;)
21:27 p6eval OUTPUT[*** No such method in class Str: "&letters"␤    at /tmp/dsh6QQr0Yq line 1, column 5 - line 2, column 1␤]
21:28 masak :)
21:33 spinclad warn "claim of 2 less than 6 letters unverifiable"
21:35 diakopter lrule rule_template_1 { non_term_1 . non_term_2 . opt( $_[1] ) . $_[2] }
21:36 diakopter rule baloney { rule_template_1( non_term_3 ) | rule_template_1(non_term_4) }
21:36 diakopter oops; rule_template_1() takes 2 parameters.. :/
21:36 diakopter anyway, you get the idea
21:37 diakopter rule baloney { rule_template_1( non_term_3 , non_term_5 ) | rule_template_1( non_term_4 , non_term_6 ) }
21:38 diakopter baloney will match { non_term_1 . non_term_2 . opt( non_term_3 ) . non_term_6 }  .. or the other production with 4 & 6
21:39 diakopter man, I messed that last msg up
21:40 diakopter baloney will match { non_term_1 . non_term_2 . opt( non_term_3 ) . non_term_5 } .. or the other production with 4 & 6
21:40 diakopter but not 4&5 nor 3&6
21:41 diakopter basically it's a method of saving typing time when writing rules, though it also will assist in generating/modifying rules at runtime.
21:42 diakopter I didn't show the usage of $_[0] in the lrule, which magically refers to itself (the lrule being formed)
21:43 diakopter no one has questions, I guess
21:43 diakopter :D
21:46 diakopter hm; this implies that *all* the generated opp rules could be parameterized as such, so that they're hot-swappable among each other... (or have another level inserted between them, or have another alternative shape added)
21:53 pugs_svnbot r20921 | diakopter++ | [yap6] make statement rules parametric in StmtList
22:08 pjcj joined #perl6
22:13 Southen_ joined #perl6
22:30 pugs_svnbot r20922 | diakopter++ | [yap6] renamed sbin to bin; pmurias++
22:52 scrottie "Unable to read terminal settings in GetControlChars at /home/knoppix/lib/perl5/site_perl/5.8.8/SVK/Util.pm line 195" in 'make' in pugs, checked out last night... after two days of installing dependencies.
22:52 scrottie !%&$
22:53 scrottie is this bit of fragility really appropriate?
22:55 scrottie on the other hand, that doesn't look like the fatal bit.
22:56 diakopter scrottie: someone should've told you... which version of ghc do you have
22:57 scrottie "6.8.0.20070914, for Haskell 98, stage 3 booted by GHC version 6.6.1"
22:57 scrottie is there a "building pugs" FAQ?
22:57 diakopter I'm fairly certain building pugs requires 6.6.1 only
22:58 diakopter I haven't heard of anyone being able to successfully build pugs-as-it-has-been-in-svn for quite a while
22:58 diakopter although I guess moritz_ did it for the evalbot
22:59 scrottie that's too bad... so someone broke the thing then everyone followed suit?
22:59 diakopter well no; ghc moved on
22:59 diakopter and it's difficult to get particular versions of ghc... I think is the primary stopper
23:00 scrottie looks like there is a binary 6.6.1 for linux readily available...
23:00 diakopter ok... certain versions of the hackage packages are required too
23:00 scrottie "hackable packages"?
23:01 scrottie what am I getting myself into here?  what's the scope of the "get pugs running" project?
23:01 diakopter hackage.haskell.org
23:01 diakopter scrottie: I truly don't know...
23:01 diakopter moritz_: are you around
23:02 scrottie how many people besides Larry are working on this thing?
23:03 diakopter Larry doesn't work on pugs
23:03 Tene scrottie: nobody is working on pugs anymore.
23:03 scrottie he's working on a p6 written in pugs' p6 dialect, right?
23:04 scrottie ack
23:04 mjk joined #perl6
23:05 scrottie alright.  that explains why people were happier to talk about Ingy's Lightning Talk than Larry's keynote.
23:05 * scrottie sighs
23:06 Tene The most-active p6 right now is running on parrot.
23:07 scrottie not to gossip, but other than Audrey turning attention to other matters, why did the pugs developers stop work?  some technical reason, or just fatigue?
23:09 Tene scrottie: Audrey was the primary pugs developer.  There wasn't really anyone else actively working on core pugs, as I recall.
23:10 scrottie despite all the commit bits.  no wonder she burnt out.
23:10 scrottie Tene, diakopter, thanks for your replies.
23:10 Tene Those commit bits were pretty useful.  The pugs test suite has been very helpful to the other implementations.
23:10 SamB it turns out that throwing commit bits at people doesn't turn them into core developers
23:10 Tene It's the test suite that rakudo (perl 6 on parrot) is using.
23:12 * scrottie nods
23:14 Tene What were you trying to get pugs running for?
23:17 awwaiid pugs is still the most feature-complete perl6 implementation, correct?
23:17 awwaiid and the best peforming.
23:18 awwaiid I think those two reasons alone are enough to get it running :)
23:22 rindolf joined #perl6
23:44 diakopter TimToady: does \n terminate a statement that ends in a bare block , inside a semi-list?
23:44 diakopter (or does it require a semi-colon b/c it's in a semi-list)
23:51 PerlJam diakopter: that you would ask the question worries me slightly.
23:51 diakopter PerlJam: :( why
23:51 cognominal_ TimToady, in S05 there are some "<before"  and "<after"  that should be "<?before"  and "<?after".
23:52 diakopter cognominal_: I think the lack of ? is a shorthand...?
23:52 PerlJam diakopter: part of the point the of new statement termination rules is to be least-surprisey
23:53 cognominal_ I thought the ? was the reminder of a sssertion and guaranty of zero-width
23:53 cognominal_ I think dropping it is bad
23:53 bacek joined #perl6
23:55 * cognominal_ does a svk pull on the synopses
23:57 cognominal_ the stuff starting line 1378  seems to agree with my thinking.
23:57 diakopter PerlJam: I still don't see your point :) ... do you mean that a }\n in a semi-list should or shouldn't terminate a statement in a semi-list?
23:58 PerlJam diakopter: I would say it should.
23:59 diakopter PerlJam: oh.. ;) my first guess was that it shouldn't
23:59 toddr joined #perl6
23:59 PerlJam cognominal_: I think <before: ...> is still zero-width (but capturing).

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo