Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-08-28

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:00 Lichtkind i do not because that bind to much work and slows only don the app
00:00 Lichtkind vip tried that and got nowhere
00:01 Lichtkind the project was always about get something usable
00:01 ruoso I see...
00:01 Lichtkind all you said i also considered
00:01 Lichtkind but you have to time when fold out the big feature
00:01 Lichtkind i hope you understand
00:02 ruoso sure I do..
00:02 ruoso and I'm only exercising some frustations I had when planning an editor ;) you don't have to take me seriously ;)
00:02 bacek joined #perl6
00:03 ruoso (except for the tab-always-indent and emacs-style-keybindings thing ;)
00:03 Lichtkind perl deserves its own IDE and of cource :)
00:03 Lichtkind but that will come after version 0.4
00:04 Lichtkind top topics are now output panel, bugs under linux, UTF and config dialog
00:04 Lichtkind so i can ship 0.4
00:04 ruoso that's cools
00:05 Lichtkind recently started gabor his own perl editor
00:05 Lichtkind will see sometimes it fucks me off but on other hand he found some solutions i now will also use
00:06 ruoso @tell pmurias, I've spotted one point that should help a lot s1p... we need an implementation of the (|$capture) signature.... and then we implement the actual signature in the s1p classes in the begging of the method code...
00:07 ruoso ENOBOT
00:07 meppl good night
00:11 ruoso pmurias... I'm implementing that signature as (|$_), so the s1p code would have the capture in $_ for the routines... we then implement the actual signature in the beginning of the actual code...
00:12 ruoso Lichtkind, it's like Perl 6 development... we have a lot of people trying different things... in the end it's nice because we learn more...
00:13 Lichtkind ruoso: yeah but all want the holy grail of programming now :)
00:26 funktio joined #perl6
00:31 donaldh joined #perl6
00:34 pugs_svn r22050 | ruoso++ | [smop] :(|$_) signature implementation as SMOP__S1P__BindCaptureSignature. This should help implementing the sample s1p output
00:38 sunnavy joined #perl6
00:38 obra joined #perl6
00:38 clkao joined #perl6
00:42 funktio joined #perl6
00:43 clkao joined #perl6
00:44 sunnavy joined #perl6
00:44 obra joined #perl6
00:49 ruoso pmurias, I've updated the ROADMAP... and I'm now focused on the runtime features we need to compile src-s1p/P6Meta.pm
00:49 pugs_svn r22051 | ruoso++ | [smop] updating the S1PSample to the starting sketches for a mold-only output in the s1p compiler...
00:53 * ruoso sleep &
00:55 funktio joined #perl6
01:00 gbacon joined #perl6
01:00 Southen joined #perl6
01:00 speckbot joined #perl6
01:02 larsen_ joined #perl6
01:03 REPLeffect joined #perl6
01:12 funktio joined #perl6
01:17 meppl joined #perl6
01:21 [particle]1 joined #perl6
02:18 xuser joined #perl6
02:20 xuser left #perl6
02:42 meppl joined #perl6
02:46 alc joined #perl6
02:54 alanhaggai joined #perl6
03:11 s1n moritz_: see your pm
03:27 alanhaggai joined #perl6
03:43 meppl good night
03:54 alester_ joined #perl6
04:09 a-jing joined #perl6
04:09 a-jing left #perl6
04:40 BinGOs_ joined #perl6
05:01 a-jing joined #perl6
05:02 a-jing left #perl6
05:25 Psyche^ joined #perl6
05:26 IRSeekBot joined #perl6
05:29 IRSeekBot joined #perl6
05:46 ashizawa joined #perl6
05:48 cataska joined #perl6
06:00 donaldh joined #perl6
06:06 alc joined #perl6
06:28 meppl joined #perl6
06:32 charsbar joined #perl6
06:33 eternaleye joined #perl6
06:53 felipe joined #perl6
07:07 pmurias joined #perl6
07:16 iblechbot joined #perl6
07:19 eternaleye joined #perl6
07:45 pugs_svn r22052 | pmurias++ | [smop]
07:45 pugs_svn r22052 | pmurias++ | for uses  ->, not -->
07:45 pugs_svn r22052 | pmurias++ | fixed a bug in DESTROYALL in mold
07:53 cataska left #perl6
08:07 zamolxes joined #perl6
08:12 aindilis joined #perl6
08:15 a-jing joined #perl6
08:15 a-jing left #perl6
08:16 pmurias does anyone here now how should i add gcov hooks to smop (it uses cmake)?
08:16 sri_work joined #perl6
08:29 elmex joined #perl6
08:33 zamolxes joined #perl6
09:10 a-jing joined #perl6
09:38 a-jing joined #perl6
09:39 a-jing left #perl6
09:52 ruoso joined #perl6
10:33 hercynium joined #perl6
10:39 masak joined #perl6
10:56 a-jing joined #perl6
10:56 a-jing left #perl6
11:01 iblechbot joined #perl6
11:20 ruoso joined #perl6
11:21 alc joined #perl6
11:23 endless- joined #perl6
11:45 BinGOs joined #perl6
12:00 ruoso @tell pmurias, do you think we should create a capture-proxy for slurpy arrays in signatures? or maybe we should just copy the values to a new empty array...
12:00 * ruoso ENOBOT
12:00 ruoso copying the values in an empty array is less efficient, but maybe is simpler...
12:15 ruoso We were discussing an Iterator type some time... I'm about to implement "for", and I think "for" should enforce "Iterator context"... but the specs doesn't refer to an explicit Iterator type...
12:17 pmurias joined #perl6
12:18 ruoso hi pmurias
12:19 pmurias ruoso: the proxy array must be indistinguishable from a real Array
12:19 pmurias ruoso: hi
12:19 ruoso pmurias, yes it would be...
12:19 ruoso (that's the most important feature of SMOP, anyway) ;)
12:20 pmurias looking at code&
12:22 pmurias ruoso: is the slurpy params array resizable?
12:22 ruoso pmurias, in theory it's just a regular array after the bind...
12:22 ruoso in P6Meta we even unshift an element to it...
12:23 pmurias so it's legal to @(\()).push(1)?
12:23 moritz_ you know that slurpy params are lazy lists?
12:23 rakudo_svn r30618 | julianalbo++ | clean ATTR workarounds in perl6multisub
12:24 moritz_ normally all parameters are read-only references
12:24 dr_df0 joined #perl6
12:25 ruoso the parameters are... but do slurpy arrays fall in that case?
12:27 moritz_ I don't see why they should not
12:28 pugs_svn r22053 | dr_df0++ | [spec] fudged spec/S03-operators/eager_hyper.t for rakudo
12:28 pmurias the @*slurp_array is always rw, it's elements are ro unless declared with a is rw i.e. '@*_ is rw'
12:30 pmurias ruoso: so i think a copy would be suitable here (it can be optimised to COW latter)
12:30 ruoso yes... it looks simpler...
12:30 moritz_ pmurias: *@stuff, not @*stuff
12:30 moritz_ @*stuff is "global namespace"
12:31 ruoso moritz_, my $foo = shift; is still a valid idiom in Perl 6, isn't it?
12:31 moritz_ ruoso: probably. I retract my opinion ;)
12:33 ruoso pmurias, that makes our ROADMAP simpler...
12:33 moritz_ More precisely, the slurpy star
12:33 moritz_ means the declared formal parameter is I<not> considered readonly; only
12:33 moritz_ its elements are.
12:33 moritz_ from S06:150
12:34 moritz_ ruoso++
12:34 ruoso but we still need an iterator api
12:35 ruoso .has_next() and .next()
12:40 pmurias ruoso: do you have any experience with gcov?
12:41 pmurias ls
12:41 pmurias sorry ;)
12:41 abra joined #perl6
12:41 moritz_ no such file or directory ;)
12:42 pmurias moritz_:
12:42 pmurias (caps lock)--
12:43 moritz_ (keycode 66 = Escape in .xmodmaprc)++
12:43 ruoso I think I'll consider that API for SMOP, and provide TimToady this use as an exercise of a possible api
12:45 pmurias S03:680
12:47 ruoso pmurias, but that is to eagerly load the entire iterator in a new list...
12:47 ruoso wait...
12:47 ruoso somewhere else in the specs it was saying that...
12:47 ruoso but that piece seems to imply otherwise...
12:48 pmurias ruoso: it's context dependend
12:48 pmurias that reminds we once again that we need context support in m[0o]ld
12:50 ruoso pmurias, I was planning to implement "context sensitiveness" by additional method calls
12:50 ruoso and use "context saved in the frame" as a future optimization
12:51 ruoso to help avoiding unnecessary 'context enforcing'
12:52 ruoso btw... prefix:<=> implies an internal iterator state in the list itself... is that expected?
12:52 pmurias why not make the context part of the method call my $foo = ($context) $bar."baz"(...);
12:53 pmurias ruoso: it dosn't seem desirable IMHO
12:53 pmurias (internal iterator state that is)
12:53 ruoso pmurias, because that would make the method call more complex... having to calll .bool() to force boolean context seems ok...
12:54 ruoso as well as .List() to force List context, and so on...
12:54 pmurias but you would have to return proxy objects for lots of things
12:54 ruoso only when this things react differently in each context
12:55 ruoso most of the time the coercion provided by the type you returned is enough
12:56 ruoso (just like p5, btw)
12:57 abra joined #perl6
12:57 ruoso pmurias, about internal iterator... that's why I would consider having an Iterator type that would define .prefix:<=>
12:58 pmurias ruoso: you can't tell in advance if something is context dependent
12:58 dr_df0 rakudo: # feeding to whatever using ==> and ==>>
12:58 p6eval rakudo 30618: RESULT[{}]
12:58 ruoso pmurias, you can't always tell the context either...
12:59 pmurias ruoso: example please
12:59 ruoso foo(bar())
12:59 ruoso multi foo (bool $a); multi foo (int $a)
12:59 pmurias spec searching&
12:59 moritz_ but these multis don't force context
13:00 pmurias checking the wind&
13:00 moritz_ actually a parameter list is a list, so it would call bar() in list context, I think
13:02 ebassi joined #perl6
13:02 ruoso http://feather.perl6.nl/syn/S02.html#line_3308
13:04 a-jing1 joined #perl6
13:04 cmarcelo joined #perl6
13:04 a-jing1 left #perl6
13:06 cmarcelo left #perl6
13:07 dr_df0 when to use '#?rakudo skip' and '#?rakudo todo' ?
13:08 moritz_ skip when rakudo dies on the test
13:08 moritz_ and todo when it just gives a wrong result
13:08 moritz_ btw don't fudge test files for features that are not yet implemented in rakudo
13:12 ebassi left #perl6
13:13 zamolxes joined #perl6
13:15 jan_ joined #perl6
13:15 alc joined #perl6
13:37 rindolf joined #perl6
13:37 Lorn joined #perl6
13:42 moritz_ @tell TimToady STD.pm still complains about  ok !(undef & 1), even with the disambiguating whitespaces ("Obsolete use of undef as a verb")
13:42 moritz_ ENOLAMBDABOT
13:43 masak rakudo: token test { test }; say "this is but a test" ~~ test
13:43 p6eval rakudo 30618: OUTPUT[too few arguments passed (0) - 2 params expected␤current instr.: 'test' pc 59 (EVAL_14:23)␤]
13:43 masak are tokens specced to have an existence indepentent of grammars?
13:43 masak dito rules, regexes?
13:43 * moritz_ thinks so, but not sure
13:44 masak anymoose, strange error
13:45 masak (unless one understands the underlying reason)
13:45 dr_df0 perl6: { my $a; -> $i { $a += $i } for 1..3; }
13:45 p6eval rakudo 30618: OUTPUT[Missing '}' at line 1, near "-> $i { $a"␤␤current instr.: 'parrot;PGE::Util;die' pc 119 (runtime/parrot/library/PGE/Util.pir:82)␤]
13:45 p6eval ..elf 22053: OUTPUT[AST handler circumfix:pblock partially unimplemented at ./elf_f line 2401␤]
13:45 p6eval ..pugs: RESULT[undef]
13:45 moritz_ pugs: { my $a; -> $i { $a += $i } for 1..3; }; say $i
13:45 p6eval pugs: OUTPUT[*** ␤    Unexpected end of input␤    expecting "::"␤    Variable "$i" requires predeclaration or explicit package name␤    at /tmp/DiDzYQLxI4 line 1, column 48␤]
13:45 masak dr_df0: I don't think blocks and statement-modding for go together
13:46 masak either it's a statement (and can take a modifying for) or it's a block (and doesn't)
13:47 moritz_ masak: but a pointy block is a statement
13:47 masak oh.
13:47 masak that's news to me.
13:47 moritz_ STD.pm parses to me
13:47 dr_df0 moritz_: it's was fragment from for.t test
13:47 masak dr_df0: ah.
13:47 moritz_ my $x = -> $stuff { foo }; is valid Perl 6
13:48 masak that I have less trouble accepting, for some reason
13:48 moritz_ it's just a block with a signature
13:48 masak aye
13:48 moritz_ but rakudo doesn't do pointy-block-as-a-statement yet
13:49 masak conundurum: rakudo is cool, but using it makes me want more of it!
13:49 moritz_ aye ;)
13:49 masak how do I make everyone else hack on rakudo? :)
13:51 [particle]1 moritz_: if token et al can be used outside a named grammar, do you suppose every namespace has an anonymous grammar into which these methods are added?
13:51 [particle]1 or every namespace has a grammar of the same name?
13:52 masak moritz_: this morning I got fairly far in writing a syntax parser for the wiki that did external links, italic text, headings and list items. but somewhere in the middle of it all, juggling the grammar overwhelmed me. I'm going to try again tonight more systematically, with tests.
13:52 moritz_ [particle]1: I guess that tokens live in the "normal" namespace, just like subs
13:52 masak [particle]1: I agree with moritz_. no grammar needed.
13:52 [particle]1 package Foo; token xyz { 'xyz' }; package main; say 'zyzzxyzzyz' ~~ Foo::xyz;
13:52 masak aye
13:53 [particle]1 masak: tests++
13:53 masak grammars++
13:53 masak I suspect the end-of-the-week writeup on november will be about grammars, and how wonderful they are
13:54 masak this week, I've come to firmly believe that they are THE killer feature of Perl 6
13:54 [particle]1 perl 6 is nothing without them
13:56 masak that said, I still suck at writing them, so the wonders I glimpse are the total amount of woundrousness projected down on my ineptitude :)
13:57 * moritz_ tries to parse that sentence
13:57 Caelum joined #perl6
13:57 masak moritz_: sorry. I'm inept at communicating too, it seems
13:58 moritz_ or my English just isn't good enough ;)
13:58 masak hard to tell.
13:58 masak s/projected down on/filtered through/, maybe. does that help?
13:59 moritz_ I think I know what you mean
13:59 moritz_ since you don't understand it right, you can't grasp all of it's power, right?
13:59 masak right.
14:00 masak and even then, I'm impressed.
14:00 masak rakudo: "hello" ~~ /ll/; .from.say given $/
14:00 p6eval rakudo 30618: OUTPUT[2␤]
14:00 masak I'm also impressed at how stuff like that works already :)
14:00 masak 2008 is shaping up to be a good year for Perl 6!
14:01 [particle]1 perl 6 lets smart people make programming look easy and lets inept people make programming look possible
14:01 moritz_ yes, it's a weird mixture of really cool, advanced features work, and some very simple stuff plain refuses to work
14:02 masak moritz_: ...and that strange recursion bug, and the fact that programs segfault for no good reason :/
14:02 jhorwitz joined #perl6
14:10 masak rakudo: the good, the cool, the advanced, the bad, the ugly and the wierd
14:10 p6eval rakudo 30618: OUTPUT[Could not find non-existent sub good␤current instr.: '_block11' pc 11 (EVAL_13:11)␤]
14:10 masak p6eval: sorry :)
14:11 [particle] sounds like quark names
14:11 ruoso perl6: class Foo { method bar ($s: $a, $b) { say $s, $a, $b } };  my $f1 = Foo.new(); my $f2 = Foo.new(); my $c1 = \($f1: 'a'); my $c2 = \($f2: 'b'); $f2.bar(|$c1, |$c2);
14:11 p6eval elf 22053: OUTPUT[Useless use of a constant in void context at (eval 123) line 11.␤Useless use of a constant in void context at (eval 123) line 12.␤Undefined subroutine &GLOBAL::prefix__124 called at (eval 123) line 13.␤ at ./elf_f line 3861␤]
14:11 p6eval ..rakudo 30618: OUTPUT[Statement not terminated properly at line 1, near ": 'a'); my"␤␤current instr.: 'parrot;PGE::Util;die' pc 119 (runtime/parrot/library/PGE/Util.pir:82)␤]
14:11 p6eval ..pugs: OUTPUT[<obj:Foo>CaptMeth {c_invocant = VObject (MkObject {objType = (mkType "Foo"), objAttrs = <Hash:0xb7aa1f8d>, objOpaque = Nothing, objId = MkObjectId {unObjectId = 4}}), c_feeds = [:MkFeed {f_positionals = [:"a":], f_nameds = []}:]}CaptMeth {c_invocant = VObject (MkObject {objType =...
14:12 ruoso pugs: class Foo { has $.n; method bar ($s: $a, $b) {  $n ~ $a ~ $b } };  my $f1 = Foo.new(n => 1); my $f2 = Foo.new(n => 2); my $c1 = \($f1: 'a'); my $c2 = \($f2: 'b'); say $f2.bar(|$c1, |$c2);
14:12 p6eval pugs: OUTPUT[*** ␤    Unexpected " ~"␤    expecting "::"␤    Variable "$n" requires predeclaration or explicit package name␤    at /tmp/mfG74jDYKE line 1, column 51␤]
14:13 ruoso pugs: class Foo { has $.n; method bar ($s: $a, $b) {  $s.n ~ $a ~ $b } };  my $f1 = Foo.new(n => 1); my $f2 = Foo.new(n => 2); my $c1 = \($f1: 'a'); my $c2 = \($f2: 'b'); say $f2.bar(|$c1, |$c2);
14:13 p6eval pugs: OUTPUT[2CaptMeth {c_invocant = VObject (MkObject {objType = (mkType "Foo"), objAttrs = <Hash:0xb5eda419>, objOpaque = Nothing, objId = MkObjectId {unObjectId = 4}}), c_feeds = [:MkFeed {f_positionals = [:"a":], f_nameds = []}:]}CaptMeth {c_invocant = VObject (MkObject {objType = (mkType...
14:13 ruoso pugs: class Foo { has $.n; method bar ($s: $a, $b) {  $s.n ~ $a ~ $b } };  my $f1 = Foo.new(n => 1); my $f2 = Foo.new(n => 2); my $c1 = \($f1: 'a'); my $c2 = \($f2: 'b'); say $f2.bar(|$c2, |$c1);
14:13 p6eval pugs: OUTPUT[2CaptMeth {c_invocant = VObject (MkObject {objType = (mkType "Foo"), objAttrs = <Hash:0xb5dda429>, objOpaque = Nothing, objId = MkObjectId {unObjectId = 5}}), c_feeds = [:MkFeed {f_positionals = [:"b":], f_nameds = []}:]}CaptMeth {c_invocant = VObject (MkObject {objType = (mkType...
14:14 ruoso hmm...
14:14 ruoso it seems that pugs is not expanding the captures...
14:15 bennymack-work so, is &?ROUTINE implemented in rakudo? I'm trying moritz's YC but getting: invoke() not implemented in class 'Undef'
14:15 ruoso pugs: my $c = \(1); sub b ($a) { say 'Hello ' ~ $a }; b(|$c);
14:15 p6eval pugs: OUTPUT[Hello 1␤]
14:16 TJCRI joined #perl6
14:16 ruoso pugs: my $c1 = \(1); my $c2 = \(2) sub b ($a, $b) { say 'Hello ' ~ $a ~ $b }; b(|$c1 , |$c2);
14:16 p6eval pugs: OUTPUT[*** ␤    Unexpected "sub"␤    expecting operator␤    at /tmp/clcMaEwsYl line 1, column 30␤]
14:16 ruoso pugs: my $c1 = \(1); my $c2 = \(2); sub b ($a, $b) { say 'Hello ' ~ $a ~ $b }; b(|$c1 , |$c2);
14:16 p6eval pugs: OUTPUT[Hello 12␤]
14:16 ruoso pugs: my $c1 = \(1,2); my $c2 = \(:hello<world>); sub b ($a, $b) { say 'Hello ' ~ $a ~ $b }; b(|$c1 , |$c2);
14:16 p6eval pugs: OUTPUT[*** No compatible multi variant found: "&b"␤    at /tmp/BSNMscFawe line 1, column 88-102␤]
14:17 moritz_ bennymack-work: it's not :(
14:17 bennymack-work awww.
14:17 a-jing joined #perl6
14:17 ruoso pugs: my $c1 = \(1,2); my $c2 = \(:hello<world>); sub b ($a, $b, :$hello) { say 'Hello ' ~ $a ~ $b ~ $hello }; b(|$c1 , |$c2);
14:17 moritz_ pugs: { say &?BLOCK }
14:17 p6eval pugs: OUTPUT[pugs: indexPArr: out of bounds parallel array index; idx = 1, arr len = 1␤]
14:17 p6eval pugs: OUTPUT[<SubPrim(<anon>)>␤]
14:18 a-jing left #perl6
14:18 ruoso hmm... it seems that capture expansion will be first implemented in SMOP...
14:18 moritz_ pugs: my $b = { $x < 2 ?? 1 !! $x * $?BLOCK($x - 1) }; $b(2)
14:18 p6eval pugs: OUTPUT[*** ␤    Unexpected "$b"␤    expecting "=", "::", context, ":" or "("␤    Variable "$x" requires predeclaration or explicit package name␤    at /tmp/MVFeCWNygv line 1, column 4␤]
14:19 moritz_ pugs: my $b = { $_ < 2 ?? 1 !! $_ * &?BLOCK($_ - 1) }; $b(2)
14:19 p6eval pugs: RESULT[2]
14:19 moritz_ pugs: my $b = { $_ < 2 ?? 1 !! $_ * &?BLOCK($_ - 1) }; $b(5)
14:19 p6eval pugs: RESULT[120]
14:19 moritz_ bennymack-work: pugs seem to get the &?BLOCK one right
14:19 bennymack-work pointy sub syntax doesn't seem to work either.
14:19 moritz_ in rakudo they work only on for-loops
14:20 ruoso is there any prior thinking on how do capture expansion work?
14:24 ruoso I think I'll consider implementing it by defining the inline capture (or captures) as individual capture objects and then have a capture merger that would hold several ordered captures and provide sane access...
14:25 ruoso ($a, |$b, $c, |@d, $e, |%f) would have be translated to a "merger" capture that would hold 6 different ordered captures...
14:27 zamolxes joined #perl6
14:28 ruoso |@d and |%f still need special "array capturizer" and "hash capturizer" objects...
14:33 pugs_svn r22054 | dr_df0++ | [spec] added from t/statements/modifiers/ and fudged t/spec/S05-modifier/for.t for rakudo
14:34 masak perl6: my $a = 5; if 3 < $a <= 10 { say "It chains!" }
14:34 p6eval pugs, rakudo 30618: OUTPUT[It chains!␤]
14:34 p6eval ..elf 22053: RESULT[␤]
14:34 masak that already works in rakudo, and I haven't used it once!
14:35 * masak wonders if it's because there has been no genuine need, or because of unawareness of the need
14:35 ruoso what should happen when both %a and %b have conflicting keys in   foo(|%a, |%b)?
14:36 masak ruoso: last hash wins? warning?
14:37 ruoso maybe both ;)
14:37 ruoso I was wondering if that should be fatal or not...
14:37 [particle] what happens now?
14:37 ruoso [particle], in p5, you mean?
14:37 [particle] in pugs or rakudo, with multiple same-named params
14:38 ruoso [particle], noone implements capture expansion yet...
14:38 [particle] forget the capture expansion part
14:38 [particle] just deal with the flattened case
14:38 [particle] foo(bar=>'baz', bar=>'quux');
14:39 ruoso perl6: sub foo { say %_<bar> }; foo(bar=>'baz', bar=>'quux');
14:39 p6eval pugs: OUTPUT[*** ␤    Unexpected "<bar"␤    expecting "::"␤    Variable "%_" requires predeclaration or explicit package name␤    at /tmp/P9Ja5VW26Z line 1, column 17␤]
14:39 p6eval ..rakudo 30618: OUTPUT[quux␤]
14:39 p6eval ..elf 22054: OUTPUT[Global symbol "$h__" requires explicit package name at (eval 121) line 3.␤ at ./elf_f line 3861␤]
14:40 [particle] that's only somewhat helpful
14:40 [particle] :/
14:41 ruoso I'll assume a warning should be raised...
14:42 pugs_svn r22055 | dr_df0++ | [t/statements] for.t moved to spec
14:42 [particle] warning++
14:43 pugs_svn r22056 | moritz++ | [irclog] first shot at having pdd01 link to the right parrot design document
14:45 moritz_ dr_df0: you didn't add the new file, just deleted the old
14:45 moritz_ http://dev.pugscode.org/changeset/22055
14:45 ruoso http://www.perlfoundation.org/perl6/index.cgi?smop_capture_expansion
14:46 moritz_ dr_df0: svn add path/to/new/file
14:46 moritz_ dr_df0: and then again svn ci
14:51 moritz_ uhm, why the hell do these pdd\d\d links not work?
14:51 moritz_ because I'm stupid, that's why
14:51 pugs_svn r22057 | moritz++ | [irclog] fixed regex for PDDs
14:52 ruoso I think we're about to reach the smop type-system bootstrap with the capture merger object, because a lot of objects that require the native capture will have to support non-native captures...
14:52 [particle] moritz++
14:52 [particle] pdd19_pmc
14:52 moritz_ [particle]: the link is wrong
14:53 moritz_ ppd instead of pdd
14:53 pugs_svn r22058 | moritz++ | [irclog] fix link for pdds
14:53 * ruoso lunch &
14:53 [particle] yep, you need pdd
14:53 Myoma joined #PERL6
14:53 ruoso any comment on the capture expansion wiki page is very much appreciated....
14:54 [particle] seems the bot isn't logging atm
14:54 moritz_ which bot?
14:54 [particle] there's nothing http://irclog.perlgeek.de/parrot/today after 14:49
14:55 moritz_ uhm
14:55 moritz_ restarting the logger
14:56 pugs_svn r22059 | dr_df0++ | [spec] moved for.t form 'S05-modifier' into 'S04-statement-modifiers'
14:57 moritz_ dr_df0++
15:03 pugs_svn r22060 | moritz++ | [t/spec] simplified some tests in for.t by initializing variables
15:03 moritz_ dr_df0: I now simplified the tests a little so that more of them pass. Rakudo can't do 'my $x; $x++' at the moment, but it *can* do 'my $x = 0; $x++'
15:04 moritz_ and since that is not what we're testing for, we can simplify the tests a tiny bit, thus making more of them pass
15:05 dr_df0 yep
15:05 pugs_svn r22061 | moritz++ | [t/spec] fixed previous commit
15:06 masak rakudo: my $r = regex { ET }; "ET, phone home!" ~~ $r # this works
15:06 p6eval rakudo 30618: RESULT[{}]
15:06 masak rakudo: my $r = regex { ET }; "ET, phone home!" ~~ $r; say $/
15:07 p6eval rakudo 30618: OUTPUT[ET␤]
15:07 masak should I report it as a rakudobug that the bare, non-assigned form doesn't work outside of grammars?
15:08 masak I've already reported that methods are allowed (and behave strangely) outside of classes :)
15:08 moritz_ what shouldn#t work?
15:08 masak moritz_: no, I think they should work, but don't at present
15:08 masak hold on, I'll make another example
15:09 masak rakudo: regex alien { ET | Superman }; say "ET" ~~ alien
15:09 p6eval rakudo 30618: OUTPUT[too few arguments passed (0) - 2 params expected␤current instr.: 'alien' pc 59 (EVAL_14:23)␤]
15:12 [particle] rakudo: token alien { 'ET' }; say "ET" ~~ alien;
15:12 p6eval rakudo 30618: OUTPUT[too few arguments passed (0) - 2 params expected␤current instr.: 'alien' pc 59 (EVAL_12:23)␤]
15:13 moritz_ ah, I get what you mean
15:13 [particle] rakudo: my $r = token alien { 'ET' }; say "ET" ~~ $r;
15:13 p6eval rakudo 30618: OUTPUT[ET␤]
15:13 moritz_ the name doesn't work, just the variable
15:13 masak right.
15:13 moritz_ masak: write a test first, then the bug report ;)
15:14 masak awww :)
15:14 masak ok.
15:14 lumi joined #perl6
15:14 dr_df0 left #perl6
15:14 rakudo_svn r30619 | moritz++ | [rakudo] added test for statement modifying for to spectest_regression
15:15 [particle] (raising the bar)++
15:19 moritz_ masak: implementing that should be as simple as adding the right ACCEPTS multi
15:20 bpphillips joined #perl6
15:22 masak moritz_: nice
15:22 masak vim++ # C-a
15:24 moritz_ further investigations turn out that I don't even manage to find out which multi does it now, in the case of $str ~~ $rule
15:25 moritz_ does $a ~~ $b call $b.ACCEPTS($a) ?
15:26 moritz_ rakudo: my $x = token foo { 'abc' }; say $x.WHAT
15:26 p6eval rakudo 30619: OUTPUT[Block␤]
15:26 pugs_svn r22062 | masak++ | [t/spec/S05-metasyntax/regex.t]
15:26 pugs_svn r22062 | masak++ | added tests for regex, token, and rule outside of grammars
15:26 moritz_ rakudo: say Block ~~ Code
15:26 p6eval rakudo 30619: OUTPUT[1␤]
15:26 moritz_ that's the problem, there's no different type for a regex
15:26 moritz_ which means that it can't work by MMD
15:27 masak rakudo--
15:28 moritz_ masak++ submitting tests
15:32 Exodist joined #perl6
15:36 abra joined #perl6
15:38 masak moritz_: save for some strange effects having to do with <TMPL_IF> and <TMPL_ELSE> (ultimately stemming from more ineptitude and too few tests, I think), the new HTML::Template is ready to be merged back into the master branch
15:39 moritz_ nice
15:39 moritz_ do you need <TMPL_ELSE> for the merge?
15:41 masak yes, it's in almost every live .tmpl file
15:42 moritz_ ;)
15:42 masak checks loggeed-in-ness and puts the appropriate "Log in"/"Log out" button on the page
15:42 moritz_ asking naiively, why should it be hard to do?
15:43 masak it's not a naive question :)
15:43 masak thing is, I have an implementation
15:43 masak ...which fails in strange ways
15:43 masak and that's where I suspect the ineptitude and lack of tests come in
15:44 [particle]1 joined #perl6
15:44 masak the failures are benign, stuff like only part of the page being output from HTML::Template
15:44 moritz_ speaking of tests... I just git-pull'ed, and found 'not ok 2 - TMPL_VAR with ESCAPE'
15:44 masak moritz_: oh.
15:45 masak I haven't given that test any thought
15:45 masak it's entirely natural that it will fail, since there still are no ties to your new module from HTML::Template
15:45 moritz_ it seems the HTML/Template part of my patch hasn't made it into git
15:45 masak will fix immediately
15:46 moritz_ no, correction - it seems that I have forgotten to send it :/
15:46 masak aye
15:49 larsen_ joined #perl6
15:52 abra joined #perl6
15:52 abra joined #perl6
15:56 moritz_ patch sent
15:58 kanru joined #perl6
16:02 masak moritz_: applied/pushed
16:02 * masak runs tests
16:03 masak #2 passes!
16:03 masak moritz++
16:08 moritz_ masak: wrong order - first apply, then test, then push ;)
16:08 masak people keep telling me that :)
16:08 masak especially people I work with
16:09 moritz_ viklund? ;)
16:09 masak actually, no. we haven't had tests long enough for him to suffer from this weakness of mine
16:09 masak or rather, the tests are only in my branch so far
16:12 abra joined #perl6
16:17 iblechbot joined #perl6
16:19 masak should Perl 6 implementations warn when a variable is declared with 'my' more than once in the same scope?
16:19 masak (rakudo doesn't)
16:19 [particle]1 rakudo doesn't have any warnings yet
16:20 masak ok.
16:21 cggoebel joined #perl6
16:26 masak the recursion-is-broken bug in rakudo is hard to work around :/
16:26 alanhaggai joined #perl6
16:27 Myoma broken in what way?
16:28 masak Myoma: http://rt.perl.org/rt3/Ticket/Display.html?id=58392
16:28 Myoma wow weird
16:29 masak aye
16:31 * masak thinks he'll actually write a use.perl post called "rakudo: the good, the cool, the advanced, the bad, the ugly and the wierd"
16:32 moritz_ masak: if you do, please submit for the front page
16:32 masak ooh
16:32 masak I can haz frontz peij!?
16:33 pmurias joined #perl6
16:34 moritz_ when you write a new entry, activate the Publicize radio button
16:35 masak moritz_: yes, I know the mechanism, but was unclear of the merit :)
16:35 masak s/of/on/
16:36 moritz_ more readers
16:36 moritz_ it's as simple as that
16:36 masak also, I need to learn how to spell "weird" before publicizing it :/
16:36 pmurias rehi
16:36 masak pmurias: y0
16:36 moritz_ there are about 20 people that read your journal (or so I guess) and about 1500 that read the front page. Or even more
16:37 masak good point.
16:37 * masak decommutes
16:38 masak see you!
16:38 moritz_ ciao
16:47 cognominal commutation is a quantic state? :)
16:47 cognominal or a move between them?
16:48 moritz_ [a,b] = ab - ba # the commutator
16:49 moritz_ and if [a, b] != 0 then a and b can't both be measured exactly
16:53 cognominal http://www.youtube.com/watch?v=QOcyGZvKkgU  # regular expression for solving temporal problems!
16:53 cognominal I wish I knew anything about quanta.
16:57 moritz_ most of it is not very exciting
16:57 moritz_ solving differential equations and linear algebra problems
16:58 moritz_ and it rarely gives you the warm fuzzy "now I understand physics" feeling that you get in other areas
16:59 rindolf joined #perl6
17:05 cognominal the problem is that the subatomic world has no relation to the world at our scale so I guess it must take time to get a feeling of it.
17:06 cognominal even the brightest mind would not want to tread with that :"God does not play dices"
17:06 moritz_ problem is, he does ;)
17:07 [particle]1 a whole lot of dice
17:07 moritz_ even R. Feynman said he didn't understand quantum mechanics, and he was one of our brightest minds (and invented the quantum electro dynamics theory)
17:07 hercynium joined #perl6
17:08 cognominal quanta are dicey
17:09 moritz_ update on that rakudo problem with applying rules - I think that the RHS is evaluated first, and then .ACCEPT is called on the result
17:09 moritz_ which works fine for variables, but not for syntactical sub and rule calls
17:10 moritz_ so it probably can't be solved without changing actions.pm
17:13 [particle]1 rakudo: "foo" ~~ sub { @_.say }
17:13 p6eval rakudo 30620: OUTPUT[foo␤]
17:13 moritz_ rakudo: sub a { say @_.perl }; 'foo' ~~ a; say 1
17:13 p6eval rakudo 30620: OUTPUT[[]␤1␤]
17:14 [particle]1 hrmm, i thought subs required parens
17:15 cognominal in NQP?
17:15 moritz_ they don't
17:15 [particle]1 rakudo: sub a { say @_.perl }; 'foo' ~~ a(); say 1
17:15 p6eval rakudo 30620: OUTPUT[[]␤1␤]
17:15 [particle]1 ah, in nqp they do, cognominal++
17:15 moritz_ rakudo: sub a { say @_.perl }; 'foo' ~~ &a; say 1
17:15 p6eval rakudo 30620: OUTPUT[["foo"]␤1␤]
17:16 [particle]1 hrmm indeed
17:35 eternaleye joined #perl6
18:02 ruoso if $a = (1,2,3); can I simply use foo(|$a)? or should it do foo(|@$a)
18:03 moritz_ I think |$a should be enough
18:03 moritz_ what else could |$a mean?
18:03 ruoso that $a ~~ Capture
18:05 ruoso pugs: say |(1,2,3);
18:05 p6eval pugs: OUTPUT[123␤]
18:05 ruoso but pugs is not implementing the capture expansion correctly...
18:05 ruoso so It might be accidentally right
18:06 ruoso pugs: say |(1,2),|(3,4)
18:06 p6eval pugs: OUTPUT[1234␤]
18:06 Chillance joined #perl6
18:08 ruoso if that is correct, it means that in capture expansion, it needs to do a Capture coercion on all values...
18:09 ruoso Object will fail... Capture will return itself... Array will return a new Capture that has its elements and so will Hash...
18:10 TJCRI left #perl6
18:20 ruoso pugs: my $a = [ 1, 2 ,3 ]; sub foo ($a, $b, $c) { say $a,$b,$c }; foo(|$a);
18:20 p6eval pugs: OUTPUT[123␤]
18:21 ruoso pugs: my $a = [ 1, 2 ,3 ]; sub foo (|$capture) { say $capture.WHAT }; foo(|$a);
18:21 p6eval pugs: OUTPUT[*** No compatible multi variant found: "&foo"␤    at /tmp/5uKZiOqYp0 line 1, column 65-73␤]
18:21 ruoso pugs: my $a = [ 1, 2 ,3 ]; sub foo (|$capture) { say $capture.WHAT }; foo();
18:21 p6eval pugs: OUTPUT[*** No compatible multi variant found: "&foo"␤    at /tmp/nTHU9hIAXd line 1, column 65-70␤]
18:22 ruoso pugs: my $a = [ 1, 2 ,3 ]; sub foo (|$capture) { say $capture.WHAT }; foo();
18:22 p6eval pugs: OUTPUT[*** No compatible multi variant found: "&foo"␤    at /tmp/Nptjc7nYxl line 1, column 65-70␤]
18:23 ruoso pugs: my $a = (:b<foo>); sub foo ($a,:$b) { say $a,$b }; foo(1,|$a);
18:23 p6eval pugs: OUTPUT[1foo␤]
18:23 ruoso pugs: my $a = \(:b<foo>); sub foo ($a,:$b) { say $a,$b }; foo(1,|$a);
18:23 p6eval pugs: OUTPUT[pugs: indexPArr: out of bounds parallel array index; idx = 1, arr len = 1␤]
18:24 ruoso pugs: my $a = (:b<foo>); sub foo ($a,:$b) { say $a,$b }; foo(|$a,1);
18:24 p6eval pugs: OUTPUT[1foo␤]
18:38 buu joined #perl6
18:40 * ruoso assuming prefix:<|> implies "Capture context", which in SMOP means .Capture() call. see http://www.perlfoundation.org/perl6/index.cgi?smop_capture_expansion for details
18:59 bennymack-work moritz_ et al, I commented on reddit WRT the &?ROUTINE construct being somehow extended to support tail recursion or is pasing around an accumulator good enough?
19:27 bennymack-work I kind of think that the YC article should be submitted to the programming reddit as well.
19:28 moritz_ go ahead if you want
19:36 zamolxes joined #perl6
20:01 * ruoso home &
20:02 eternaleye_ joined #perl6
20:22 hercynium joined #perl6
20:28 bennymack-work apparently it was submitted to the programming sub-reddit by gst already but it has zero points. Everyone go here and upvote it: http://www.reddit.com/r/programming/search?q=combinator+AND+perl
20:29 moritz_ reddit is overrated ;)
20:37 eternaleye joined #perl6
20:43 wknight8111 joined #perl6
20:46 larsen_ joined #perl6
20:47 |alanhaggai| joined #perl6
21:23 jfredett_ joined #perl6
21:29 meppl good night
21:33 jfredett joined #perl6
21:53 hercynium joined #perl6
22:00 BinGOs joined #perl6
22:09 idemal joined #perl6
22:24 bacek joined #perl6
22:36 bacek_ joined #perl6
22:43 bennymack joined #perl6
22:46 lambdabot joined #perl6
22:56 ruoso joined #perl6
22:56 eternaleye joined #perl6
23:04 dduncan joined #perl6
23:08 dduncan left #perl6
23:19 bacek joined #perl6
23:21 pugs_svn r22063 | lwall++ | [STD] only warn if undef is followed by a variable
23:36 meppl joined #perl6
23:55 bacek joined #perl6
23:58 TimToady ruoso: multiple arguments with the same name is specced at S06:567

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

Perl 6 | Reference Documentation | Rakudo