pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~315 days 'til Xmas
Set by mncharity on 8 February 2009.
00:07 hercynium joined 00:08 Tene left 00:12 aindilis` joined 00:17 iblechbot left 00:22 alexn_org left 00:26 aindilis left 00:40 drbean_ is now known as drbean 00:46 alc joined 01:10 DemoFreak left
s1n rakudo: class A { method baz($what) { $.foo($what); }; method foo($f) { say $f }; }; my A $bar; $bar.baz("h") 01:18
p6eval rakudo 70d908: OUTPUT«too few arguments passed (1) - 2 params expected␤current instr.: 'parrot;A;foo' pc 273 (EVAL_20:114)␤» 01:19
s1n umm, what's wrong with that?
01:31 Whiteknight left 01:32 cnhackTNT joined, cnhackTNT left 01:34 aindilis` left
diakopter rakudo: class A { method baz($what) { $.foo($what); }; method foo($f) { say $f; }; }; my A $bar; $bar.baz("h","i"); 01:34
TimToady looks like a bug to me. a protoobject should be usable like a normal object, up until you need actual $! storage
p6eval rakudo 70d908: OUTPUT«too many arguments passed (4) - 2 params expected␤current instr.: 'parrot;A;baz' pc 154 (EVAL_19:72)␤»
TimToady rakudo: class A { method baz($what) { self.foo($what); }; method foo($f) { say $f }; }; my A $bar; $bar.baz("h") 01:36
p6eval rakudo 70d908: OUTPUT«h␤»
TimToady looks like $.foo() is requiring $!foo to exist, which is bogus
$.foo() and self.foo() should be identical in operation 01:37
pmichaud there was a discussion about this a few weeks ago.
what if A declares has $.foo; ? 01:38
TimToady then it should fail at the point where method foo looks for $!foo
pmichaud I'm confused by "where method foo looks for $!foo" 01:40
TimToady $.foo is the public accessor, which encapsulates whether the method is synthetic or even is a class attribute
has $.foo autogenerates a foo method
that foo method has to refer to $!foo somehow
since $.foo is just a recursive call
pmichaud okay.
I guess I'm misremembering the discussion of a few weeks ago.
it looks like rakudo does indeed treat $.foo as a method call. But it wants a self. 01:42
TimToady a protoobject is a self
pmichaud agreed.
diakopter is there a way to declare a particular type should *not* "have" a certain method (that maybe it's inheriting), other than by overriding the method and throwing a not implemented exception? Something like hasnt $.foo; ?
TimToady we can have apostrophes, so it'd be hasn't :) 01:43
diakopter so for role inheritance cancellation, that'd be doesn't?
pmichaud rakudo: class A { method baz($what) { say $what; }; }; my A $bar; $bar.baz('h'); 01:44
p6eval rakudo 70d908: OUTPUT«h␤»
pmichaud rakudo: class A { method baz($what) { say $what; }; method foo($f) { say $f }; }; my A $bar; $bar.foo('h');
p6eval rakudo 70d908: OUTPUT«h␤»
pmichaud rakudo: class A { method baz($what) { self.foo($what); }; method foo($f) { say $f }; }; my A $bar; $bar.baz('h');
p6eval rakudo 70d908: OUTPUT«h␤»
pmichaud rakudo: class A { method baz($what) { $_ = self; .foo($what); }; method foo($f) { say $f }; }; my A $bar; $bar.baz('h'); 01:45
p6eval rakudo 70d908: OUTPUT«h␤»
pmichaud rakudo: class A { method baz($what) { $.foo($what); }; method foo($f) { say $f }; }; my A $bar; $bar.baz('h');
p6eval rakudo 70d908: OUTPUT«too few arguments passed (1) - 2 params expected␤current instr.: 'parrot;A;foo' pc 273 (EVAL_19:114)␤»
TimToady kaboom
01:45 eternaleye joined
diakopter std: class Whiney ain't Compliant {}; 01:46
p6eval std 25535: OUTPUT«############# PARSE FAILED #############␤Malformed "class" declaration␤Unable to parse class definition at /tmp/vDbVurLouv line 1:␤------> class Whiney ain't Compliant {};␤ expecting trait␤FAILED 00:02 33m␤»
diakopter I'm strangely attracted to the notion of negative declarations. 01:48
does any other language have that yet? would it be useful? 01:49
pmichaud oh yes, I remember the problem now. 01:50
$.foo gets treated like a listop.
so rakudo ends up treating $.foo as self.foo() 01:51
thus $.foo($what) ends up being self.foo()($what)
TimToady it's really a special form
STD parses it under variable, but looks ahead for the '(' and adds an arglist 01:53
pmichaud okay. I suspect STD didn't used to do that...?
TimToady seems pretty ancient to me
what's the opposite of a gnostic interpolation? 01:54
pmichaud (ancient) -- you're correct, since at least July 2008. Wonder how/why we missed that. 01:57
anyway, thanks for the quick pointer -- we can fix now.
pugs_svn r25536 | lwall++ | indent examples 01:58
TimToady np
diakopter well, that's kinda redundant, since gnostics by definition read between the lines... so the opposite might be a ghostly extirpation. 02:00
interstitial gnopolation? 02:02
meppl good night 02:41
02:43 japhb left 02:44 meppl left
dalek kudo: 5944501 | pmichaud++ | t/harness:
Updated harness that doesn't rely on Parrot::Test::Harness.

to re-add that feature. Also needs testing on Win32.
02:45
02:47 nihiliad joined
diakopter pmichaud: works in win32 for me.. :) 02:48
s1n pmichaud: so i assume the conclusion is that's a rakudo bug 02:54
02:57 jimmy_ joined
pmichaud diakopter: thanks, very good to know. 03:07
s1n: yes, it looks like a rakudobug.
03:12 dukeleto joined 03:16 mikehh left, mikehh joined
pugs_svn r25537 | wayland++ | Rename S28 as per suggestion 03:39
r25538 | wayland++ | Added Predefined Metasyntax section, as per richard++ 03:48
03:52 hercynium left 04:01 arthurium_ joined 04:22 arthurium_ left 04:37 Nom- left, Nom- joined 04:40 apayne0 joined 04:41 apayne0 left 05:10 s1n left
pugs_svn r25539 | lwall++ | document which assertions are on the endangered list 05:19
05:20 Casan left
pugs_svn r25540 | wayland++ | S16: Added some information about signal processing. 05:31
r25540 | wayland++ | S28: Pushed the Perl5 to Perl6 special variable translation table as far as possible
r25540 | wayland++ | without receiving more information (well, maybe I could fix one or two things...)
05:39 nihiliad left 05:40 agentzh left 05:41 agentzh joined, cspencer joined 06:03 cotto left
diakopter pmichaud: fyi, all tests successful on win32 (no it didn't *just* finish; I just noticed it) 06:07
pmichaud diakopter: thank you again -- that's a huge help to me right now.
diakopter yw :)
pmichaud diakopter: win32 is one of my problem platforms :-|
pugs_svn r25541 | wayland++ | S28: Incorporated some more stuff from the old documentation lower down, and a few 06:09
r25541 | wayland++ | variables from S02.
diakopter that was with Parrot HEAD, btw. after chromatic fixed it for msvc15/vsts9.
it would be interesting to compare the test run times for a mingw32/gcc build vs. cygwin/gcc build vs. vc15 amd64 build vs. vc15 x86 build on the same machine... 06:11
cspencer does rakudo not build on the most recent version of parrot? 06:12
it's complaining about the perl6str pmc... 06:13
sorry, my fault, i was in the wrong repository :/ 06:14
06:16 mberends joined
pmichaud cspencer: we no longer guarantee to build with the most recent version of parrot. 06:17
we can't really guarantee that, because parrot now gets changes that aren't tested against rakudo.
cspencer is there a recommended version number?
ah ok 06:18
it's guaranteed against the latest stable release then?
pmichaud yes, it's maintained in build/PARROT_REVISION
no, it's not guaranteed against the latest stable Parrot release either
cspencer great, thanks :)
06:18 Tene joined
pmichaud cspencer: in fact, if you use perl Configure.pl --gen-parrot then Rakudo will keep a copy of the correct Parrot revision for you. 06:18
cspencer that would make things a lot easier 06:19
that worked great, thank you :) 06:20
pmichaud I need sleep -- bbl. 06:21
06:22 Sepheebear left 06:24 Sepheebear joined, bacek_ left 06:25 cspencer left, xinming_ is now known as xinming
TimToady n 06:29
06:30 Tene_ left, cotto joined 06:33 justatheory left
araujo TimToady, there? 06:42
TimToady kinda sorta 06:52
06:55 abra joined 06:59 abra left, abra joined
araujo foo.{ <expr1 .. expr2 .. exprN> }.end 07:05
07:05 ashizawa joined
araujo TimToady, how do you find that syntax? 07:05
araujo wanted an opinion from an enough twisted mind :P
07:19 jimmy_ left 07:40 masak joined
mberends masak: howdy 07:40
masak mberends: hey there. 07:45
latest news: first release of an SVG module.
downloadable via proto. :)
mberends yay!
mberends will hopefully test a perl5 proto on SVG in the next 2 hours 07:48
masak cool. 07:49
I'll be around till lunch.
I also added a few comments to the installer script.
things I came to think of. 07:50
07:50 mj41 joined
masak mberends: after you've pushed your perl5 proto changes, I think I'll have a go on the update subcommand. 07:51
just to move that notice ever downwards.
the update subcommand will need not only to traverse the dep tree and update all packages, but also re-read the deps.proto files and install new packages that might have been added. 07:52
moritz_ good morning
masak moritz_: morgens.
mberends gute morgen, moritz_ 07:53
07:54 szabgab left
mberends masak: update may be able to inherit logic from install. your commented points are ones I was thinking of too - in perl6-examples I am going for a 'perl6 Configure.pl' format instead of 'perl5 Makefile.PL' 07:55
masak mberends: we need to detect that, then.
some detection order for Configure.pl and Makefile.PL, and language detection for both. 07:56
the goal is to provide sane project standards, but not to restrict.
mberends there may be other builder launchers too, or none at all, like you wrote
masak SVG doesn't have one. 07:57
it succeeds only because the installer doesn't detect failure.
mberends that must be officially good, not just a corner case 07:58
masak mberends: well, partly.
when things really fail, we want to fail too.
it would also be nice if we provided easy instructions saying "what to do now" when things go wrong during an install.
possibly (1) update proto, (2) mail a bug report (provided in a generated file) to the responsible project developer 07:59
the first step is necessary, because people might have a months-old proto, and the projects are listed in the installer script.
hm, that last part feels like a weakness. maybe we should keep the list of projects in a separate file, and do git-pull on that in the installer, and then slurp it. 08:00
mberends now you're talking scalability! no more Mr. Lightweight! 08:02
masak :P
well... nevermind for now.
first up is the basic feature list.
when people have problems with updating, we'll address that.
mberends agreed. 1. walk 2. run 3. profit! 08:03
masak I look forward to be using proto myself as a one-stop all-projects updater.
including "pseudoprojects" like parrot, rakudo, and proto.
well, um, the former two will not see frequent updates. only monthly ones. 08:04
mberends the former might be difficult if you used the PARROT_DIR option 08:05
s/might be/is/ 08:06
masak why? 08:08
oh. 08:09
08:09 cai joined
masak perhaps fail and inform the user that a new Parrot is available for download. 08:09
08:10 duke_leto joined 08:11 duke_leto left
masak or build it locally in the projects/ dir, and say that the user should 'rm -rf $PARROT_DIR; mv projects/parrot-a.b.c $PARROT_DIR' 08:11
I guess the waterline might be whether the user has write access to $PARROT_DIR or something.
mberends all tricky issues, depending on why the user has parrot outside proto/projects (why should she? proto rulez the world) 08:12
masak we don't question people's choices, we just roll our eyes and help them as best we can. :) 08:13
mberends heh
masak (they might be on feather, with only user accounts and a global parrot already installed)
mberends (they might be offline a lot, and have up to 7 regression parrots) 08:14
08:15 ejs joined
masak :) 08:15
how do you keep them apart?
08:15 ejs1 joined
masak s/keep/tell/ 08:15
mberends directory names parrot-<revision> 08:16
masak ok, and that's enough? I mean, how do you know which revision you want? 08:17
08:17 szabgab joined 08:18 abra left
mberends There were bitrot cases in my code. Rakudo improvements and workarounds have improved the bitrot situation, there is almost no need for regression parrots today. 08:18
08:18 DemoFreak joined
masak ack. 08:18
mberends but we should support PARROT_DIR for whatever needs may arise 08:19
masak definitely.
mberends is it true that RAKUDO_DIR can still be only PARROT_DIR's direct parent or grandchild? 08:20
masak thinks so
moritz_ unless parrot is installed, of course 08:21
masak and proto doesn't as yet support the former.
(but will)
mberends then is it not better that we specify only RAKUDO_DIR instead of PARROT_DIR?
masak mberends: we will specify both. 08:22
mberends: falling back to sane defaults if the latter is not defined.
former*
mberends prefers latter, because proto is a perl6 installer, parrot is just a means to an end 08:23
masak true.
I don't mind either which way, I just have a personal bias towards Rakudo-in-Parrot :) 08:24
mberends support both, as equally as possible
lacking either _DIR, grok it from the other 08:25
dalek kudo: 7f8ba6f | (Moritz Lenz)++ | (5 files):
Merge branch 'move_split_to_any_str'
masak mberends++
mberends btw, it feels funny writing perl5 again, a bit like using Windows 2000 08:29
masak I have to scratch my head and add parens a lot after 'if' and 'for'. 08:30
and sometime's I'm all "these regexes suck. where's my AST?" 08:31
pugs_svn r25542 | lwall++ | name whackage of various sorts
08:31 ejs left
Matt-W Morning 08:32
masak Matt-W: y0
Matt-W I've been having trouble with Form :(
diakopter greets the world's other side from the dark side
moritz_ "come to the dark side, we have Perl 6" ;-)
masak oh, speaking of ASTs -- anyone who nopastes a Rakudo script that produces an AST of itself (using STD) wins ten internets. 08:33
moritz_ masak: shouldn't be too hard, after all run() is implemented in Rakudo ;-)
masak Matt-W: please share them, and we might help you or taunt you, depending :)
moritz_: enough talk. show me the code. :)
diakopter but the AST, parsed as a tree, or plain yaml 08:34
masak diakopter: whichever.
parsing in Perl 6 is easy.
diakopter run(), like moritz_ said (first)
Matt-W masak: github.com/mattw/form/tree/master try not to laugh at my attempt at an (incomplete) grammar, run test.pl, see the null PMC access, wonder why
diakopter moritz_: you can have all ten internets. 1 is enough for me. 08:35
masak Matt-W: ok. hold on.
masak ponders whether to download Form via github, or just add it to proto 08:36
aw, what the heck. :) I'll need to add it to proto sooner or later anyway. :)
Matt-W as long as it doesn't encourage *too* many people to laugh at my attempt to use Perl 6 rules
But I was getting excited that I had a grammar that might parse some of the simple text field types 08:37
and I wanted to test it
and then boom, null PMC accesses all over
masak ./proto install form # FTW!
Matt-W and that's after commenting out some other stuff that broke for no reason I could figure out :(
masak Matt-W: first point on the agenda: please put Form.pm in a lib/ 08:38
it's the de facto standard.
Matt-W okay
masak Matt-W: re bottom_aligned_field and centre_aligned_field, I don't think ^ and $ work like you seem to think. 08:39
they match beginning and end of the entire _string_, respectively. 08:40
Matt-W yup
masak well...
Matt-W that string being the substring that was matched by the rule that called them
moritz_ ^^ and $$ are line beginnings/ends
masak that means that as they stand, they'll never match.
Matt-W: no, the _entire_ string.
Matt-W wtf? 08:41
masak IIUC.
Matt-W that doesn't make any sense
masak sure it does.
Matt-W wibble
okay
comprehension dawning
brain inserted sideways
masak anyway, going to repr your NPMCA
Matt-W doesn't explain the null pmc access though :P 08:42
masak nope.
08:42 szabgab left
masak Matt-W: hm, you're getting it during compilation. 08:42
Matt-W needs to think of these things more like EBNF grammars
masak which means that you've probably discovered something in Rakudo. 08:43
moritz_ rakudo: sub m(&f) { "a" ~~ m/<f>/ }; m(regex { a })
p6eval rakudo 7f8ba6: OUTPUT«Statement not terminated properly at line 1, near "a })"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
moritz_ rakudo: sub m (&f) { say "a" ~~ m/<f>/ }; m(/a/) 08:44
p6eval rakudo 7f8ba6: OUTPUT«Unable to find regex 'f'␤Null PMC access in invoke()␤current instr.: 'parrot;PGE;Grammar;' pc 390 (EVAL_16:161)␤»
TimToady note that f is a method, not a sub
moritz_ why?
masak Matt-W: ah.
Matt-W: there's no Form::Format.
TimToady it's a method on the current match state
masak Matt-W: please submit a rakudobug. 08:45
moritz_ TimToady: so how do I pass a regex es a sub?
masak "calling parse on a nonexistent grammar..."
moritz_ rakudo: sub m (&f) { say "a" ~~ m/<f>/ }; m(regex { a })
TimToady you can pass a method name
p6eval rakudo 7f8ba6: OUTPUT«Statement not terminated properly at line 1, near "a })"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
masak Matt-W: I'll see if I can submit a patch for you.
TimToady then match <$f>
moritz_ rakudo: sub m (&f) { say "a" ~~ m/<f>/ }; regex outer { a }; m(&a)
p6eval rakudo 7f8ba6: OUTPUT«Null PMC access in isa()␤current instr.: '!SIGNATURE_BIND' pc 2559 (src/classes/Signature.pir:377)␤»
Matt-W masak: so it's because I'm trying to get at it via the module namespace and that's not working yet?
TimToady though maybe not in PGE 08:46
masak Matt-W: I'm not sure that will work.
Matt-W: but I might be wrong.
Matt-W hmm
it was kind of a guess
but still, 'null PMC access' is not a helpful error message
08:46 Eevee_ joined
masak no, that's just wrong. 08:46
moritz_ anyway, the Null PMC access certainly is a bug ;-)
masak heh. when I fix it, I get another. :) 08:47
moritz_ rakudo: sub m (&f) { say "a" ~~ m/<f>/ }; regex outer { a }; m(&outer)
p6eval rakudo 7f8ba6: OUTPUT«Unable to find regex 'f'␤Null PMC access in invoke()␤current instr.: 'parrot;PGE;Grammar;' pc 388 (EVAL_18:160)␤»
TimToady I think parrot should just put out one error message: Something's wrong somewhere
masak rakudo: class A {}; A::B.parse("")
p6eval rakudo 7f8ba6: OUTPUT«Null PMC access in invoke()␤current instr.: '_block14' pc 60 (EVAL_20:39)␤»
Matt-W TimToady: Polly lost her cracker error 08:48
masak Matt-W: there's your minimal demonstration.
Matt-W except that my grammar actually exists
masak Matt-W: yes, but not under the name you call it.
Matt-W Need to know if that's supposed to work 08:49
masak Matt-W: please submit a bug report regardless. :)
08:49 Eevee left
Matt-W yes, it's clearly handling the not-existing case wrong 08:49
even if the not-existing case shouldn't apply
08:49 Maghnus- joined
Matt-W is it perl6-bugs? 08:50
masak [email@hidden.address] 08:51
Matt-W ahah
not done that for a while :)
I'll fix the rules up this evening 08:52
having now comprehended what you mean
moritz_ Matt-W: when writing rules or grammars you should start *very* simple, and test after each step 08:53
masak Matt-W: I'll leave a patch for you to merge in.
Matt-W I was staying simple... compared to what comes later anyway
but yes, you're probably right
masak Matt-W: also, may I recomment putting tests in a t/ directory, and using Test.pm from Rakudo? :)
Matt-W yes I'm going to do that
eventually 08:54
moritz_ the error messages usually aren't all that helpful, so the incremental approach is rather important
Matt-W I had a couple initially which I figured out as complaining that I wasn't using = properly
had forgotten it's a metacharacter
moritz_ I usually quote all literals in rules, even if they aren't metacharacters 08:55
at least when I write grammars
Matt-W I'm kind of leaning that way myself
I think it makes things clearer
especially with all the lovely whitespace we get now
08:57 carpftb_ joined, samlh_ joined 08:58 carpftb left
masak rakudo: grammar A::B { regex TOP { foo } }; A::B.parse("") 09:03
p6eval rakudo 7f8ba6: OUTPUT«Null PMC access in get_string()␤current instr.: 'parrot;PGE;Match;new' pc 196 (compilers/pge/PGE/Match.pir:128)␤»
masak Huston, we have a problem.
masak submits rakudobug
Matt-W another one?
masak Matt-W: yup.
Matt-W not a good hour for the bug stats
masak that was the one I got when fixing your first bug. :) 09:04
moritz_ www.perlmonks.org/?node_id=746193 "It's soooo good, that surgeons have no //g flag implemented..."
masak Matt-W: you kidding? it's a great hour. :)
Matt-W: I'll try to work around that one as well, so you have something to start from this evening. 09:05
Matt-W moritz_: :D
moritz_ rakudo: grammar A { TOP { <b> }; token b { 'b' }; }; grammar B is A { token b { 'c' } }; say B.parse('b'); say B.parse('c')
p6eval rakudo 7f8ba6: OUTPUT«Could not find non-existent sub TOP␤current instr.: 'parrot;A;_block20' pc 186 (EVAL_20:68)␤»
moritz_ that also looks like a bug, doesn't it?
moritz_ submits 09:06
Matt-W hmm I don't know how grammar inheritance works, but yes I think so
09:07 Maghnus left, Maghnus- is now known as Maghnus
masak moritz_: just 'TOP'? not 'regex TOP' or something? 09:07
does that work?
Matt-W hmmm why does my bug report show up in rt as from 'matthew@' when masak's is 'cmasak at'
moritz_ uhm. 09:08
rakudo: grammar A { token TOP { <b> }; token b { 'b' }; }; grammar B is A { token b { 'c' } }; say B.parse('b'); say B.parse('c')
p6eval rakudo 7f8ba6: OUTPUT«␤c␤»
moritz_ rejects his own ticket 09:09
Matt-W oh
heh I just spotted the difference
moritz_ rakudo: grammar A { regex TOP { <b> }; token b { 'b' }; }; grammar B is A { token b { 'c' } }; say B.parse('b'); say B.parse('c')
p6eval rakudo 7f8ba6: OUTPUT«␤c␤»
09:09 samlh left
moritz_ rakudo: grammar A { regex TOP { <b> }; token b { 'b' }; token c { 'c' }}; grammar B is A { token TOP { <c> } }; say B.parse('b'); say B.parse('c') 09:21
p6eval rakudo 7f8ba6: OUTPUT«␤c␤»
masak Matt-W: found a third one. 09:24
Matt-W what fun!
masak rakudo: module A { grammar B { regex TOP { foo } } }; "foo" ~~ /<B::TOP>/ 09:25
p6eval rakudo 7f8ba6: OUTPUT«Null PMC access in get_string()␤current instr.: 'parrot;PGE;Match;new' pc 196 (compilers/pge/PGE/Match.pir:128)␤»
masak submits rakudobug
oh.
Matt-W: seems you were right after all. 09:26
moritz_ rakudo: module A { grammar B { regex TOP { foo } } }; "foo" ~~ /<A::B::TOP>/
p6eval rakudo 7f8ba6: RESULT«Method 'perl' not found for invocant of class 'Match'␤current instr.: 'parrot;P6metaclass;dispatch' pc 299 (src/classes/ClassHOW.pir:153)␤»
moritz_ rakudo: module A { grammar B { regex TOP { foo } } }; "foo" ~~ /<A::B::TOP>/; say "alive"
p6eval rakudo 7f8ba6: OUTPUT«alive␤»
masak exactly.
that's how a grammar in a module is called.
masak--
Matt-W++
Matt-W woohoo 09:27
I would have been surprised if that had been wrong, how else would you reach into a module's namespace?
masak Matt-W: now your test.pl runs on my machine. 09:28
I'll try to push to github.
Matt-W whee
I bet it doesn't match though :)
thanks masak 09:29
that should help with the evening's enthusiasm :)
masak Matt-W: correct. it doesn't match.
Matt-W: and the diagnostics suck because you're not using Test.pm :P
Matt-W one thing at a time!
I did that this morning between getting up, making lunch and going to work 09:30
Didn't have time for scaffolding
masak I understand. no prob. 09:31
Matt-W Maybe I'll move it over tonight
masak I sure hope so. :P
Matt-W and yes I'll stick the .pm in lib/
masak and the tests in a t/ 09:32
Matt-W yes
there's already a t/ on my local copy actually
but it's empty...
masak (it helps us proto people to have things in their place)
Matt-W oh sure, sure
make sure you write that up somewhere
masak Matt-W: oh, good idea. :) 09:34
that should go somewhere in the proto repository, and in a blog post.
my blogging is on indefinite hold right now, pending 'real life decrazification'. 09:35
Matt-W pfft
blogging about perl 6 is too important :)
maybe I'll dust off my blog and start writing about Form
masak that sounds like a very good idea. 09:36
yes, I should prioritize blogging more.
it's fun, and it draws people's attention.
09:37 cai left
Matt-W anything I have to say day to day for me tends to go on twitter 09:38
so about the only things I blog about now are things I've cooked and concerts I've been to
09:39 maerzhase joined 09:40 maerzhase left 09:41 ZuLuuuuuu joined
masak Matt-W: Form is a thing you've cooked. 09:41
programs are recipies.
Matt-W no
Form is a recipe I'm still designing
09:41 ZuLuuuuuu left
Matt-W a thing I've cooked is the chicken curry I'm going to make for dinner tonight 09:41
well
a thing that I will cook
and it will hopefully be a lot easier 09:42
my perl 6 hasn't yet got to the point of 'put chicken in pan, add delicious spices'
masak it will, it will. 09:43
09:47 samlh_ left 09:51 mberends left
jnthn OH MORNING 09:52
masak I CAN HAZ A GOOD MORNING?! 09:53
jnthn BUT CAN YOU HAZ A CHEEZBURGER?
moritz_ cheezburgerz are overrated ;-) 09:55
masak not lunchtime for another hour, I'd say.
Matt-W two hours here
i has a boiled egg
masak theurf.wordpress.com/2008/06/29/animals/
Matt-W speculates on the prospect of egg curry 09:58
jnthn Matt-W: My local curry house claims to do one. I love curry, but don't really like egg, so never did try it...
masak: Nice! :-) 09:59
Matt-W jnthn: I went to a gig once where their (vegetarian) alto flautist was waxing lyrical about the egg curry she'd had at a restaurant across the road just beforehand
masak I don't particulary like the rest of that webcomic, but that strip is very nice.
10:03 alexn_org joined
jnthn switches to master and re-builds 10:09
It is rather nice having various branches and not having to change directory.
Just git checkout...which is fast. 10:10
jnthn is slowly starting to be won over
moritz_ has reached that stage about a week ago 10:13
and since I have no internet access at home until March 3rd, I appriciate the offline working stuff even more :-) 10:14
masak jnthn, moritz_: what you're going through is so 2008 :P
moritz_ ;-) 10:15
jnthn masak: :-P 10:16
Wow, p6l is a busy place again these days.
moritz_ indeed 10:17
I gave up reading all of the mails
jnthn OK, anyone got any high-priority tickets?
Matt-W { make $thing } please :) 10:18
jnthn Matt-W: Inside regex? 10:19
Matt-W yes
jnthn I think that's one pm has his sights on, or at least knows how he wants to do... 10:20
moritz_ jnthn: I've worked around the mmd bug I discovered yesterday, so that's not high priority anymore 10:21
jnthn moritz_: What was your workaround?
Matt-W jnthn: okay, I'll nag him instead
moritz_ jnthn: I just installed the sub version of split() in the setting as well...
masak jnthn: if there's any way you can fix [perl #62730], or wake the people who can, that'd be much appreciated.
moritz_ jnthn: it was a slightly different bug that only occured when the method call was triggered from PIR
masak apart from that, I'm not blocked by anything right now. just small workaroundable stuff. 10:22
jnthn Matt-W: Yes, you can at least get a better idea of when it might be done...
moritz_: Ah, the problem was that it wasn't being exported properly?
10:23 mberends joined
moritz_ jnthn: no 10:24
there was a pir sub with two params a and b that called b.'split'(a)
and that caused a parameter type check failure (perhaps due to MMD gone wrong)
even though there was a split variant that accepted Any as first parameter 10:25
doing the same thiing in Perl 6 ($b.split($a)) worked, so that's what I did
jnthn masak: Hmm...that bug is claimed to be fixed... 10:26
masak oh, good.
jnthn I mean, at a Parrot level
masak that must have happened after #ps yesterday.
moritz_ but I don't think Hash.new("a" => "b") is actually legal
jnthn So let me try and do what Rakudo needs to take advantage of the Parrot fix...
moritz_ because it's a positional argument 10:27
and Hash.new probably only accepts named ones
masak jnthn++
jnthn Is it?
moritz_ rakudo: Hash.new("a" => "b").perl.say
p6eval rakudo 7f8ba6: OUTPUT«{}␤»
moritz_ rakudo: Hash.new(a => "b").perl.say
p6eval rakudo 7f8ba6: OUTPUT«{}␤»
jnthn Oh, that's not dying epicly.
rakudo: sub foo(:$a) { say $a }; my $x = 'a'; my $y = 42; foo($x => $y); 10:28
p6eval rakudo 7f8ba6: OUTPUT«a 42␤»
moritz_ rakduo: multi f($x) { say "positional" }; multi f(:$x) { say "named" }; f(a => 3); f("a" => 3 )
masak rakudo: ub foo(*%h) { say %h.perl }; sub bar(*%h) { foo(|%h) }; bar( :a(1) ) # this problem remains, however.
p6eval rakudo 7f8ba6: OUTPUT«Statement not terminated properly at line 1, near "{ say %h.p"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
masak ooops.
rakudo: sub foo(*%h) { say %h.perl }; sub bar(*%h) { foo(|%h) }; bar( :a(1) ) # this problem remains, however. 10:29
moritz_ rakduo: multi f($x) { say "positional" }; multi f(:$a) { say "named" }; f(a => 3); f("a" => 3 )
p6eval rakudo 7f8ba6: OUTPUT«argument doesn't array␤current instr.: 'foo' pc 83 (EVAL_17:50)␤»
moritz_ rakudo: multi f($x) { say "positional" }; multi f(:$a) { say "named" }; f(a => 3); f("a" => 3 )
p6eval rakudo 7f8ba6: OUTPUT«named␤positional␤»
moritz_ after only the third attempt
jnthn Heh, wtf.
That looks wrong....
moritz_ what?
jnthn "a" => 3 is a pair and should just be a named parameter, no? 10:30
moritz_ no
not all pairs are named
masak lunch
jnthn Oh?
Synopsis ref?
moritz_ doit when => 'now',1,2,3; # always a named arg
doit 'when' => 'now',1,2,3; # always a positional arg
S06/Named argumets/
jnthn Wow 10:31
OK.
10:34 mberends left
Matt-W confusing, I thought 10:38
moritz_ not really 10:39
rakudo: multi f($x) { say "positional" }; multi f(:$a) { say "named" }; f(a => 3); f(|("a" => 3) )
Matt-W but then since named parameters have to be identifiers anyway...
p6eval rakudo 7f8ba6: OUTPUT«named␤elements() not implemented in class 'Perl6Pair'␤current instr.: '_block14' pc 111 (EVAL_16:50)␤»
moritz_ found a bug 10:40
Matt-W: yes
Matt-W: I wouldn't know which syntax to use to declare non-identifier named params anyway
Matt-W I don't think you can
the syntax ensures it'll always be an identifier 10:41
very cunning
10:52 samlh joined 10:53 revdiablo left 10:55 Ariens_Hyperion joined 11:06 c9s left 11:09 pmurias joined
pmurias is a role "punned" once, every time it's used as a class or is the "punned" class closed and it doesn't matter 11:10
jnthn rakudo: class A {}; class D { has A $!a; method foo { say $!a === A } }; D.new.foo
p6eval rakudo 7f8ba6: OUTPUT«0␤»
jnthn pmurias: Once per set of type parameters. 11:11
pmurias: Roles are immutable.
11:11 c9s joined
jnthn (Though monkey-patching a pun is evil...I think it'd have global effect though...) 11:12
pmurias jnthn: shouldn't it be forbidden?
with use more <evil cpu>; required to make it work? 11:13
jnthn You already have to use MONKEY_PATCHING anyway.
Don't see a reason to forbid it if htat's in effect. 11:14
You've already declred you're being sick and evil up front. ;-)
pmurias is changing classes using the metaclass instance allowed without MONKEY_PATCHING? 11:17
11:17 Ariens_Hyperion left
jnthn I guess that'd be up to the metaclass? 11:18
But I don't know the answer for the default one...
11:22 alc left, Ariens_Hyperion joined
wayland MONKEY_PATCHING++ :) 11:32
jnthn *finally* works out a fix for 62902 11:38
11:39 xinming left
wayland TimToady++ for S28 edits :) 11:42
11:46 s1n joined
masak thinks that the @F -> @_ change is a bit unexpected 11:47
but maybe I don't see that whole picture there.
jnthn++ # 62902
11:47 masak left
jnthn Well, ouch. 11:49
jnthn sees random hangs during the spectests at exit.
I suspect the Parrot destruction ordering bug...
11:56 wayland left 11:57 wayland_ joined
pugs_svn r25543 | wayland++ | S28: Removed all the old stuff except a few bits that are probably going to be useful in 11:58
r25543 | wayland++ | other specs; these can be removed later.
s1n seems spectest crashed my box last night 12:00
pugs_svn r25544 | wayland++ | Added S28 link 12:01
jnthn s1n: Does that count as failure? ;-) 12:02
s1n: I'm seeing some issues here too... Seems hangs at exit etc.
pugs_svn r25545 | wayland++ | A few minor fixes 12:03
12:06 ashizawa left
wayland_ masak: The @F -> @_ was presumably driven by a) the fact that @_ was no longer in use, and b) Larry for some reason wanting to get right of @F (I think he's managed to get rid of all of the named magic variables except those with twigils) 12:06
pugs_svn r25546 | jnthn++ | [t/spec] Test for RT#62902. 12:07
wayland_ It's partly my fault, for requesting a shorter replacement for @F than @INLINE_WHATEVER
dalek kudo: d912db6 | jnthn++ | src/classes/Protoobject.pir:
Make proto-objects respond more correct to WHICH, which fixes === on proto-objects and thus resolves RT#62902.
pugs_svn r25547 | jnthn++ | Test that .isa can be called on a variable holding * (since * isa Any). 12:09
dalek kudo: 23e8e02 | jnthn++ | src/classes/Whatever.pir:
Whatever isa Any, not Object (per S02).
12:12
12:16 ispy_ joined
s1n jnthn: i consider crashing my computer while testing the language a pretty big failure 12:18
as soon as i can track it down, i'll report a problem 12:19
but i can't run the full suite in the mean time
work&
pugs_svn r25548 | jnthn++ | [t/spec] Add some passing tests for assigning enum values and using the enum name as a type constraint; we used to have bugs relating to this, but they probably went away when the type registry was added.
dalek kudo: 798236b | (Moritz Lenz)++ | build/Makefile.in:
since t/harness now uses ./perl6, we should depend on it for 'make spectest'
12:20
jnthn moritz_: Ah, we use perl6 executable now? 12:21
That's probably the new issues s1n and I are seeing.
pmurias wayland_: what do you mean by "@_ was no longer in use"? 12:22
moritz_ jnthn: that's how I interpret the line "$ENV{'HARNESS_PERL'} = './perl6';" in t/harness 12:23
pugs_svn r25549 | jnthn++ | [t/spec] An un-fudge for min=, which I must have forgot to commit last week. 12:24
wayland_ pmurias: Well, it may've been in use, but in the draft version of S28, something I got from somewhere seemed to indicate that it wasn't. But I could be wrong :)
dalek kudo: bad46f7 | (Moritz Lenz)++ | build/Makefile.in:
[build] 'make test' should also depend on the fake executable
wayland_ Or maybe I'm just confused again :)
jnthn moritz_: Ah, OK.
12:32 SamB left
jnthn std: my (*@) = 1,2,3 12:33
p6eval std 25549: OUTPUT«ok 00:02 34m␤»
12:33 SamB joined 12:42 mberends joined 12:47 mberends left 12:59 pmurias left 13:10 Ariens_Hyperion left
literal S28 says that Perl 5's @F corresponds to Perl 6's @_ 13:10
that's not right, is it? 13:11
13:12 ruoso joined
ruoso Helloo 13:13
literal oh, nm
Matt-W hey ruoso 13:14
13:18 abra joined 13:21 skids left
moritz_ literal: why should it be wron? 13:27
*wrong
literal because I thought @_ was just for sub args 13:34
13:35 ejs2 joined
moritz_ so the command line processor treats the main program as the body of a sub 13:35
and passes the arguments in as @_
literal yeah 13:36
13:36 ejs1 left
moritz_ rakudo: my @x = <k 4 u>; say @x[*] 13:41
p6eval rakudo bad46f: OUTPUT«k4u␤»
moritz_ pmichaud: to re-enable parallel testing we'd have to require (or ship) TAP::Harness >= 3.0... would that be acceptable? we could also keep two versions of the harness (which would be bit ugly...) 13:47
Matt-W oh *that*'s what the * means 13:48
I like that
Matt-W read the appropriate part of S02 13:49
moritz_ * means "whatever" ;-)
Matt-W yes I know that now 13:50
moritz_ actually it's very versatile and context-dependent
wayland_ Matt-W: I'm writing S28, and there's some stuff down the bottom that will need information from Form.pm
moritz_ *-2 turns into the closre { $_ - 2 } for example 13:51
wayland_ I'm currently editing S28, and would appreciate no edit conflicts at this time
moritz_ which allows the magic of using @array[*-1] for accessing the last element
wayland_ But I'm happy to either let you do it yourself, or help with it a bit later :)
ruoso not being able to follow all the traffic in the list... I don't remember having so much trafic in p6l... 13:53
wayland_ ruoso: Are you planning to answer my tree question on the list? It's in "Two questions; one about adding roles to classes, the other about trees." 13:54
I'm currently only skimming the time/date stuff, but I'm getting carried away on some of the other specs. Hopefully this should die down in a week or two :)
ruoso wayland_, it might be possible that I didn't see the questions 13:56
pugs_svn r25550 | hinrik++ | [util/perl6.vim] fix nesting of angle strings to allow stuff like :term<C<:nested>> 13:58
ruoso wayland_, Ok... I'm trying to catch up on things, so I'll answer right here...
pugs_svn r25551 | moritz++ | [t/spec] a few unfudges found by autounfudge
ruoso wayland_, the Perl 6 meta api is very much powerfull, and can do whatever you could do by writing code
in fact...
every code in the end must result to meta api calls
so yes, you can change Class::A to also do Role::B 13:59
it's just a matter of calling
Class::A.^compose_role(Role::B)
or something like that
moritz_ rakudo now passes 7024 tests 14:00
nice number of the first release ;-)
ruoso wayland_, but that is considered "monkey patching", and a bad practice
you probably want to do something like
my $other = Class::A.clone(); $other.^compose_role(Role::B); 14:01
wayland_, now to the second question... 14:02
the reason of why you don't need a Tree role to have a Tree matching language is precisely the power of the Perl 6 Meta API
you don't need a method to traverse the objects 14:03
pugs_svn r25552 | moritz++ | [spec] set svn props on S32/*.pod
ruoso because you can just use the object methods
jnthn moritz_: I'm about to get us a few more too. ;-) 14:04
ruoso and you can introspect the objects to see if they can do that method
jnthn moritz_: Annoying though, make spectest hangs for me in various places. :-(
Or just $obj.?method which gives an undef if the method doesn't exist. :-) 14:05
ruoso I think XPath is a very interesting approach to that 14:06
you can think on each method you can call on the object as the different "axes" of the lookups
in YAPC::EU::2007 we even came to the realization that XPath is enough to do any arbitrary tree matching 14:08
wayland_, does that answer your questions?
pugs_svn r25553 | jnthn++ | [t/spec] Fudge a dubious test that I'm about to make fail - the statement about what it tests doesn't seem to match STD.pm so I suspect it's wrong anyway. Review and discussion encouraged. :-) 14:10
14:10 ejs2 left
pugs_svn r25554 | jnthn++ | [t/spec] Unskip various list assignment tests that we now can parse/run thanks to supporting bare sigils in signatures, and add some for my (@*) = ... 14:12
jnthn I do think it sucks in git, that you have to pull before pushing, even if you did not change any of the files that are affected in what you pull at all... 14:13
...maybe there's a good reason that I don't understand yet, though.
ruoso jnthn, I think it's to make sure you know what you're doing 14:14
14:15 [particle] left
Matt-W jnthn: subversion requires you to have an up-to-date checkout in order to commit, so it's no different really 14:15
I rather like having it, it's like a safety latch so that you can at least pretend to know that you're not going to breakingly clash with someone else's changes 14:16
jnthn Matt-W: No, only if there are files you have changed that somebody else has.
14:16 [particle] joined
Matt-W jnthn: really? Fair enough. I still don't mind though. 14:16
dalek kudo: a5bad9a | jnthn++ | src/parser/ (2 files):
Allow bare sigils in a signature, which gets some more spectests passing, resolves RT#63146 and brings us another tiny step closer to STD.pm.
kudo: dfe942d | jnthn++ | build/Makefile.in:
Merge branch 'master' of [email@hidden.address]
14:21 Porsbo_ joined
wayland_ ruoso: Pretty much. Thanks muchly. I may have some more questions when I actually get around to implementing the tree stuff, but I think you've convinced me it's not necessary for the File IO stuff -- maybe :). I'll have a good solid look at that in a day or two. 14:23
14:25 skids joined, abra left
jnthn Does anyone else get hangs or SEGV during rakudo's make spectest at the moment? 14:26
pugs_svn r25555 | wayland++ | S28: Added some more variables drawn from other documents, and added some notes about 14:30
r25555 | wayland++ | confusing bits.
14:31 Porsbo left
dalek kudo: f9b9041 | jnthn++ | src/classes/List.pir:
Fix zip operator when there's a list containing a range on one side. Patch courtesy of bacek++.
14:39
pugs_svn r25556 | jnthn++ | [t/spec] Unfudge test for zip operator that now passes.
14:42 ejs joined
wayland_ everyone++ 14:43
coders++
Goodnight all :)
14:43 pmurias joined
pugs_svn r25557 | wayland++ | Added Draft status to S31 14:45
pmurias ruoso: is monkey patching a class using the metaclass object legal when MONKEY_PATCHING is not in scope? 14:47
ruoso I guess so 14:48
14:48 alester joined
pmurias ruoso: doing that on a punned class would have especially nasty consequences 14:49
ruoso pmurias, I think "use MONKEY_PATCHING" is just there to dehuffmanize "is also"
pmurias, indeed... but RoleFoo.^something wil l 14:50
gah
pmurias, indeed... but RoleFoo.^something will change the role itself, not the punned clas 14:51
I'm not even sure there is a way to get the punned class protoobject
pmurias you can get the punned class metaclass instance easily 14:52
RoleFoo.new.HOW
ruoso then you're getting the HWO
HOW
not the punned class
jnthn Question is, after declaring a role Foo { } can you then say class Foo is also { } to monkey patch the punned class?
role Foo is also { } makes no sense - roles are immutable. 14:53
Matt-W jnthn: you're making my head hurt
jnthn But if "core types" are roles *and* you're meant to be able to monkey patch them then I would think that this has to work.
Matt-W it's conceivably workable 14:54
pmurias ruoso: RoleFoo.new.^add_method(...)
ruoso pmurias, then you're adding a method to the new object instance, not to the punned class
jnthn Aye. 14:55
Since calling .new instantiated the punned class.
ruoso jnthn, I think you can Role.^add_method, can't you?
it won't change the classes where that role was already composed into
jnthn ruoso: Roles are meant to be immutable...I guess it's hard to enforce... 14:56
I think as we have it today it wouldn't change the classes the role was already composed into in Rakudo.
But it could cause other weirdness. 14:57
14:57 ejs1 joined
jnthn Part of me thinks that if people want to go screw with the metamodel and do stuff like that, we can just put a big "might have undefined effects" sticker on it. ;-) 14:58
ruoso I'd be ok with it 14:59
14:59 Tene_ joined
ruoso but it could also be a flag for pessimizations 14:59
15:03 arthurium_ joined 15:04 arthurium_ left, nihiliad joined 15:07 mncharity joined
mncharity pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~300 days 'til Xmas 15:08
ejs left
ruoso mildew: say 3 15:09
p6eval mildew: OUTPUT«3␤»
mncharity pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: "perl6: say 3;" (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~300 days 'til Xmas 15:09
mncharity ruoso: is there a mildew status page/report somewhere? 15:09
btw, hi :)
ruoso there is a test suite ;) 15:10
15:10 Tene left
mncharity um, something linkable? an intro page? 15:10
ruoso pmurias could set one up on the perl6 wiki
mncharity be nice to have something to point folks at 15:11
diakopter erm .. I just noticed the "300 days 'til Xmas" in the channel topic... isn't that a bit misleading? 15:12
jnthn The calendar suggests not... 15:13
;-)
diakopter heh.. 15:14
15:16 mncharity1 joined
mncharity1 back. sigh. 15:17
pmurias ruoso: i'm not really sure what should i fill in it that page
s/it/in/
ruoso pmurias, a summary of the implemented features
and known ceavets
moritz_ what is mildew, where to get it, what's implemented, what the next steps are 15:18
mncharity1 pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: "perl6: say 3;" (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | Rakudo.org <insert mildew link here> perl.net.au/wiki/Elf |~300 days 'til Xmas 15:18
15:19 cas joined
pmurias www.p3rl.org/smop is the current smop page 15:19
mncharity1 rakudo, mildew, elf. I've not been watching the commit or irc logs... any other activity?
pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: "perl6: say 3;" (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | Rakudo.org www.perlfoundation.org/perl6/index.cgi?smop perl.net.au/wiki/Elf |~300 days 'til Xmas 15:20
pugs_svn r25558 | jnthn++ | [t/spec] Test for .parse on namespaced grammar. 15:21
pmurias mncharity1: STD doesn't have a web page 15:22
15:22 masak joined
ruoso pmurias, just add a page to the perl6 wiki... 15:23
dalek kudo: 59fcc4e | jnthn++ | src/classes/Grammar.pir:
.parse needs to pass along the fully qualified name of the grammar to PGE. (.WHO should make this easier in the future, OTOH maybe PGE needs to change and take the grammar class itself, so it can handle anonymous grammars too). Either way, this resolves RT#63462.
15:24
Matt-W jnthn++
mncharity1 re no STD page, hmm. anyone know TimToady's vision/plan/trajectory? hmm, though rakudo/mildew/elf is something folks can run. STD's main interest for folks not actually working on p6 may be simply its existence? 15:26
pmurias ruoso: my $how = RoleHOW.new();my $proto = $how.CREATE;$proto.^!how = $how; is the correct way to create a protoobject? 15:27
mncharity1 pugscode.org/ planetsix.perl.org/ perlcabal.org/svn/pugs/log feather.perl6.nl/syn/ | nopaste: sial.org/pbot/perl6 | evalbot: "perl6: say 3;" (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | Rakudo.org www.perlfoundation.org/perl6/index.cgi?smop perl.net.au/wiki/Elf |~300 days 'til Xmas 15:28
mncharity1 left
ruoso pmurias, you don't need to call new on RoleHOW 15:28
15:28 mncharity1 joined
ruoso it's just $proyo.^!how = RoleHOW 15:28
15:28 mncharity left
masak mncharity1: yes, I think STD's main interest for folks not implementing p6 might be its existence. it's a nice proof-of-concept of self-hosting. 15:29
pmurias STD is not self-hosting
mncharity1 Feel free all to prune back that /topic. doesn't have much space left for "topical message of the day". 15:30
ruoso not yet, at least
;)
moritz_ maybe we should have a common page that links to all Perl 6 projects
mncharity1 idea++
moritz_ and link only to that, so that we have more space in the topic
masak pmurias: oh. I had the impression it was. well when it will be, it will be a nice proof-of-concept of self-hosting. :) 15:31
mncharity1 somewhere anonymously editable ideally. else the risk of an n+1'th not quite up to date page.
diakopter well, there's SVN, which is fairly close to anonymously editable 15:32
pugscode svn...
moritz_ I'm currently taking care of a good domain name
and then i'll pull from pugs svn
pmurias masak: it will be a nice production quality Perl 6 grammar in the even more far of future 15:33
15:33 ejs1 left, ejs1 joined
pmurias ruoso: re lack of new were do we store the roles methods than? 15:33
ruoso in the protoobject 15:34
of the role 15:35
mncharity1 SVN != anonymously editable. Want property of "person asks question", "given answer, and asked to update question page foo". thus first contribution, slippery slope, etc. SVN is... get cookie, svn sync (potentially looonnng the first time), etc.
15:35 hercynium joined
mncharity1 perl.net.au/wiki/Perl_6 ? 15:35
perl.net.au/wiki/Perl_6#External_Links ?
moritz_ that's not an URL I can remember 15:36
mncharity1 that's what /topic is for :)
moritz_ ;-)
mncharity1 tinyurl.com/am7akn 15:37
ruoso pmurias, SMOP tends to more of a prototype-based OO than plain class-based OO
mncharity1 perl.net.au/wiki/Perl_6#Some_section_name_here 15:38
p6 tends to more of a prototype-based OO than plain class-based OO :) 15:39
ruoso mncharity1, rakudo disagree 15:40
;)
moritz_ but rakudo doesn't do much meta-OO yet
mncharity1 not that elf isn't completely fudging that. hmm, perhaps need a name for the "the non-existent compiler which elf is intended to permit being written".
jnthn ruoso: Rakudo just follows S12, which says the standard metaclass provides a fairly standard class based model. ;-) 15:41
ruoso jnthn, yeah... I know... that's why I said that "SMOP tends to a ..."
jnthn :-) 15:42
mncharity1 would love to have more p6 being written... anything on the "you can write rakudo prelude in p6" front?
ruoso I tend to read that phrase in the spec in a more relaxed sense
jnthn mncharity1: Yes, you can now do that.
moritz_ mncharity1: yes, we have prelude now
mncharity1 ooo, link? anything there?
jnthn See src/setting/ in Rakudo git repository
moritz_ www.rakudo.org/2009/02/rakudo-built...be-wr.html
jnthn Or that. :-) 15:43
pmurias ruoso: why do we have a non-standard metamodel in smop?
mncharity1 :)
masak moritz_++
jnthn masak: Ain't the double frees damm annoying? ;-) 15:44
masak jnthn: you betcha.
jnthn masak: Do you get hangs sometime at exit too?
masak that's why I went cold turkey with the fakecutable. 15:45
jnthn: sometimes.
jnthn I do...makes me wanna patch it or something...
masak jnthn: uh huh.
pmurias the wikipedia page on self-hosting mentions Perl as being self-hosting should i fix that?
masak pmurias: sure.
mncharity1 re www.rakudo.org, I wonder if there's an easy way to make articles "here's the top, click to see the rest". right now, its a blur looking like a movie script, and rakudo-built-ins-can-now-be-wr is nowhere to be seen...
masak pmurias: be bold! :)
moritz_ mncharity1: just scroll down on the main page 15:46
jnthn mncharity1: Also, we're hoping to move away from movtable type to something that lets us have some more non-blog content... 15:47
mncharity1 oh, there it is. though I stand by "nowhere to be seen". with hint from someone else doesn't count.
PerlJam mncharity1: on the right. in the box that says "Recent Entries"
I'll admit it's not prominent, but it's certainly visible. 15:48
jnthn masak: I've got an *idea* for a patch.
But it's more of a band-aid than a real fix.
pmurias masak: edited, now i just have to win the edit war ;)
alester mncharity1: I'm redoing rakudo.org in Drupal, and that will change a LOT of how it looks.
jnthn alester++ # thanks! :-) 15:49
masak pmurias: good luck. :)
alester Just need to convert the blog entries over and we can og.
masak jnthn: good luck. :)
alester you can look at dru.rakudo.org for the work i'm doing.
masak if anyone wants to do a mini-review of a newborn module... it's one of the nicest things I've written in Perl 6 so far. and it's only half a page long.
mncharity1 prelude note didn't make it to planet? planetsix.perlfoundation.org/
masak github.com/masak/svg/blob/master/lib/SVG.pm
mncharity1 err, planetsix.perl.org/ 15:50
masak mncharity1: what's a "prelude"? :P
mncharity1 www.rakudo.org/2009/02/rakudo-built...be-wr.html
?
hmm, what's a "confused" emoticon... 15:51
masak :-S
moritz_ it's prelude, but we call it "setting" 15:52
mncharity1 PerlJam: ok. my main observation is that meeting notes create high frequency noise which makes scroll scanning the page unusually difficult. at least for me.
PerlJam mncharity1: I agree. 15:53
pmurias catching a train&
literal masak: I just have one comment about the Pod in it. S26 defines semantic blocks(perlcabal.org/syn/S26.html#143710536) for NAME, SYNOPSIS, etc, that you might use (=begin NAME, =end NAME, and so on)
15:53 pmurias left, justatheory joined 15:54 jeremiah_ left
ruoso @tell pmurias there is a lot of features that can be implemented by having this more prototype-based OO 15:54
lambdabot Consider it noted.
PerlJam masak: does it work? 15:55
mncharity1 masak: re SVG, perhaps methods instead of subs to permit derivatives?
jnthn fixes the MMD bug moritz++ found :-)
ruoso @tell pmurias and I do see the spec accepting the different implementations, I don't think it really needs to enforce one way or another... I think it can be up to the implemnetation to decide that...
lambdabot Consider it noted.
moritz_ jnthn: I think we have a ridiculus low number of MMD tests - I guess we have > 200 multi sub dispatch tests, and < 50 multi method dispatch tests 15:56
masak PerlJam: works, but no validation yet.
see Pod at bottom.
mncharity1: not sure that's applicable. 15:57
mncharity1 masak: pretty. :)
masak mncharity1: thank you. :)
PerlJam masak: yeah, I'm not sure why you're using a class even since you seem to be primarily using it as a namespace.
masak PerlJam: me neither.
jnthn moritz_: Aye.
masak but SVG::serialize felt stranger than SVG.serialize
jnthn masak: That looks like a pretty sweet use of gather/take...
PerlJam masak: but the reason I asked if it worked was because that's the first time I've seen someone really take advantage of gather/take.
masak jnthn: aye :)
masak likes gather/take a lot 15:58
moritz_ the .comb and .split methods in the settings also uses gather/take
jnthn And if it works, well, wow. :-)
PerlJam (I haven't done so, so I'm not even sure how capable the implementation is)
masak it works.
jnthn It sometimes scares me what people manage to get Rakudo to do. :-)
moritz_ so that they automatically become lazy once gather/take is lazy
masak :)
PerlJam okay ... I *really* need to look at rakudo again. :) 15:59
jnthn moritz_: Ah, damm...my fix seems to have broken auto-threading...
masak I hope that '[~] gather { ... }' will be optimized a lot in the future.
that's how I build long strings.
PerlJam: you do.
many people do.
moritz_ masak: strings are eager... maybe you want to construct Cat objeccts oncy they are implemented
PerlJam masak: anyway, your code is quite cool. masak++, perl6++, rakudo++ 16:00
masak moritz_: I have no use for the laziness. I just need the low memory overhead.
PerlJam: dziekuje.
jnthn
.oO( What language is dziekuje? )
16:01 eternaleye left 16:02 jabira joined
masak jnthn: Polish. 16:02
should really be 'dziękuje' 16:03
pmichaud good morning
masak pmichaud: OH HAI
16:04 jabira left
mncharity1 github.com/rakudo/rakudo/tree/master/src/setting 16:04
and getting that github did not make straighforward :/ ("closed source mumble grumble mutter...") 16:05
:)
jnthn jnthn-- # multi dispatcher had a memory leak :-( 16:06
pmichaud: morning 16:07
moritz_ jnthn++ # discovering the memory leak
PerlJam jnthn++ # working on the dispatcher :)
mncharity1 Happily, it looks like a lot of src/setting code will run unchanged in elf. But far from all. And I expect the portion will decline with time. Hard to resist using language features. 16:08
moritz_ aye ;-)
masak jnthn++ # working on Rakudo 16:09
I've always wanted a Rakudo, so I'm glad there are people working on it.
mncharity1 When writing chunks of p6 for pugs, there was a key metric: it took something vaguely like a page of code before you had to work around a pugs bug. With more code, more bugs to work around. Which resulted in mid and large scale p6 programming being infeasible in pugs. 16:11
elf lets you write large programs, but accepts a very narrow and not always spec dialect. So it'
moritz_ mncharity1: I wrote some of the setting methods, and I to fight only two rakudo bugs so far... 16:12
jnthn smokes his fix and hopes
mncharity1 s hard to get started, but once you know the idioms, one can write large programs without gotchas.
jnthn moritz_: Was this multi one I'm hacking on now one of them?
mncharity1 any feel for what the state of rakudo is?
moritz_ mncharity1: I missed some features, but bugs aren't so many it seems
jnthn: related, yes 16:13
PerlJam mncharity1: I think that the "not always spec dialect" hurts more than helps. Same with pugs.
moritz_ jnthn: the other one was $str.index("0") not working, which I fixed myself
jnthn oh, moritz++ :-)
Did you add tests too? ;-)
moritz_ jnthn: sure I did
jnthn is happy we broke 7,000. 16:14
mncharity1 PerlJam: given a working p6 like language, it would be straightforward to implement spec p6. a working p6 like language closer to p6 than common-lisp, which maybe modulo rakudo, is as close as exists just now. so, I emphatically disagree. :)
masak we broke 7k? 16:15
\o/
mncharity1 crowd cheers
pmichaud very nice that we broke 7k for the release :-) 16:16
wish I could claim credit for it :-)
moritz_ pmichaud: have you looked at allison's patches for rakudo?
pmichaud moritz_: not in depth -- I knew that we would still be refactoring the build system a bit.
being able to run from an installed parrot isn't a high priority for me at the moment. 16:17
jnthn pmichaud: About the release.
moritz_ ah, I thought it might be, prior to release
pmichaud jnthn: yes?
jnthn spectests are a big mess here :-(
For me.
pmichaud jnthn: in what way?
jnthn Since we moved to use perl6.exe for them...
I get make spectest hanging in various places. 16:18
And various segfaulting.
16:18 Maghnus left
jnthn It's the same issue that causes double frees. 16:18
pmichaud do they hang/segfault if run from the command line?
jnthn Yes.
pmichaud okay, at least that gets us something to diagnose. 16:19
jnthn I've started using perl6.exe pretty much all the time now, not perl6.pbc
pmichaud yes, I've been starting to do the same. Any suggestions or ideas how we might workaround it or fix it?
jnthn It's a Parrot level bug so it needs a Parrot fix...
pmichaud I don't mind going back to doing the parrot invocation. That should be easier now since I've redone t/harness. 16:20
jnthn chromatic will probably go ape at us if we disable full destruction in the fake executables. ;-)
pmichaud I think it'd be more likely he'd fix the bug. :-)
jnthn While running spectests I did just scribble a patch that may prevent the double frees.
I'm waiting for current spectest run to finish. 16:21
And then I'll compile and try it out.
pmichaud okay. If that doesn't work, then I'll revise t/harness so that we can pass it a command to use in lieu of ./perl6.exe
jnthn It might be totally wrong. If it works at all, it's a band-aid...
pmichaud and we can provide that command from the makefile.
jnthn But it might be one that folks are OK with going in.
It is nicer if we can give people a Rakudo that doesn't segfault on exit that they can just invoke as "perl6" 16:22
pmichaud agreed. I plan to keep "perl6" as the default build target, regardless of whether we use it for t/harness.
jnthn Also we have _loads_ of RT tickets where Rakudo gives a reasonable error and only segfaults because of this Parrot issue. 16:23
pmichaud I haven't looked at Parrot's new "load language" facility -- we might be able to get away with copying + renaming parrot.exe to perl6 and having it look in the appropriate place for perl6.pbc . I don't know if that functionality has been implemented yet, though.
jnthn Even so, Parrot still needs to be able to clear up on exit, IMO. 16:24
pmichaud totally agreed -- given how long it's been a problem, I don't have a lot of optimism for an early fix :_)
jnthn The only reason it normally works is because we don't bother trying to free a bunch of allocated memory.
I've only heard it described as the "really hard destruction ordering bug" :-) 16:25
pmichaud and the "copy + rename parrot.exe" is Parrot's current recommend mechanism for handling this.
mncharity1 moritz_: re current suitability of rakudo for large scale development, a proxy question might be, () could one take perlcabal.org/svn/pugs/browse/ext and, modulo updating to reflect p6 spec changes, expect rakudo to run them? () to the extent that they don't run, do workarounds exist? () how costly is it to find them? 16:26
for pugs, if they hadn't already grown up in the context of pugs, the answers might be unlikely; sometimes; prohibitively. 16:27
moritz_ interesting question.
mncharity1 elf's might be never; usually; somewhat straightforward.
moritz_ well, rakudo won't run any of them out-of-the-box because they all have version numbers in the module name, which isn't parsed yet 16:28
jnthn Argh...*one* test fail! 16:29
moritz_ mncharity1: and that's why I didn't invest more time in trying it out yet
masak jnthn: that's relatively good news, no?
mncharity1 re module name, that's an "workaround exists; trivial" :) 16:30
moritz_ I know 16:31
jnthn masak: I was hoping for a clean run. :-P
masak and a pony.
moritz_ but it's the No 1 reason for not just putting it in a shell script and looking at the fallout
jnthn masak: Oh, damm, more than one. :-|
masak :/
pmichaud we could probably update Rakudo's grammar to parse (& discard) version numbers.
masak really would like that double free fixed 16:32
pmichaud jnthn: I'll go ahead and fix up the harness to make use of parrot.exe for now.
feel double free to keep pounding on the double free, though :-)
jnthn pmichaud: Give me another 30 mins if you would?
Oh, depends if you wanna do release Real Soon Now.
moritz_ pmichaud: that would be nice, but I already know the next road blocker down that lane - s///
pmichaud jnthn: my fix will be able to handle both approaches.
jnthn pmichaud: Ah, OK, then go ahread if it's easy to flip. 16:33
pmichaud and no, I'm not doing release Real Soon Now
today, yes, but not for the next eight hours probably.
PerlJam are rakudo releases going to have code names? :)
pmichaud PerlJam: I'm thinking of alphabetical colors. Or gems/minerals.
mncharity1 re No 1 reason, find . | perl -i -we 's/use v6-alpha/blah/; print' ? 16:34
jnthn pmichaud: Name a color that starts with x ;-)
PerlJam pm: the ruby release might confuse people :)
pmichaud I was also thinking of "Awesome", "Brilliant", "Charming", "Dynamite", etc.
moritz_ mncharity1: not 'use v6-alpha' but 'module foo-0.3'
jnthn Alphabetical adjectives aliterate awesomely.
moritz_ pmichaud: that's a bit too much if you ask me ;-)
jnthn We could pick one that fits our feelings about the release. 16:35
moritz_ you can start with "aquamarine", that's both a color and a gem, so you don't have to decide yet ;-)
masak pmichaud: Rakudo Accipiter :)
pmichaud moritz_: yes, I also thought of "amber" along the same lines :-)
mncharity1 s/(\bmodule\s+\w+)-[\d\.]+/$1/ :-S 16:36
moritz_ ;-)
jnthn A = Awesome, B = Better, C = Crap...
;-)
pmichaud and, of course, we aren't limited to english words, afaic
jnthn Yay!
moritz_ YaY for Klingon names!
pmichaud but given that we're still on the early side of rakudo development, I don't want to put a lot of emphasis into release numerology. 16:37
jnthn Aye.
pmichaud Thus, just "a", "b", "c", etc. until we near 1.0
mncharity1 aquamarine lol
pmichaud or whatever we start to call "1.0"
16:37 ruoso left
moritz_ "1.0" ~~ Xmas ;-) 16:37
pmichaud heh, okay, so that's the 'x' release. :-)
jnthn Oh awesome that means we have 23 more months... ;-) 16:38
moritz_ that leaves us with 24 releases until xmas ;-)
pmichaud unfortunately, that'd be two years from now, unless we got to semi-monthly releases.
PerlJam or more if you pick the spanish alphabet.
moritz_ I think that two years are a more realistic time frame than one for xmas :/
pmichaud anyway: colors? adjectives? minerals? make your preferences known now :-) 16:39
mncharity1 re "realistic time frame" unless things starting to work draws back a big p6 development crowd
PerlJam pm: all are good for me :)
moritz_ likes minerals, colors or animals
please no adjectives
jnthn likes minerals 16:40
Out of those.
masak too
jnthn Animals is kinda done quite a bit.
Only other one I'd suggest is cities.
PerlJam pm: japanese flowers. :)
pmichaud heh... I wonder how far we could get using both minerals and colors: aquamarine, bronze, copper, ...
alester How can I tell which of my commits have not yet been applied to rakudo/rakudo?
pmichaud pj: yes, I did think of flowers and/or japanese words
alester Oh my, "Updated harness that doesn't rely on Parrot::Te..." makes me VERY happy to see. 16:41
mncharity1 half-baked low temperature+presure minerals, then moving down... ;)
pmichaud mncharity1: :-)
moritz_ alester: and if you want to make *me* happy, then re-enable parallel testing ;-)
alester "re-enable"? How did I disable it? 16:42
PerlJam pm: elements in order of decreasing atomic weight
pmichaud PerlJam: I'd prefer it to have a sequence that is quickly recognizable. But great idea
moritz_ alester: not you, but after the refactoring it stopped working
masak en.wikipedia.org/wiki/List_of_minerals
moritz_ actually I think it broke before
alester moritz_: I was unaware. Which refactoring do you mean?
moritz_ alester: "Updated harness that doesn't rely on Parrot::Te..." 16:43
pmichaud alester: yesterday my refactor to eliminate Parrot::Test::Harness broke parallel testing.
alester ah, ok
masak "Rakudo Amber".
pmichaud (which I knew it would)
alester see, I'm way behind on rakudo/rakudo merging
pmichaud (but I'm hoping someone will submit a patch to re-enable it :-)
the t/harness code is very straightforward, and doesn't have any odd dependencies.
moritz_ re "which commits where merged" - no idea. Maybe git-diff-tree can help 16:44
16:44 masak left
pmichaud pj: elements in increasing atomic weight might work, though :-) 16:44
alester I think I have hosed some of my commits and want to restart my fork.
but don't want to lose stuff that hasn't made it to r/r
moritz_ alester: just do a new branch then that starts from r/r 16:45
PerlJam pm: I'm not sure that heavier == better though
moritz_ alester: and then cherry-pick the old stuff
alester moritz_: But there's stuff on p/r that needs to make it to r/r
PerlJam pm: though it could be seen as a move from ephemeral to reality
alester But I don't know what that old stuff IS.
jnthn juggles auto-threading, multi-dispatch, MMD caching and method dispatch simultaneously...
moritz_ alester: yes, I understand the problem 16:46
alester So I don't understand the "just ...." part up there.
I can't cherry pick what I don't know.
moritz_ alester: maybe you should get commit access and merge earlier, to avoid that situation in future
alester that would frighten me at this point in my rakudoness. 16:47
I feel unqualified to do so.
moritz_ ok
alester But I appreciate the confidence you have. :-) 16:49
mncharity1 pmurias: btw, re speed of elf/YARE running STD vs gimme5, I ran gimme5 on a faster (especially disk-wise) machine, and it was there quite wizzy enough to be one's primary elf parser. So I'm tempted to do defer YARE optimizations, and do a "for pure p6 and self compilation, there's YARE(non-existent p6 version), and for day to day work, there's gimme5 aka STD_blue". maybe.
moritz_ alester: anyway, if you don't get any better replies here, you might try it in #git
alester: I'm sure it's a common problem in git world 16:50
alester they've been pretty useless in the past week
moritz_ :(
skids re: release naming -- en.wikipedia.org/wiki/Oasis#Notable_Oases 16:51
mncharity1 anyone who does p5: you might look at perlcabal.org/svn/pugs/browse/misc/.../gimme_elf . It's the gimme5 parser inlined with elfblue into one single big p5 file. cpan -i blah blah; wget http:.../mumble; chmod a+x mumble; ./mumble -e 'say 3'. Instant elf.
alester My other big question: If I ignore something on, say, s1n/r, will I still get those commits when they show up eventually in r/r? 16:52
I would assume so, but I don't want to assume.
mncharity1 needs some love/attention.
moritz_ alester: if they are merged into r/r, and you pull from r/r, you'll get them
alester ok
even though I ignore the s1n/r version of it. 16:53
moritz_ yes
16:55 alexn_org left
mncharity1 ruoso/pmurias: any feel for how soon smop/mildew/mumble might be fleshed out enough to be a third elf backend? 16:56
/me searching for "work on p6" motivation. :/
alester I can't wait to get the Drupal up so I can dump these tidbits of info into a page there. 16:57
moritz_ so long you can use the github wiki
jnthn alester: When do you expect to have it?
alester this week 16:58
jnthn OH AWESOME
pmichaud we can start handing out authorship rights, yes?
alester jnthn: You can start dumping stuff into dru.rakudo.org if you want.
I can set up rights for whoever.
oh yeah
jnthn Belgian Perl Workshop is this weekend, I'll be talking about Rakudo there.
16:58 bacek left
alester dru.rakudo.org will become rakudo.org 16:58
pmichaud I think we should just go ahead and make that switch, fwiw.
put a link there that points people to the blog for now, if needed. 16:59
jnthn So shiny new site *and* first independent release *and* 7,000+ passing spectests will be nice to report. :-)
16:59 bacek joined
Patterner German Perl Workshop is today and I learned that Perl 6 is named this way because it has IPv6 support in the CORE... 16:59
moritz_ Patterner: how told you that? ;-)
so if you do the switch, will the old blog links still work? 17:00
Patterner Probably someone untrustworthy...
moritz_ remembers that some of the German Perl Workshop staff are pretty anti-Perl 6
jnthn Aye. 17:01
PerlJam having rakudo.org being shinty and new would be good to annouce as part of the first independant rakudo release
s/shinty/shiny/ even 17:02
jnthn alester: plz I can haz account?
pmichaud well, "shiny" isn't likely to happen for a couple of days.
alester jnthn: Yeah, email me
PerlJam yeah, that's the only problem.
moritz_ has to run now, and hopes he'll see a shiny release when gets back tomorrow
pmichaud I can hold the release for it, if we want, but I'd prefer to make a release today.
alester nm, I'll do it in a few
I AM OUT OF POST-ITS
jnthn OK 17:03
Thanks
alester: You still want an email? 17:04
alester might as well
jnthn sent 17:06
alester anyone else wanting rakudo.org account? Let me know what username you want. It doesn't have to be a single word. I'm using "Andy Lester" as my user anme. 17:10
Tene_ Can I have "Andy Lester" on rakudo.org?
PerlJam heh 17:11
alester Will you write completely brilliant and unerring prose?
Tene_ No, I won't!
alester Then, no.
17:12 japhb joined
dalek kudo: f43750a | jnthn++ | src/ (2 files):
A bunch of changes to multiple dispatch, resolving a memory leak per cache-miss call and fixing multi method dispatch to walk the MRO as it should, which resolves RT#63442.
17:14
pugs_svn r25559 | jnthn++ | [t/spec] Correct and unfudge a multi-method dispatch test.
r25560 | jnthn++ | [t/spec] Unfudge another zip operator test that the earlier fix also made pass. 17:16
jnthn moritz_: OK, MMD fixed. ;-)
17:18 dukeleto left 17:22 xinming joined
alester Are my commits showing up in anyone's FQ? 17:29
Or do I specifically have to request a pull?
jnthn Where are you comitting? 17:31
But people have tended to request pulls from what I've seen so far.
jnthn is still working it out.
mncharity1 rakudo: /^<+alpha-[Jj]>+$/
p6eval rakudo f43750: RESULT«{ ... }»
jnthn pmichaud: Did you ever get to giving thingies generated by PGE the ability to have a loadinit? 17:32
mncharity1 rakudo: "-.abcjde" ~~ /<+alpha-[Jj]>+/
p6eval rakudo f43750: RESULT«Method 'perl' not found for invocant of class 'Match'␤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)␤»
jnthn rakudo: "-.abcjde" ~~ /<+alpha-[Jj]>+/; say $/
mncharity1 guess that means its a valid rx at least
p6eval rakudo f43750: OUTPUT«abc␤»
mncharity1 ah, thanks! :) 17:33
jnthn p6eval tries to .perl things if there's no output.
alester oh man, my p/r is way out of sync with r/r
jnthn But I don't know that .perl on a Match is meant to do yet...
mncharity1 I'd forgotten (again). thanks.
pmichaud jnthn: not yet. 17:34
(PGE loadinit)
it'll happen soon, definitely.
jnthn pmichaud: OK. 17:35
I want to make .perl work on Regex ;-)
(So don't ask...)
pmichaud ...on Regex?!
oh, you want to rebless the methods into Regex
jnthn I want to do that 17:36
But also I want .perl to work so I can continue hacking on Grammar::Generative. ;-)
jnthn decided to write a Perl 6 module at last.
17:44 IllvilJa left 17:47 mikehh left
jnthn pmichaud: Do you have any thoughts on rt.perl.org/rt3/Ticket/Display.html?id=63430 ? 17:52
It's not a bit of Rakudo I know well at all... 17:53
17:53 maerzhase joined
pmichaud I suspect 'try' is being over-eager in what it catches. 17:53
perhaps we can get Tene++ to look at it; he's done a lot of the exception stuff. 17:54
mncharity1 Has anyone heard of any effort towards creating a regex engine implemented in p6?
pmichaud mncharity1: I'm hoping to do something like that for PGE.
mncharity1: as part of refactoring PGE to handle longest-token-matching
mncharity1 neat. any timeframe? 17:55
pmichaud if it happens it'll be in the next few months.
mncharity1 months, quarters, ... ?
ah, ok, thanks.
pmichaud PGE will be getting ltm in the next few months; whether it's done in PIR or p6 remains to be seen.
17:56 IllvilJa joined
mncharity1 nod 17:56
17:57 M_o_C joined
jnthn looks forward to it - and all of the things that will come before it (Cursor and thus line nubmers in errors, and protoregexen) 17:57
18:03 Maghnus joined
gfldex mncharity1> nod 18:05
18:57 * jnthn looks forward to it - and all of the things that will come
PerlJam pm: if you're going to base it off of TimToady's implementation, then p6 would seem to be easier 18:06
18:08 mikehh joined 18:09 kane_ left 18:10 mberends joined
mncharity1 PerlJam: I believe TimToady said a while back that gimme5 wasn't designed as a general rx engine. Else transliterating it would seem a nice task to advertise. 18:16
PerlJam sure, but the impedence mismatch is probably smaller from there to p6 than to pir. 18:17
18:18 Psyche^ joined
pmichaud Perhaps, but I've gotten pretty good about thinking in PIR. 18:20
Tene_ pmichaud: I'm in a productive mood. I'll look at any issues you ask me to.
pmichaud that said, it's more likely it'd be NQP instead of Rakudo.
Tene_: jnthn++ just left you a message on #parrot :-) 18:21
jnthn Tene_: Ah, I just...yes, that.
rt.perl.org/rt3/Ticket/Display.html?id=63430
18:22 maerzhase1 joined, Eevee joined, maerzhase left 18:24 IllvilJa left 18:26 Ariens_Hyperion joined
jnthn pmichaud: Think we're safe to close the tickets about segfaults now, or want more people to test first? 18:27
(That is, just the ones aobut double frees.)
pmichaud jnthn: it's okay with me if we close them. They're somewhat ephemeral to begin with. 18:29
(ephemeral == "they tend to come and go on their own") 18:30
jnthn Aye, I felt the same, but could just see a lot of people re-opening them complaining it still segfaulted...
skids pmichaud: so it would be OK for a few non-STD hacks to support adverbs on ops to go into grammar, given that it will be getting overhauled soon enough?
PerlJam pm: build/PARROT_VERSION is a minimum requirement, not an exact requirement?
jnthn Whereas now there's a decent chance we resolved the double-frees... 18:31
pmichaud jnthn: it's okay with me if the tickets get reopened. We're just making our best guess that we think the problem is fixed.
jnthn Aye.
pmichaud skids: it depends on the hacks.
jnthn PerlJam: I recommend exact, at least before reporting bugs...
There was a situation recently where people using latest Parrot with Rakudo had issues, but it worked fine at the PARROT_VERSION. 18:32
pugs_svn r25561 | lwall++ | [STD] express an opinion on C++ constructor brainos
pmichaud PerlJam: the configure scripts treat it as minimum revision, but we really expect it to be more "exact"
18:32 Eevee_ left
pmichaud the whole reason we have PARROT_REVISION is because we know that later versions have a strong potential to break rakudo. 18:32
skids I was thinking of getting just standalone %hash{blah}:adverb working but not the whole adverb-goes-to-the-rightmost < e= operator thing. Just so :delete, :p etc could be written and tested. 18:33
PerlJam pm: what do you think about an option to Configure.pl that forces it to be exact? 18:34
pmichaud skids: I'd need to see the patch. The main issue I have with hacks is when they start spreading themselves throughout the codebase as being "the right way to do it"
18:34 Patterner left, Psyche^ is now known as Patterner
PerlJam --exact maybe? 18:34
pmichaud PerlJam: do you see this as being an important issue?
18:34 IllvilJa joined
PerlJam not really. Just a convienence thing. 18:35
pmichaud anyone who is using --gen-parrot should probably just stick with whatever it does.
i.e., --gen-parrot manages the parrot/ tree automatically.
before adding an --exact option I think I would go with making --gen-parrot always be --exact. 18:36
i.e., Configure.pl --gen-parrot forces parrot/ to the build/PARROT_REVISION, even if it's later.
PerlJam okie.
pmichaud I would like to see that Configure.pl does a "make clean" anytime it regenerates the Makefile, though. 18:37
I'm still encountering a few dependencies between the parrot build and left-over files in the rakudo build.
or perhaps we need $(PARROT) listed as a dependency for a few more targets. 18:38
jnthn pmichaud: Yeah, me too.
dalek kudo: f1f722e | (Patrick R. Michaud)++ | build/PARROT_REVISION:
Bump PARROT_REVISION to r37000, to avoid double-free issues in fakecutable.
PerlJam I was going to see if rakudo worked with a more recent parrot and i figured changing build/PARROT_REVISION would be the easiest way (and since it's easy to change back). I was slightly surprised though, to see when I changed it back, "Parrot r37003 already available (r36930 required)" 18:39
anyway, that's why I mention it. 18:40
pmichaud the easier way to try a more recent parrot is to just do "svn up" from parrot/
no need to change build/PARROT_REVISION
or more precisely: cd parrot; svn up; make realclean; perl Configure.pl; make
I did think about having --gen-parrot=head or --gen-parrot=37000 to go to a specific version of Parrot.
I'd probably accept a patch that does that. 18:41
18:42 meppl joined
pmichaud jnthn++ # closing rt tickets 18:43
18:43 cas left
pmichaud okay, I need lunch -- bbiab 18:43
18:44 preflex left 18:47 preflex joined
TimToady std: my $obj = new Widget(:legs(2|3)); 18:49
p6eval std 25561: OUTPUT«############# PARSE FAILED #############␤Obsolete use of C++ constructor syntax; in Perl 6 please use method call syntax instead at /tmp/YKz8V5n5kC line 1:␤------> my $obj = new Widget(:legs(2|3));␤FAILED 00:02 33m␤»
jnthn Ooh, shiny... 18:50
The Perl 6 standard grammar now flames C++. ;-)
mncharity1 could I get a reality check? what am I missing? three files, LazyMap.pm, Cursor.pmc, and STD.pmc. put all three in a single file, each wrapped with {package main; }. Cursor has a "use LazyMap qw(lazymap eager);". so redef warnings, but otherwise ok. Convert it to "BEGIN{ require 'LazyMap.pm'; LazyMap->import('lazymap','eager'); };", and no change. To "BEGIN{ LazyMap->import('lazymap','eager'); }" and boom. 18:52
PerlJam watches as a bunch of GIS students remove many GPS/GIS/Geodesy books from his office.
mncharity1 How hard can it be to combine 4 perl5 files into 1...? Hours. Sigh. Let's do better in p6.
18:53 mberends left
TimToady obviously the require is required :) 18:53
otherwise it has no clue what to call at BEGIN time 18:54
mncharity1 lol. sigh 18:55
18:55 IllvilJa left, cas joined 18:56 Ariens_Hyperion left 18:57 schmalbe joined 18:58 preflex left
pugs_svn r25562 | putter++ | [elf_h] Give a clearer error message when a file to be compiled is missing. 18:59
r25563 | jnthn++ | [t/spec] Test that subtypes are undefined.
19:00 maerzhase1 left
dalek kudo: 7abe283 | jnthn++ | src/builtins/guts.pir:
Some tweaks to subsets, making sure they get their own metaclass and proto-object and respond as desired to .defined (with false). Other than that no intentional functional changes - the spectests don't point to any, at least.
19:05
kudo: 3484985 | jnthn++ | build/PARROT_REVISION:
Merge branch 'master' of [email@hidden.address]
19:05 Caelum left, nihiliad left
pugs_svn r25564 | lwall++ | refine previous patch to catch bare "new Foo" too 19:05
19:06 Caelum joined
dalek kudo: f934f32 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 314 files, 7007 passing, 0 failing
19:09
Matt-W How do I pull changes masak made on a github branch he forked from one of mine? 19:11
19:13 IllvilJa joined
pugs_svn r25565 | putter++ | [gimme_elf] Parser plumbing connected up. elfg5 compiles. The inline gimme5 code is now actually evaluated. Added LazyMap.pm. But the mangle.pl+LazyMap.pm+Cursor.pmc+STD.pmc combined p5 isn't parsing, cause unknown (make; perl -cw test.pl). 19:14
Matt-W ahah, got it
mncharity1 :) 19:15
Matt-W it seems to be unfashionable at the moment 19:16
but I read the documentation :) 19:17
jnthn Phew, back below 250 tickets. :-)
Matt-W damn
I'll have to find some more bugs
19:18 Caelum left, Caelum joined
Tene_ bug: insufficient bugs reported 19:19
19:19 Ariens_Hyperion joined, preflex joined
Matt-W Tene_: exactly 19:20
jnthn 246 tickets is still quite a few! :-P 19:21
Matt-W yes but we know you'll get through those :)
mncharity1 <closers of bugs>++
Matt-W wouldn't want you to feel unloved
TimToady std: my $obj = new Widget; 19:23
p6eval std 25565: OUTPUT«############# PARSE FAILED #############␤Obsolete use of C++ constructor syntax; in Perl 6 please use method call syntax instead at /tmp/WN86ngdZxZ line 1:␤------> my $obj = new Widget;␤FAILED 00:02 33m␤»
Matt-W likes the thought of C++ as obsolete
jnthn implements a C++ compiler for Parrot that whenever invoked just prints "Obsolete use of C++" 19:25
OH NOES I FORGOT TO EAT 19:26
Matt-W OH NOES
jnthn -> shops, to buy food, to cook and eat
alester jnthn: Did you get your email about yr accoutn? 19:41
TimToady can I haz a larry account? 19:43
alester On rakudo.org?
TimToady you sound doubtful... :)
alester No, just making sure you were talking to me. 19:44
TimToady ain't nobody else here at the moment
Matt-W I'm here
alester You just want "larry"?
I can give you "Larry Wall"
Matt-W but I can't get you an account anywhere
well, not anywhere you'd find useful
TimToady I prefer to huffmanize my name, since I type it frequently :) 19:45
alester ok
email is larry at wall dot org?
TimToady bingification
alester you should have mail telling you about it. 19:47
it's at dru.rakudo.org
but will be rakudo.org once I move over the Movable Type blog entries
19:49 mikehh left
TimToady thanks 19:52
19:53 schmalbe left
alester did you get the mail OK? 19:54
and log in and change your pw?
mncharity1 pugscode.org/ planetsix.perl.org/ feather.perl6.nl/syn/ perlcabal.org/svn/pugs/log github.com/rakudo/rakudo | nopaste: sial.org/pbot/perl6 | evalbot: "perl6: say 3;" | irclog: irc.pugscode.org/ | Rakudo.org www.perlfoundation.org/perl6/index.cgi?smop perl.net.au/wiki/Elf |~300 days 'til Xmas 19:57
TimToady yes 19:57
jnthn alester: Yes, I got mine. 19:58
alester ok, good
jnthn Was just out buying stuff to eat. :-)
alester Darn you.
You and your pesky metabolic needs.
TimToady phone 20:00
alester I've thrown away my fork, and have recreated it.
sial.org/pbot/35243 Is this a good thing? 20:04
20:05 cas_ joined, cas left 20:13 mncharity1 left 20:16 M_o_C left
jnthn alester: You probably meant @*INC? 20:16
alester I didn't do anything. That's from a "make test"
jnthn Oh... 20:17
oddness.
alester it passes
jnthn tries running it 20:19
20:19 Ariens_Hyperion left
jnthn alester: I just get ok 1 etc through ok 4 20:19
When running it as perl6 t/01-sanity/03-equal.t
20:21 cas_ left 20:22 cas joined 20:23 Ariens_Hyperion joined
Tene_ jnthn: that output looks to me to be from the test *before* t/01-sanity/03-equal 20:33
alester Can someone look in their FQ and see that there are two commits from me wanting some love? 20:40
20:46 meteorjay left 20:48 ispy_1 joined
dalek kudo: 9f3d289 | (Andy Lester)++ | build/Makefile.in:
Add a perlcritic target to the makefile
20:49
kudo: f9cb35e | (Andy Lester)++ | Configure.pl:
modernize some code, and add error checking
20:49 ispy_ left
alester guess so
thanks, tene
Tene_ Huh. The web UI for that is very nice.
alester isn't it? 20:50
20:52 ZuLuuuuuu joined
pmichaud git++ # definitely one of my better recent decisions. 20:57
alester heh 20:58
jnthn Tene_: Where can I find out about the Web UI?
Tene_ jnthn: presumably somewhere on github.com/ 20:59
jnthn pmichaud: Yes, I'm starting to be won over too. On branching speed/convenience alone...
pmichaud being able to review things via github is much nicer than email diffs.
Tene_ I just went browsing around, found the "fork queue", clicked on petdance's commits, and clicked 'apply'
jnthn Tene_: Yeah, I still find it a bit of a maze there ;-)
Wow! I want that!
Matt-W how do I give rakudo extra include directories?
Tene_ There's an environment variable, iirc. 21:01
PERL6LIB 21:02
a :-separated list, like $PATH
jnthn bacek: ping
alester OK, now I have a bummer. 21:04
9f3d28 master~1 Gravatar petdance Add a perlcritic target to the makefile 16 minutes ago
f9cb35 master Gravatar petdance modernize some code, and add error checking 16 minutes ago
those show in my queue, and of course tehy were mine. 21:05
so I have to ignore them, I guess.
but you'd think it would be smart enough to know that I don't need to merge them since they're from me.
bacek jnthn: pong
good morning
jnthn bacek: In github.com/bacek/rakudo/commit/dee6...12ea021f61 21:06
pmichaud my son has a math homework problem where we need to survey ten people on the following question.... so you guys are it. :-)
"What is your favorite snack: cookie, chips, candy, or cupcake?"
jnthn I think you changed => rather than =? 21:07
bacek second one for =>
jnthn pmichaud: Wow, at least two of those words I have to translate to British English. ;-)
bacek There is a test for [=>] (1,2,3), which should produce (1=>(2=>3))
jnthn I'll go with candy.
21:08 ispy_1 left
bacek perl6: say ([=>] 1..3).perl 21:08
p6eval rakudo f9cb35: OUTPUT«say requires an argument at line 1, near " ([=>] 1.."␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
..elf 25565: OUTPUT«/home/evalenv/pugs/misc/STD_red/match.rb:117:in `block in to_dump0': undefined method `to_dump0' for nil:NilClass (NoMethodError)␤ from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `map'␤ from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `to_dump0'␤ from
../home/evalenv/pugs/...
..pugs: OUTPUT«\(1, \(2, 3))␤»
pmichaud rakudo: say <cookie chips candy cupcake>.pick(1); 21:09
p6eval rakudo f9cb35: OUTPUT«cupcake␤»
bacek perl6: my ($a,$b,$c)=(1..3); $a+=$b+=$c; say ($a,$b,$c)
p6eval rakudo f9cb35: OUTPUT«623␤»
..pugs: OUTPUT«653␤»
..elf 25565: OUTPUT«Unknown rule: infix_postfix_meta_operator:=␤It needs to be added to ast_handlers.␤ at ./elf_h line 2042␤»
pmichaud pugs: say <cookie chips candy cupcake>.pick(1);
p6eval pugs: OUTPUT«cookie␤» 21:10
dalek kudo: 766d5d5 | (Vasily Chekalkin)++ | src/classes/Range.pir:
Anonimize VTABLE methods in Range
pmichaud need two more votes :-)
okay, just need one more. 21:11
we'll get the last vote from his sister -- thanks all!
21:12 mikehh joined
jnthn This fork queue rocks! 21:12
alester OK, I'm all pushed back to normal 21:13
pmichaud: cookies
pmichaud alester: noted, thanks!
dalek kudo: eecbb2c | (Duke Leto)++ | src/classes/Complex.pir:
Add some basic docs to Complex.pir
21:15
kudo: e3f2de0 | (Chris Dolan)++ | src/builtins/match.pir:
Add POD for 'make' builtin
21:19
21:24 wolverian left 21:30 nihiliad joined
dalek kudo: 0316676 | (Chris Dolan)++ | Test.pm:
Make Test.pm's proclaim return a boolean, like Test::More
21:32
21:35 Ariens_Hyperion left
dalek kudo: 9fe6dfd | (Duke Leto)++ | src/builtins/any-num.pir:
Make log(0) return the correct result, -Inf
21:36
21:50 IllvilJa left 21:57 ejs1 left 22:02 alester left 22:03 IllvilJa joined 22:04 Ariens_Hyperion joined 22:09 ZuLuuuuuu left 22:15 Whiteknight joined 22:26 Lorn left 22:27 Lorn joined 22:34 IllvilJa left 22:39 Lorn left 22:40 Lorn joined 22:42 nihiliad left 22:47 skids left, IllvilJa joined 22:50 Lorn left
frioux Does anyone here know if the term invocant was invented by perl? 22:52
I can't seem to find any other reference to it
(like wikipedia etc)
22:53 wolverian joined 23:00 Lorn joined 23:19 hercynium left 23:24 wayland_ left 23:35 bacek_ joined 23:37 frioux left 23:38 Limbic_Region joined 23:40 skids joined