Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-12-19

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:05 * jnthn tries to gets his bags packed for the flight to the UK tomorrow
00:06 pugs_svn r24475 | particle++ | [spec] whitespace after commas is not allowed when passing multiple values to a command-line option
00:06 pugs_svn r24476 | wayland++ | S22 will now be just about the package format; repositories and the build
00:06 pugs_svn r24476 | wayland++ | process will be discussed elsewhere.
00:06 [particle] wow. two unrelated spec commits at the same time.
00:07 [particle] community++
00:07 pugs_svn r24477 | wayland++ | Removed stuff about repositories and build and install software.
00:08 pugs_svn r24478 | particle++ | [spec] ideas on run-time system option and environment variables; minor updates and corrections
00:10 [particle] looks like the index for the spec website may need an update now that S22 has been renamed
00:23 mpeter what's the shebang line in windows? :D i've never used perl in windows before
00:24 jnthn mpeter: Windows pays no attention to it anyway.
00:25 mpeter hmm
00:25 lichtkind mpeter: under win there is no shebang
00:25 lichtkind its association per l file ending
00:28 mpeter k
00:29 mpeter i just spent 20 minutes trying to fix a problem on a website, and it turned out that the problem was only in software that interfaced with the site
00:29 mpeter that had already been updated 3 times since i installed it >:O
00:31 jnthn OK folks, I'm going to take some sleep... Will be sketchily about for next few days.
00:31 * jnthn -> bed
00:31 masak jnthn: 'night
00:34 pmichaud masak: that error is .... odd.
00:35 pmichaud maybe I need to just download and compile november
00:36 masak pmichaud: that sounds like a good idea.
00:37 masak pmichaud: I'm pretty sure I realcleaned and built parrot/perl6 by the book before attempting to build November p6w.
00:38 pmichaud I'm building now.
00:38 pmichaud yes, I get the same error.
00:39 pmichaud ENOTENOUGHTESTS
00:39 pmichaud okay, let's track it down :-)
00:39 masak :)
00:39 pmichaud fwiw, it might be worthwhile to use the --output=November.pir option instead of > November.pir
00:39 pmichaud that way a failed compile doesn't generate an empty (and more recent) November.pir file
00:39 masak pmichaud: oh! good idea.
00:40 * masak changes that
00:41 mpeter hey all you perl hackers
00:41 mpeter listen to me play "lucy in the sky"
00:41 mpeter http://71.192.179.132/ :D
00:41 mpeter i wrote it in tribute to larry
00:42 pmichaud looks like the problem is in Dispatcher.pm
00:47 masak I'll be mostly cheering by the sidelines during this bug hunt, because I'm struggling with a school task, due sunrise.
00:48 pmichaud no problem, I think I've got it.
00:48 pmichaud I think we're not restoring all of the $?CLASS etc. variables properly on exit.
00:49 pmichaud (from "use")
00:49 masak oh, ok.
01:00 eternaleye masak: You still looking for bugs? `./perl6 -e 'say map{ [ 1,2,3 ] }, ^3;'` segfaults, while p6eval doesn't
01:01 masak eternaleye: is that so?
01:01 * masak tests
01:02 masak eternaleye: no segfault over here.
01:02 eternaleye Oh, that's weird. ./perl6 --version reports 33874, while svn reports 34090
01:02 eternaleye And I just recompiled 2 min ago
01:02 masak eternaleye: we discussed this earlier today, see logs about tools/rebase-rakudo.pl
01:02 eternaleye Okay, thanks
01:03 masak most of the time, I just recompile Parrot, to avoid this kind of problems.
01:04 eternaleye I did recompile parrot - make clean, Configure.pl, make world, make perl6
01:05 eternaleye and `find tools -name "*rebase*"` returns nothing
01:05 eternaleye Or is it in the pugs repo?
01:05 TimToady rakudo: class A { has $foo = 7; method x { say $foo } }; A.new.x
01:05 p6eval rakudo 34090: OUTPUT[7␤]
01:06 TimToady rakudo: class A { { has $foo = 7; }; method x { say $foo } }; A.new.x
01:06 p6eval rakudo 34090: OUTPUT[Scope not found for PAST::Var '$foo'␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤]
01:06 TimToady rakudo: class A { { has $foo = 7; }; method x { say $!foo } }; A.new.x
01:06 p6eval rakudo 34090: OUTPUT[7␤]
01:06 TimToady that's what it's talking about
01:06 TimToady when it says "block"
01:06 masak why would anyone use a block like that?
01:06 eternaleye Oh, it's in languages/perl6/tools/
01:07 masak eternaleye: yes, sorry if I was unclear.
01:07 TimToady dunno, but $foo is scoped to the block, and outside it you have to use $!foo, assuming that works at all
01:07 masak TimToady: oki.
01:07 TimToady which it does in places that have access to the private attr
01:07 TimToady the derived class is just returning undef for a non-existent attr, I presume
01:08 TimToady should probably have a more violent warning though
01:08 TimToady a class ought to know what its own private attrs are
01:08 TimToady and carp on a typo
01:08 masak TimToady: what should the following print?
01:09 masak rakudo: class A { if 0 { has $.a } }; say A.new(a => 5).a
01:09 p6eval rakudo 34090: OUTPUT[5␤]
01:09 mpeter how do you do subscripts in IRC
01:09 TimToady well, that's fine as far as it goes, but any code in there with the has is unlikely to execute
01:10 masak mpeter: how do you do subscripts over the radio?
01:10 TimToady it certainly doesn't make the attribute itself conditional
01:10 mpeter you say "subscript"
01:10 mpeter and "endsubscript"
01:10 masak mpeter: works for me on IRC, too, then.
01:10 masak mpeter: or any other similar convention.
01:10 TimToady left lateral click and right lateral click  :)
01:11 masak TimToady: so, in effect, 'has' statements are not deterred by conditionals, loops or other things. is that specced? can they occur mid-method?
01:12 masak rakudo: class A { method x { has $.a } }; say A.new( a => 5).a
01:12 p6eval rakudo 34090: OUTPUT[5␤]
01:12 TimToady well, there's no problem with putting the declaration anywhere as long as you don't rely on run-time behavior
01:12 TimToady it's just like "my" that way
01:13 masak oki.
01:13 TimToady if you say 'my $x if 0' you still get $x declared
01:13 masak aye.
01:13 TimToady it's only if you rely on 'my $x = 0 if 0' that you're in trouble
01:14 TimToady these declarations are all a bit like placeholder vars in finding some outer scope to attach the declaration to
01:15 masak that's a nice way of viewing it.
01:15 TimToady 'has $foo' just looks for two scopes, a lexical scope and a class scope
01:16 TimToady 'has $.foo' only has to look for the class scope
01:17 TimToady one could argue that $^a is really short for 'param $a' or some such
01:18 masak Aristotle++ # in the latest p6l mail, using goto for good.
01:18 masak will Perl 6 have a goto?
01:21 mpeter did you guys like my song
01:23 mpeter use of perl 6 considered harmful
01:23 masak mpeter: I went to the page, but my browser lacked the proper plugins. I would have loved to hear your song.
01:24 TimToady masak: see S04:894
01:25 bacek__ joined #perl6
01:28 masak TimToady: oh, yes. now I remember.
01:28 masak from my quick reading, I conclude that Aristotle will be able to do his trick in Perl 6 also.
01:29 TimToady as my response to him indicated...
01:30 TimToady and I hope we can leave it at that :)
01:30 pmichaud r34091 should fix November.  And I'm a little surprised it ever worked before.  :-)
01:30 TimToady I wonder how many people realize Perl can do Duff's Device with computed goto...
01:31 pmichaud ("fix November" => "fix Rakudo so November runs again")
01:31 masak pmichaud: :)
01:32 masak TimToady: whoa.
01:33 TimToady [particle]: tainting is supposed to be a built-in role for every object
01:35 TimToady but it's underspecified, fer shure
01:35 TimToady one of those like-P5 things
01:35 pmichaud I like to read things like "it is specced to work correctly in Perl 6".  I find more and more evidence of that every day.
01:36 TimToady where "correctly" often means a pain in the patoot to implement
01:36 pmichaud yes, I was just looking at how we're going to handle INVARIANT: in Parrot.
01:37 TimToady the goto scan in P5 is quite spectacular
01:37 pmichaud but "Perl is all about tormenting the implementors on behalf of the users", so we're on target.  :-)
01:38 TimToady we might need to special-case goto to not complain about the bareword following it...
01:38 TimToady since it can refer to a following label
01:38 masak .oO( the waterbed theory of tormentity )
01:38 pmichaud heh.
01:38 TimToady or require a forward goto to quote the label, maybe
01:39 pmichaud "thus quoth the label, nevermore."
01:39 pmichaud or something like that
01:39 pmichaud time for a short break -- bbiab
01:39 masak protolabels :)
01:39 pmichaud masak: if you hear independent confirmation that November is working for others, let me know
01:40 rakudo_svn r34091 | pmichaud++ | [rakudo]:  Fix handling of $?PACKAGE, @?PACKAGE, $?CLASS, @?CLASS, etc.
01:40 rakudo_svn r34091 | pmichaud++ | These were pushing null values onto the stacks, which meant they weren't
01:40 rakudo_svn r34091 | pmichaud++ | being restored properly on exit (as discovered by November++).
01:40 TimToady I can just see someone getting an error message: Label INVARIANT must be quoted
01:40 masak pmichaud: oki.
01:40 TimToady and saying "well, if you can figure that out, why don't you quote it yourself!!!"
01:41 * masak thought the same thing
01:41 TimToady but then what if you want a computed goto to the return value of an argumentless function call?
01:42 TimToady or even not argumentless: goto somefunc()
01:43 masak what's the issue?
01:43 TimToady we can't just madly autoquote the next identifier after a goto
01:43 masak no...
01:43 masak check if it matches a function first?
01:43 TimToady so I'm thinking we require "goto 'INVARIANT'" unless INVARIANT is predeclared as a label
01:44 masak how do you predeclare a label?
01:44 TimToady INVARANT: establishes INVARIANT as a pseudo-type
01:44 TimToady so it can be used as a bareword afterwards
01:44 TimToady such as 'next LINE' and such
01:44 Hinrik joined #perl6
01:45 TimToady that only works because the LINE: came first
01:46 masak I guess my question is: "how do you predeclare a label without declaring it?"
01:46 masak as in the cases when you have the goto before the label.
01:47 TimToady you don't, you just quote the label in the goto
01:47 TimToady since we allow computed labels
01:47 masak ok.
01:47 TimToady it's easy to recognize a quoted string as immutable
01:47 TimToady so it doesn't hurt the optimizer much
01:48 Hinrik line 3425 of S05 implies that @() is interpolated in a "" string, while S02 gives me the impression that only variables and method calls/indexes on said variables interpolate, and of course {}
01:48 c9s joined #perl6
01:48 TimToady @() counts as a variable
01:48 lambdabot Maybe you meant: . ? @ bf ft id pl rc v wn
01:49 Hinrik I see
01:51 TimToady whoops, late for dinner
01:51 TimToady decommuting &
01:51 masak lambdabot: you're funny.
01:53 apeiron joined #perl6
01:54 sail0r joined #perl6
01:55 alester joined #perl6
01:56 mpeter why use 'goto' when you can just write functions
01:57 pugs_svn r24479 | hinrik++ | [util/perl6.vim] expanded some comments, add interpolated contextualizers, fix problem with some interpolated variables
01:58 sail0r left #perl6
01:59 masak mpeter: I'm not sure if you're kidding, but the discussion centered around a particular problem that Aristotle aired on p6l.
01:59 masak it was not solvable by using functions instead of goto.
02:05 alc joined #perl6
02:35 mpeter link?
02:36 mpeter i'm not aware of a problem that can't be solved using functions that's validly computable
02:38 mpeter then again, i'm a drug addict
02:39 Hinrik mpeter: http://www.nntp.perl.org/group/perl.​perl6.language/2008/12/msg30031.html
02:39 Hinrik and the post that mentions goto -> http://www.nntp.perl.org/group/perl.​perl6.language/2008/12/msg30212.html
02:40 rakudo_svn r34097 | util++ | [codingstd] Added coda to Rakudo's Exception.pir
02:41 ChrisDavaz joined #perl6
02:56 PZt joined #perl6
03:01 pugs_svn r24480 | pmichaud++ | [t/spec]:  Add some tests for MAIN sub.
03:13 spx2_ joined #perl6
03:15 pugs_svn r24481 | hinrik++ | [util/perl6.vim] only allow a digit or [ after \c
03:21 TimToady Hinrik: \c also allows <[ ? .. _ ]> as a control char
03:21 Hinrik yeah, I just realized
03:22 pugs_svn r24482 | hinrik++ | [util/perl6.vim] undo that little bit
03:35 cspencer joined #perl6
03:45 meppuru joined #perl6
03:50 lizsac joined #perl6
03:59 Psyche^ joined #perl6
04:02 orafu joined #perl6
04:02 alester joined #perl6
04:06 meppl good night
04:07 azawawi hi
04:17 hercynium joined #perl6
04:31 jimmy__ joined #perl6
04:32 jimmy__ left #perl6
04:48 pugs_svn r24483 | lwall++ | [STD] kludge in X!=:=X and friends
04:48 azawawi TimToady: ping
04:49 TimToady you pang?
04:49 azawawi yes ;-)
04:49 pugs_svn r24484 | lwall++ | [STD] remove debugging statement
04:49 azawawi TimToady: i think i found the bug when using STD.pm, context var emulation assumes that 'our var1' will be in main:: but that is not true when you use it in another package
04:50 TimToady yes, I run into that one periodically; usually indicates a missing :: in a $var that should be $::var
04:50 TimToady that emulation is also one of the reasons threading won't work
04:50 TimToady (I think)
04:51 azawawi TimToady: that's the only method we can do it? so threads out of the question and this bug remains also?
04:51 TimToady can you reduce it to a small test case?
04:52 TimToady there are a few other spots where I gave up on thread safety for the moment too, if I recall correctly
04:52 azawawi it is simple, package Foo { use STD; } and then use Foo; in your script
04:53 azawawi and then bless error on undefined $:PARSER in statementlist
04:53 TimToady okay, may have a chance to look at it tomorrow
04:53 azawawi cool thx
04:54 TimToady are you running your code through gimme5?
04:55 azawawi make clean all
04:56 azawawi and bundling STD.pmc, Cursor.pmc (and renamed LazyMap.pmc) in Syntax::Highlight::Perl6 (misc/Syntax-Highlight-Perl6)
04:56 TimToady but your package Foo is p6 code, so you have to translate to p5 code somehow
04:56 azawawi it is all Perl5 code im using STD.pmc
04:57 azawawi http://search.cpan.org/~azawawi/Syntax-Highlig​ht-Perl6-0.0292/lib/Syntax/Highlight/Perl6.pm
05:00 TimToady package Foo {...} is p6 syntax
05:03 azawawi somehow braces always affect my way of thinking ;-)
05:03 * azawawi writing a test case
05:10 pasteling "azawawi" at 212.38.154.37 pasted "Testcase for 'Can't call method "bless" on an undefined value at STD.pm line 5269'" (12 lines, 294B) at http://sial.org/pbot/33912
05:10 azawawi TimToady: done
05:11 azawawi Hinrik: hi
05:12 azawawi Yay i have #perl6 all to 'my $self' ;-)
05:13 TimToady okay, I've reproduced it here, thanks
05:13 TimToady will look at it tomorrow
05:13 azawawi cool
05:25 BinGOs joined #perl6
05:26 sail0r joined #perl6
05:27 sail0r left #perl6
05:44 lichtkind if i declare a sub in a class, cann i call it with KlassName::subname ?
05:45 TimToady yes, a class is just a package
05:45 cspencer has the rakudo "($cond) ?? ... :: ..." not been implemented yet or is it just currently broken?
05:45 lichtkind thanks, yes thats consequent
05:45 TimToady use !! instead of ::
05:45 cspencer ah, thank you!
05:46 cspencer much better! :)
05:47 cspencer do simple patches go to the request tracker?
05:47 TimToady dunno, I stay out of that end of it
05:48 cspencer alrighty
06:01 BinGOs joined #perl6
06:08 kanru joined #perl6
06:11 alech joined #perl6
06:15 redicaps joined #perl6
06:16 redicaps left #perl6
06:22 BinGOs joined #perl6
06:38 alech_ joined #perl6
06:52 pbuetow joined #perl6
06:53 justatheory joined #perl6
06:53 alc joined #perl6
07:24 maerzhase joined #perl6
07:49 iblechbot joined #perl6
07:49 funktio joined #perl6
07:53 adc_penner joined #perl6
07:54 ejs joined #perl6
08:08 lichtkind_ joined #perl6
08:09 elmex joined #perl6
08:12 kanru joined #perl6
08:13 sail0r joined #perl6
08:14 sail0r left #perl6
08:21 DemoFreak joined #perl6
08:26 pmurias joined #perl6
08:28 kanru joined #perl6
08:33 hanekomu_ joined #perl6
08:35 pugs_svn r24485 | azawawi++ | [Syntax::Highlight::Perl6] Bumped version to 0.0293
08:35 pugs_svn r24485 | azawawi++ | [Syntax::Highlight::Perl6] Renamed parse_trees to tokens and
08:35 pugs_svn r24485 | azawawi++ | [Syntax::Highlight::Perl6] it now returns an array of hashes
08:35 pugs_svn r24485 | azawawi++ | [Syntax::Highlight::Perl6] Added more tests to check tokens
08:35 pugs_svn r24485 | azawawi++ | [Syntax::Highlight::Perl6] Bundled the latest STD.pm and perl6.vim
08:41 rindolf joined #perl6
08:51 ejs joined #perl6
08:54 ejs joined #perl6
08:58 alech joined #perl6
09:00 lumi joined #perl6
09:00 moritz_ rakudo: say for 1
09:00 p6eval rakudo 34100: OUTPUT[␤]
09:00 moritz_ rakudo: say  for 1
09:00 p6eval rakudo 34100: OUTPUT[Could not find non-existent sub for␤current instr.: '_block14' pc 55 (EVAL_13:38)␤]
09:01 kanru joined #perl6
09:02 moritz_ rakudo: .say  for 1
09:02 p6eval rakudo 34100: OUTPUT[1␤]
09:02 moritz_ rakudo: say $_ for 1
09:02 p6eval rakudo 34100: OUTPUT[1␤]
09:02 moritz_ rakudo: say $_  for 1
09:02 p6eval rakudo 34100: OUTPUT[1␤]
09:08 rindolf rakudo: .say for "moritz_"
09:08 p6eval rakudo 34100: OUTPUT[moritz_␤]
09:10 moritz_ (I was testing RT #61494)
09:25 eternaleye Is it normal for rebase-rakudo.pl to run for 8h 15m?
09:25 moritz_ I've never run it, but I seriously doubt it
09:27 eternaleye Hm. Attaching strace to it gives 'read(3,' and no further output
09:28 moritz_ eternaleye: maybe press Ctrl+D?
09:30 eternaleye Well, that FD is a pipe, so I figure it did an open with '|', so I checked for processes with that ppid, which is svn up. Stracing that gives 'restart_syscall(<... resuming interrupted call ...>'
09:30 eternaleye Guess I'll kill that
09:43 aindilis joined #perl6
09:47 moritz_ pmichaud: novemeber compiles fine for me with trunk (the tests barf, but I think that's a harness error, not a rakudo problem)
09:49 pugs_svn r24486 | azawawi++ | [Syntax::Highlight::Perl6] Fixed ->new croak bug about text => q{}
09:49 pugs_svn r24486 | azawawi++ | [Syntax::Highlight::Perl6] Add a test to check for this bug
09:51 pugs_svn r24487 | azawawi++ | [Syntax::Highlight::Perl6] $VERSION is now 0.0294 # releasing to CPAN
09:55 kanru joined #perl6
10:01 jferrero joined #perl6
10:07 jferrero left #perl6
10:37 gfldex_ joined #perl6
10:52 sail0r joined #perl6
10:52 agentzh left #perl6
10:53 agentzh joined #perl6
10:54 kane_ joined #perl6
10:59 kanru joined #perl6
11:08 pmurias joined #perl6
11:18 kanru joined #perl6
11:47 pmurias joined #perl6
12:01 iblechbot joined #perl6
12:08 spx2_ does perl6 hasve threads or sockets yet ?
12:08 spx2_ does it have IPC ?
12:08 spx2_ does it have bindings with some popular windows framework ?
12:09 spx2_ like wx,Qt or Gtk ? (or mayeb others ?)
12:09 spx2_ I'm trying to find out if I can use it for one of my projects :)
12:09 spx2_ it would be very nice if I could use it
12:10 spx2_ but I'm not sure how much of it is finished yet
12:10 spx2_ also,the Object oriented system , is it finished or in progress ?
12:23 Limbic_Region joined #perl6
12:26 alech joined #perl6
12:42 masak joined #perl6
12:43 masak spx2_: threads, sockets, IPC: I don't think so
12:43 masak spx2_: bindings to windowing frameworks: there is a project related to that, yes. other people here are bound to know more about it than I.
12:45 masak spx2_: much of the object system has been implemented, but not everything. submethods are still missing, for example.
12:45 masak spx2_: all in all, check out Rakudo and try it. take a look at the spectests to see what's been implemented already.
12:45 c9s joined #perl6
12:47 jan_ joined #perl6
12:49 masak moritz_: sometimes parsing in Perl 6 still surprises me. so `say for 1` looks for the sub &for?
12:50 pugs_svn r24488 | azawawi++ | [Syntax::Highlight::Perl6] Fixed _escape_html to actually work
12:50 pugs_svn r24488 | azawawi++ | [Syntax::Highlight::Perl6] Added tests to verify that html escaping works
12:50 pugs_svn r24488 | azawawi++ | [Syntax::Highlight::Perl6] $VERSION eq '0.0295'; #Releasing to CPAN
12:58 * azawawi Not bad... Padre can now generate the simple, snippet and full HTMLs and open them in your default browser
12:59 justatheory joined #perl6
12:59 lichtkind_ is it right that in p6 metaclasses and protoobjects are the same thing?
12:59 riffraff joined #perl6
13:00 * masak doesn't think so
13:03 masak lichtkind_: when you say `my Int $a`, you get a prototype Int object.
13:04 lichtkind_ but?
13:04 masak lichtkind_: when you say `$a.HOW`, you get the metaclass object.
13:04 masak those are two different things.
13:04 lichtkind that reminds me that how means in german beating :)
13:04 pmurias joined #perl6
13:05 lichtkind masak: thanks but im not wiser than before
13:06 masak lichtkind: how can that be? you ask whether they are the same thing, and I say "no". :)
13:06 masak that's exactly one unit of wisdom, right there.
13:08 lichtkind masak: yes im now better informed but still clueless what mtaclasses are :)
13:09 masak lichtkind: I haven't used them much yet, since they are not implemented in Rakudo.
13:09 lichtkind masak: thats how science works, tons of infos but seldom insight
13:09 masak lichtkind: but apparently they contain information about their class.
13:10 masak lichtkind: so you can ask ^Dog about the methods defined in the Dog class.
13:10 lichtkind masak: but there are no klasses in p6 i think i read
13:10 masak lichtkind: no, but classes :)
13:10 masak lichtkind: you need to ack for 'classes' with a 'c' :)
13:10 masak there's plenty of those.
13:11 lichtkind masak: but class generates a protoobject
13:11 lichtkind anyway, have to leave
13:11 lichtkind tanks for answers
13:11 masak np
13:11 masak good luck!
13:12 pmurias metaclass is the class of the metaclass instance (the thing .HOW returns)
13:12 lambdabot pmurias: You have 2 new messages. '/msg lambdabot @messages' to read them.
13:13 pmurias the metaclass instance is the thing you use for manipulating a class
13:15 masak pmurias: oh, that's true.
13:15 lichtkind pmurias: yes but i thought thats the protoobject :)
13:15 masak lichtkind: it isn't.
13:16 pmurias the protoobject is used to call methods without a real object
13:17 masak a protoobject is just an uninstantiated object.
13:17 pmurias masak: you can use metaclasses in perl5 with Moose
13:17 masak pmurias: true. haven't done that yet, though.
13:17 masak seems very powerful.
13:18 Limbic_Region joined #perl6
13:18 masak perl6: class A { method foo {} }; my $a = A.new; foo $a: # should this work?
13:18 pmurias using a metaclass instance is easier then using tons of strange perl5ish syntax
13:18 p6eval rakudo 34104: OUTPUT[Statement not terminated properly at line 1, near ": # should"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
13:18 p6eval ..elf 24488: OUTPUT[Undefined subroutine &GLOBAL::infix_58_58 called at (eval 121) line 9.␤ at ./elf_f line 3861␤]
13:18 p6eval ..pugs: RESULT[undef]
13:18 vixey joined #Perl6
13:18 masak Pugs++
13:20 pmurias one confusing thing with metaclasses is that people tend to call the "metaclass instance" the metaclass
13:20 masak I guess "metaclass object" would work fine as well.
13:21 masak using "instance" right next to "class" feels strange.
13:21 pmurias the metaclass instance is an instance of the metaclass
13:22 masak I know that.
13:22 masak but an instance is just an object.
13:23 alc joined #perl6
13:23 justatheory joined #perl6
13:42 riffraff joined #perl6
13:47 pdcawley joined #perl6
14:12 meppl joined #perl6
14:17 alester joined #perl6
14:36 spx2_ and how can I implement new stuff for perl6 if I want to  ?
14:36 masak spx2_: you mean contribute to Perl 6 development?
14:37 masak well, download Rakudo and give it a spin. find something that isn't implemented. come back here and complain. submit bug reports. herd spectests. submit patches.
14:38 masak that's what I did. :)
14:38 spx2_ that sounds interesting
14:40 moritz_ or: pick a project, implement it in Perl 6, come here to report bugs ;-)
14:40 moritz_ that's also what masak did
14:40 masak :)
14:41 * azawawi wonders what to do next ;-)
14:42 meteorjay joined #perl6
14:43 moritz_ azawawi: goto t/TASKS. Read. Implement. Get karma ;-)
14:43 masak moritz_++ # always full of good ideas :)
14:45 alexn_org joined #perl6
14:46 cspencer joined #perl6
14:54 sail0r joined #perl6
15:05 iblechbot joined #perl6
15:06 pugs_svn r24489 | moritz++ | [t/spec] more tests for infix:<...>
15:11 rindolf joined #perl6
15:19 moritz_ @tell TimToady S12:307 $obj.@candidates seems underspecced to me. Does it call all methods in @candidates? in order? parallel? or the first item in @candidate with a matching signature?
15:19 lambdabot Consider it noted.
15:19 justatheory joined #perl6
15:22 eric256 couldn't things like infix:<...> be implemented in pure perl as part of modules?
15:23 eric256 guess thats the normal where do you draw the line between part of the language and additions to the language
15:26 donaldh joined #perl6
15:27 smtms joined #perl6
15:31 Lorn joined #perl6
15:32 xinming joined #perl6
15:35 moritz_ what's the Perl 6 equivalent to $^X?
15:38 azawawi joined #perl6
15:39 eric256 :q
15:39 eric256 dear god, me and my freaking windows :) this is the problem with having three monitors
15:42 azawawi moritz_: ping
15:43 moritz_ azawawi: poin
15:43 * azawawi ping timeout ;-)
15:44 azawawi moritz_: given that perl6.vim is all regexp, it can be processed by a perl5 library to produce highlighting...
15:44 * azawawi thinks...
15:45 moritz_ azawawi: aye. But the regex syntax in vim is different, so you'll have lots of fun converting them to perl regexes ;)
15:45 pmurias azawawi: you mean turning perl6.vim into perl5 code
15:45 pmurias ?
15:45 azawawi pmurias: no i mean intepreting vim regexp...
15:46 azawawi pmurias: vim regexp interpreter
15:46 pmurias what would be the point?
15:46 * azawawi Syntax::Highlight::Perl6Vim...
15:46 azawawi faster
15:46 pmurias no
15:47 azawawi why not?
15:47 pmurias interpreting them doesn't seem much faster ;)
15:47 eric256 is pod working in rakudo?
15:47 moritz_ eric256: it is ignored by the compiler
15:47 moritz_ eric256: pod6 as described by S26, at least
15:47 eric256 then i must be doing pod wrong
15:47 azawawi pmurias: oh well, im gonna try it for fun ;-)
15:48 moritz_ =begin something\n...\n=end something
15:48 eric256 oh maybe its just "=begin end" thats not working yet
15:48 pmurias otoh if you translated them to perl5 regexes...
15:48 moritz_ azawawi: well, if you compile the vim regexes into perl regexes, you might find it's quite fast
15:49 hercynium joined #perl6
15:49 azawawi moritz_: you mean something like to compile perl6.vim -> regexp and then run the perl5 code
15:49 moritz_ azawawi: aye
15:50 azawawi moritz_: gimmeVim5? ;-)
15:50 moritz_ azawawi: yes ;-)
15:51 * azawawi is going to start on that project tomorrow
15:52 azawawi moritz_: export highlighted html is now functional in Padre::Plugin::Perl6 btw
15:52 eric256 ahh the start and end tags have to match (yes thats obvious but i never did pod and just wanted an __END__ :) )
15:52 cspencer good morning all
15:53 pmurias azawawi: speeding up STD would be a harder but much more usefull project
15:53 azawawi pmurias: sure
15:54 * azawawi takes a note of that suggestion
16:00 pugs_svn r24490 | moritz++ | [t/spec] basic first tests for say together with array refs
16:03 pmurias azawawi: re log file in the S::H::P6 it's created by STD
16:04 c9s joined #perl6
16:04 eric256 is modifying grammar.pg and then make perl6 enough to play with changing the grammar? /me assumes so but just wants to check
16:04 cspencer i've got a question if anyone's free to take it :)
16:05 moritz_ eric256: that's enough, yes
16:05 moritz_ cspencer: feel free to ask, maybe somebody can help you
16:05 cspencer according to S29, some of the math builtins are supposed to return values of Int, but they're currently returning Num's, so something like: my Int $x = floor(4.3); will fail on account of type mismatch
16:05 cspencer should that be fixed in the math.pir?
16:06 cspencer i'll submit a patch in a bit if so
16:06 moritz_ rakudo: my Int $x = floo(3.4); say $x;
16:06 p6eval rakudo 34109: OUTPUT[Could not find non-existent sub floo␤current instr.: '_block14' pc 114 (EVAL_12:63)␤]
16:06 moritz_ cspencer: good catch, please submit patch
16:06 cspencer shoud i put it into the RT?
16:07 moritz_ yes
16:07 cspencer will do
16:07 eric256 rakduo: my Int $x = floor(3.4); say $x;
16:08 moritz_ eric256: you have a zero-width non-breaking space after the colon, which p6eval doesn't like
16:08 cspencer rakudo: my Int $x = floor(3.4); say $x;
16:08 p6eval rakudo 34109: OUTPUT[Type mismatch in assignment.␤current instr.: 'die' pc 14378 (src/builtins/control.pir:188)␤]
16:09 cspencer rakudo: my $x = floor(3.4); say $x;
16:09 p6eval rakudo 34109: OUTPUT[3␤]
16:09 eric256 rakudo: my $x = floo(3.4); say $x.WHAT;
16:09 p6eval rakudo 34109: OUTPUT[Could not find non-existent sub floo␤current instr.: '_block14' pc 58 (EVAL_12:40)␤]
16:09 eric256 oh shoot
16:09 eric256 rakudo: my $x = floor(3.4); say $x.WHAT;
16:09 p6eval rakudo 34109: OUTPUT[Num␤]
16:10 eric256 how do you rewrite "begin \h+ end .*?" to match everything that follows?  .*? doesn't seem to work, i want to match all the way to the end of the string
16:12 masak eric256: then you shouldn't use the question mark.
16:13 masak it makes the quantifier reluctant instead of greedy.
16:14 eric256 oh of coures it does. lol
16:14 azawawi pmurias: yes, what about the log?
16:15 pmurias azawawi: so it in the BUGS section and wanted to confirm it's created by STD
16:16 azawawi pmurias: yup
16:17 azawawi pmurias: do u know how to parse error messages from STD?
16:18 pmurias s/so/saw/
16:18 * eric256 wonders how long make spectest takes to run ;)
16:18 eric256 is there a report page showing nightly builds / test success?
16:19 * pmurias thinks about the errors
16:21 pmurias azawawi: why do you want to parse them (editor integration?)
16:22 masak eric256: http://rakudo.de/
16:22 azawawi pmurias: im already STD->parse while highlighting things and i thought why not expose the extra information...
16:22 masak eric256: maybe not exactly what you want, though.
16:25 * azawawi tries to load STD.pm inside Padre
16:25 pmurias azawawi: i think looking at the part of STD which generates them and seeing how it does it is the best way
16:27 eric256 yea i was hoping for a chart of test files and pass/fail rates for each file...would be nice to have one that runs unfudged too to see if any tests pass unexepectidly ;)
16:28 azawawi moritz_: in .p6 -> perl 6 what about .pm? .pm6?
16:28 alech joined #perl6
16:29 masak eric256: https://svn.perl.org/parrot/trunk/lang​uages/perl6/docs/spectest-progress.csv
16:29 cspencer this is a dumb question, but how do i get a patch into RT?  can i do that via the web interface?
16:29 avar yes
16:30 masak cspencer: no.
16:30 masak cspencer: send an email to rakudobug
16:30 cspencer ah, ok, thanks masak
16:30 masak (if it's a Rakudo patch)
16:30 cspencer it is :)
16:30 c9s_ joined #perl6
16:32 masak cspencer++ # submitting Rakudo patches
16:33 araujo joined #perl6
16:33 hercynium joined #perl6
16:34 cspencer ok, sent!
16:35 stephens joined #perl6
16:35 eric256 okay i've got a patch ready for =begin END and =END, but i don't have a clue how to test it ;) any ideas how to test pod?
16:37 moritz_ azawawi: perl scripts end with .pl, modules with .pm. With Perl 6 as well.
16:38 masak eric256: make a set of minimal pieces of code and POD mixed, whose syntactic legality you want to test.
16:38 masak eric256: then test them with eval() and see if they compile.
16:39 eric256 okay..but everything after an =END gets ignored...
16:39 moritz_ so write something that would cause a syntax error after the =END
16:40 alech joined #perl6
16:40 ihrd joined #perl6
16:42 cspencer rakudo: sub foo (Int $x?) { say "x = $x" }; foo();
16:42 p6eval rakudo 34110: OUTPUT[Parameter type check failed in call to foo␤current instr.: 'die' pc 14378 (src/builtins/control.pir:188)␤]
16:43 cspencer how should optional typed parameters be dealt with in the above case?
16:44 masak cspencer: looks like a bug to me.
16:44 cspencer is there an uninitialized value that should be used?
16:44 cspencer ok
16:44 masak cspencer: care to submit to rakudobug?
16:44 cspencer will do
16:44 masak cspencer++
16:45 ihrd hi there
16:47 ihrd If I have class Foo {}; and do Foo.method; Foo.another_method; Foo.yet_another_method; I have new instance of Foo each of that call? I think so, but mb I miss something.
16:48 masak ihrd: no, I don't think so.
16:49 masak all those calls are made on the proto object.
16:49 pugs_svn r24491 | pmurias++ | [mildew] moved some stuff into AST::Helper
16:49 pugs_svn r24491 | pmurias++ | a large part of mold for AST::Package is created by creating simpler AST nodes
16:50 ihrd Foo read file for fill its attributes
16:50 ihrd thats file readed only once?
16:50 adc_penner joined #perl6
16:51 eric256 there we go, had to make it two test files
16:52 cspencer is it possible to add methods written in perl 6 onto builtin classes?
16:52 cspencer ie) add a p6 method onto the List builtin class
16:52 pugs_svn r24492 | eric256++ | [t/spec/S02-whitespace_and_comments] Added test files for =END and =begin END
16:56 eric256 rakudo: class B is Int { method t { say "hello"} }; my B $b = 5;
16:56 p6eval rakudo 34110: OUTPUT[Type mismatch in assignment.␤current instr.: 'die' pc 14378 (src/builtins/control.pir:188)␤]
17:01 eric256 masak: i was thinking something more like http://perlcabal.org/smoke.html
17:09 c9s joined #perl6
17:23 * eric256 submited PATCH#61534 and tests for =END and =begin END ;)
17:27 alester joined #perl6
17:30 pmichaud STD.pm doesn't seem to support =END ...?  Or am I just missing it?
17:30 rakudo_svn r34112 | pmichaud++ | [rakudo]: spectest-progress.csv update: 250 files, 5213 passing, 0 failing
17:30 rakudo_svn r34114 | pmichaud++ | [rakudo]:  Add another spectest file (S06-other/main.t)
17:32 pmichaud afk # xmas shopping
17:34 ihrd left #perl6
17:40 eric256 i have no idea on STD.pm don't even know what that is ;)
17:44 pbuetow joined #perl6
17:46 smtms joined #perl6
18:06 pbuetow joined #perl6
18:20 TimToady eric256: =END is not valid p6, it has to be =end END
18:20 lambdabot TimToady: You have 1 new message. '/msg lambdabot @messages' to read it.
18:22 TimToady eric256: and STD.pm is the standard p6 grammar
18:22 TimToady which the other implementations are converging on
18:22 c9s_ joined #perl6
18:23 TimToady all the tests in the test suite must be compilable by STD
18:23 TimToady s/compilable/parseable/
18:23 pmichaud the S26 draft mentions =END
18:23 eric256 yea i was going to say S26 line 520
18:23 pmichaud (the one in the pugs repo)
18:23 * eric256 isn't arguing, just pointing ;)
18:23 pmichaud right, same here :-)
18:23 TimToady well, S26 is getting rewritten anyway :)
18:24 eric256 ohhh. well i was going with the implement early implement often ;)
18:24 pmichaud maybe a quick note that =END isn't "real" in S26 then
18:24 eric256 i like =begin END better any way, but S26 mentions alot of POD skipping the begin part
18:25 TimToady still waiting to see what TheDamian comes up with
18:25 pmichaud that's fine.
18:25 eric256 okay S26:1222 mentions a bunch that seem to be missing the begin, unless that was just shorthand for the documentation, in which case i was realy confused ;)
18:26 eric256 any problem with implementing it to see how it works out? i thought that was the idea
18:26 TimToady the last iteration of S26 did something completely different, so I'm not worrying about it much yet
18:26 pmichaud where's the last iteration of S26?  We should probably check it in.
18:26 bloonix joined #perl6
18:26 kcwu joined #perl6
18:26 buu joined #perl6
18:27 TimToady I think it was on sixperl maybe?
18:27 pmichaud I'll check my archives.
18:27 c9s__ joined #perl6
18:27 TimToady was doing something with comments and brackets, which I shuddered at and didn't read
18:28 TimToady but I'm more interested in the underlying design goals anyway
18:28 TimToady who's active and who's passive, and such
18:29 TimToady I think that last draft was using the notion that you always run p6 to parse, but with an option if you just want the docs
18:30 pmichaud I'm not seeing a later draft in my local archive
18:30 TimToady that's about all I remember
18:31 TimToady anyway, it's still basically in the design phase, one way or another, so don't put too much effort into the current S26
18:32 * pmichaud adds a note to S26.
18:32 TimToady thanks
18:32 eric256 i just wanted __END__ to comment out a bunch of code (debug from the bottom up) so i implemented it localy
18:32 TimToady there is no __END__ anyore
18:32 TimToady *anymore
18:32 TimToady it's just =begin END
18:33 eric256 yea i know, i was saying thats how come i implemented =begin END localy, then found =END in the docs an implemented it too
18:35 pugs_svn r24493 | pmichaud++ | Add note at top that the current S26 draft is known to be out-of-date
18:35 pugs_svn r24493 | pmichaud++ | with respect to current design.
18:36 pmichaud anyone is feel free to wordsmith the note.
18:44 kanru joined #perl6
18:53 literal out of date? oh, damn
18:56 DemoFreak joined #perl6
19:02 literal looking at the pod_comment token in STD.pm, it seems to me that it matches S26
19:02 literal I don't see any other Pod stuff
19:04 literal the actual Pod comments in STD.pm are not according to spec, though :)
19:04 literal i.e. doesn't make sense to out something like "=begin comment overview", should just be "=overview" or =begin comment\n=head1 Overview"
19:04 literal am I wrong here?
19:05 literal s/out/put/
19:06 ruoso_ joined #perl6
19:08 justatheory joined #perl6
19:08 literal or "=for Overview" rather than "=overview"
19:08 c9s joined #perl6
19:12 TimToady the latest design of TheDamian wasn't even using an initial =, so there's not much point in language lawyering yet...
19:13 TimToady we're still kinda at the Declaration of Independence stage...
19:14 TimToady or maybe we're writing the constitution...
19:14 literal oh, I see
19:15 literal is there something I can read about this latest design? mailing list archives maybe?
19:16 TimToady we're still looking for it
19:17 stephens joined #perl6
19:20 Whiteknight joined #perl6
19:35 Psyche^ joined #perl6
19:36 Psyche^ joined #perl6
19:43 c9s_ joined #perl6
19:49 c9s joined #perl6
19:57 Limbic_Region joined #perl6
20:11 abe[G] joined #perl6
20:17 c9s_ joined #perl6
20:26 mj41 joined #perl6
20:36 justatheory joined #perl6
20:37 mberends joined #perl6
20:37 DemoFreak joined #perl6
20:41 eric256 where the heck does TAP::Harness come from in Parrot::Test::Harness? i can't find a definition of runtests anywhere! ;) or any TAP/Harness.pm on my system...i must be dense
20:46 moritz_ eric256: try perldoc -l TAP::Harness
20:46 eric256 no documentation found. ;( i must be misreading something lol
20:47 eric256 was trying to figure out if i could smoke rakudo ;)
20:47 eric256 i'm guessing line numbers it probably blocking that though, but even a smoke without line numbers would be usefull
20:49 [particle] cpan TAP::Harness
20:49 eric256 tests run fine, thats why i'm confused
20:49 eric256 hehe
20:50 moritz_ it's in lib/Parrot/Test/Harness.pm
20:50 moritz_ bundled with parrot
20:51 eric256 the call to runtests is, but there doesn't seem to be any definition of runtests
20:51 eric256 oh well
20:52 eric256 oh duh, its in perl5's libe in Test::Harness
20:52 * eric256 goes to take a nap
20:54 eric256 :q
20:57 rindolf joined #perl6
21:03 pugs_svn r24494 | moritz++ | [t/spec] check that the rounder functions return Int values (RT #61526)
21:04 Eevee joined #perl6
21:08 pugs_svn r24495 | lwall++ | [STD] allow say for() to not treat for as terminator
21:09 justatheory joined #perl6
21:10 rakudo_svn r34116 | moritz++ | [rakudo] make ceil(), floor() etc. return Int values, not Num. cspencer++,
21:10 rakudo_svn r34116 | moritz++ | patch courtesy by Cory Spencer (cspencer at sprocket.org). Closes RT #61526.
21:17 cspencer i'm trying to add some methods written in perl 6 to one of the builtin classes, but the "is also" seems to cause subroutine parameters to be correctly scoped
21:18 cspencer is this a known issue at the moment?
21:18 pmichaud yes
21:18 cspencer alrighty
21:18 pmichaud we don't have "builtins in perl 6" working quite yet.
21:18 cspencer ah ok
21:18 pmichaud it's high on my list of things to do.
21:18 pmichaud but I've got to clean up class construction first, as you've noticed.
21:18 pmichaud and we need to refactor parameter handling.
21:19 cspencer sure, ok :)  i'd seen a ticket where you'd suggested implementing pick() is p6 and had taken a stab at it
21:19 cspencer as well as splice() in the process
21:20 pmichaud can go ahead and submit it to rakudo bug as a proposed patch.
21:20 pmichaud I'm really hoping that I can get prelude in p6 working before the end of the month.
21:20 cspencer sure, will do
21:22 Psyche^ joined #perl6
21:25 * eric256 thinks the end of the month is approaching pretty quick ;)
21:26 pmichaud yes.  on the other hand, I don't have any events or kid duties for another week
21:26 vixey it is
21:27 vixey I'm so glad christmas is cancelled this year, I don't have the time for it
21:27 PerlJam pm: you guys aren't planning anything for christmas or new years?
21:27 pmichaud PerlJam: at the moment, no.
21:27 pmichaud we may make last-minute plans, though.
21:28 pmurias joined #perl6
21:36 pugs_svn r24496 | pmichaud++ | [STD] convert <nofun> to <.nofun>
21:36 pmichaud it's sad that some part of Perl is <nofun>, though.
21:36 donaldh joined #perl6
21:38 moritz_ which is why we do Perl 6. Oh, wait...
21:40 pugs_svn r24497 | pmurias++ | [mildew] a &code helper is used to create Codes
21:42 Spreadsheet joined #perl6
21:42 Spreadsheet left #perl6
21:43 cspencer rakudo: my (@a, @b); @a.push(2);
21:43 p6eval rakudo 34116: OUTPUT[Method 'push' not found for invocant of class 'Undef'␤current instr.: '_block14' pc 85 (EVAL_15:47)␤]
21:44 moritz_ cspencer: care to open another ticket? ;-)
21:44 cspencer will do :)
21:44 pmichaud currently array variables declared in my lists are initialized (incorrectly) to Undef
21:44 moritz_ rakudo: my @a; @a.push(2); say @a;
21:44 p6eval rakudo 34116: OUTPUT[2␤]
21:44 pmichaud that's also why array assignment fails with   my ($x, @a) = ... ;
21:44 pmichaud feel free to file the ticket, though.  :-)
21:44 cspencer it seems to only happen when declared in list syntax
21:45 cspencer on its way!
21:45 pmichaud correct, it only happens in list syntax.
21:45 pmichaud The list syntax handler is overriding the default for @a with its own idea that it should be Undef.
21:45 pmichaud (and it's wrong for doing that.)
21:45 mj41_ joined #perl6
21:45 pmichaud fixing it to be correct requires some refactoring to a number of items, which is why it hasn't been done yet.
21:52 pugs_svn r24498 | moritz++ | [t/spec] tests for optional parameters, typed and untyped (RT #61528)
21:53 pmichaud moritz++ # fixing integer returns from floor, etc.
21:57 moritz_ that was cspencer++
21:57 pugs_svn r24499 | moritz++ | [t/spec] set some svn props, and clean up inconsistent newlines
21:57 pmichaud cspencer++ # fixing integer returns from floor, etc.
21:57 pmichaud moritz++ # applying patch
22:03 cspencer i'm going to take a wild guess and assume that the error thrown when an optional parameter is declared, but no default value is provided is also part of the coming refactoring? :)
22:03 cspencer ie
22:03 cspencer rakudo: sub foo (Int $size?) { say "bar" }; foo();
22:03 p6eval rakudo 34116: OUTPUT[Parameter type check failed in call to foo␤current instr.: 'die' pc 14378 (src/builtins/control.pir:188)␤]
22:04 pmichaud yes, it is part of that refactoring.
22:04 pmichaud basically all of parameter handling needs a huge refactor.
22:04 cspencer okay
22:05 moritz_ rakudo: sub foo(Str $a?) { say $a }; foo('a');
22:05 p6eval rakudo 34116: OUTPUT[a␤]
22:05 moritz_ rakudo: sub foo(Str $a?, Str $b?) { say "$a|$b" }; foo('a', 'b');
22:05 p6eval rakudo 34116: OUTPUT[a|b␤]
22:05 pmichaud unfortunately, doing that has a direct impact on multi-dispatch and a whole bunch of other things which kinda depend on the current implementation.
22:05 pmichaud which is why it's not a trivial fix.
22:06 moritz_ I thought the latter failed for me locally
22:06 pugs_svn r24500 | moritz++ | [t/spec] more tests for passing optional arguments
22:06 cspencer moritz: the latter works for me
22:07 pugs_svn r24501 | particle++ | [spec] updates to notes, and minor clarifications
22:07 pugs_svn r24502 | moritz++ | [t/spec] oops, fudged the wrong test
22:15 justatheory joined #perl6
22:16 Caelum joined #perl6
22:19 mncharity joined #perl6
22:20 pugs_svn r24503 | lwall++ | [gimme5] fix localization of "context" vars such as $::PARSER for azawawi++
22:22 mncharity lwall: I find src/perl6  make  is still failing with  STD.pmc has too many errors.
22:23 mncharity TimToady: ^^
22:38 Whiteknight joined #perl6
22:40 TimToady works fine here, what version of perl are you running?
22:41 TimToady mncharity: please nopaste the errors and perl -V
22:43 TimToady @messages
22:43 lambdabot moritz_ said 7h 23m 36s ago: S12:307 $obj.@candidates seems underspecced to me. Does it call all methods in @candidates? in order? parallel? or the first item in @candidate with a matching signature?
22:45 c9s joined #perl6
22:45 pmurias mncharity: hi
22:46 mncharity checking/pasting/hi
22:46 pmurias heh
22:48 oria joined #perl6
22:48 pasteling "mncharity" at 98.216.110.149 pasted "src/perl6 make and perl -V" (99 lines, 6.9K) at http://sial.org/pbot/33932
22:48 adc_penner joined #perl6
22:49 mncharity ran clean as of a few days ago
22:50 pmurias mncharity: what are you working on atm?
22:50 mncharity trying to decide.
22:51 mncharity plan was  get STD_blue+rx_on_re passing rx_on_re tests, then either work on rx t/ files, or start in on running STD.pm .  but STD.pm support for p5 re turns out to be a bit broken.  so... not sure.
22:54 mncharity answering question by looking backwards instead, have misc/elfish/rx_on_re make check_blue running, which is the rx_on_re test suite with the regex tests passed through STD_blue (ie, through STD.pm+gimme5), into elf IR, emitted to p5, and run.
22:56 Limbic_Region joined #perl6
22:58 pugs_svn r24504 | lwall++ | [S12] clarify $object.@candidates for moritz_++
23:00 rakudo_svn r34120 | moritz++ | [rakudo] another file for spectest.data: test passing of optional parameters
23:00 mncharity the p5 portion of the test suite is obviously more valid that the somewhat out of date p6 rx portion.  and has more >95% passing.  so I was going to use that to shake everthing down hard.  but the STD.pm p5 re parsing turns out to need some more work.  I was finding slow and very non -Ofun going. :/   Anyone want to work on STD.pm?  I can give a list of parsefailing regexps.
23:00 mncharity :)
23:01 pmurias mncharity: how would parsing p5 regexes better help the bootstrap
23:01 pmurias ?
23:01 TimToady mncharity: I think your problem must be in somewhere in the P5Regex code--are you in sync with svn head?
23:03 TimToady assuming you have some custom code in there, likely you are doing something that is giving fooling gimme5 into emitting bad code
23:04 TimToady gimme5 is rather picky about the code it will translate
23:04 TimToady I give it about a 50% shot that you need to double the curlies in some closure somewhere to avoid confusing gimme5
23:05 TimToady s/in/around/
23:05 TimToady one of my goals was to replace gimme5 with viv, but haven't got back to that
23:06 mncharity drat.  ok, I rm -rf perl6; svn up'ed; and make works. :(   so I through away to ability to experiment with what  make distclean wasn't cleaning that rm -rf did.  sorry about that.  upside is I'm working now (re make).
23:06 mncharity re p5re,
23:07 mncharity $ ./try5 comp_unit -e '/:P5 (?!a)/'    Parse failed.  See try5.err.
23:07 mncharity $ ./try5 comp_unit -e '/:P5 (?i:a)/'   Parse failed.  See try5.err.
23:08 mncharity $ ./try5 comp_unit -e '/:P5 ()\1/'  Parse failed.  See try5.err.
23:08 moritz_ is the :P5 modifier even legal inside a rule?
23:08 avar isn't the modifier supposed to be outside the pattern/
23:09 moritz_ ./try5 comp_unit -e 'rx:P5/(?i:a)/' # win!
23:09 mncharity re :P5, I note it's sufficient to get me into the STD.pm P5Regex grammar.  other than that, no idea.
23:10 moritz_ same with rx:P5/()\1/
23:11 mncharity ok, that's unexpected.  I have  m:P5/.../  logged as not working at all.
23:12 * moritz_ tries to give mncharity some hope back
23:12 TimToady the Regex grammar does define :P5 as an internal modifier, but it could well be messing up the linguistic handshake somehow
23:12 eric256 rakudo: (1..5).map: {rand}
23:12 p6eval rakudo 34119: OUTPUT[Method 'map' not found for invocant of class 'Range'␤current instr.: '_block14' pc 82 (EVAL_16:43)␤]
23:13 moritz_ rakudo: list(1..5).map: { rand }
23:13 p6eval rakudo 34119: RESULT[[0.180863697621138, 0.590340837693901, 0.733011155194742, 0.324590001345264, 0.339733926474839]]
23:14 eric256 yea. but is that a workaround or the way its going to be?
23:14 TimToady actually m/:P5 xxx/ works fine, so it's probably just missing P5Regex stuff
23:15 TimToady actually, m:P5// only works because it's parsing the // as a string
23:15 pmichaud eric256: .map should work on Range -- the problem is that the '.map' method needs to move to Any
23:15 TimToady it doesn't actually call into P5Regex correctly
23:15 pmichaud I think right now it's defined in List, which isn't (completely) correct.
23:15 eric256 ahh okay
23:15 * moritz_ notes that we need more tests
23:15 pmichaud stated slightly differently:  .map is defined in src/classes/List.pir, but it needs to be in src/builtins/any-list.pir
23:16 * eric256 is porting http://perlmonks.org/?node_id=731651 to perl6 for fun
23:16 eric256 is it as simple as cut & paste ? cause i can do that and test and right tests if so
23:16 pmichaud if someone wants to move the map definition from List.pir to any-list.pir, that'd be a worthy patch.
23:16 TimToady there's a sense in which parsing // as a string is more P5ish though
23:16 pmichaud it's not _quite_ cut & paste.
23:17 TimToady and it should only be fed to the P5Regex parser after interpolation, but maybe that's going to far in accommodating P5 semantics...
23:17 eric256 okay, i'll add it to my list
23:17 TimToady s/to/too/
23:18 pmichaud eric256: also, you might submit it as a rakudobug.  That will at least remind me it needs to be done.
23:19 mncharity sorry, got sucked into analysis.  moritz_: re hope, yes, much appreciated, thanks.  re string, yeah, rx:P5/foo/  is regrettably not actually parsing the p5 re.
23:19 TimToady but that is how the P5 lexer does it, alas
23:19 TimToady well, with some preprocessing knowing it's really a regex
23:20 TimToady but it's all a big hairy kludge in p5
23:20 mncharity /:P5 foo/  *is* parsing the p5 re, but yes, it's not entirely working.
23:20 TimToady not clear how much :P5 wants to emulate that
23:20 TimToady also not clear if external :P5 and internal :P5 need to do it the same way :)
23:21 mncharity lol  sigh
23:21 pugs_svn r24505 | moritz++ | [t/spec] a test for Range.map
23:21 TimToady arguably it might be correct the way it is, and external :P5 should interpolate and then call P5Regex on the result
23:22 TimToady and internal :P5 remains blissfully ignorant of interpolation
23:22 * moritz_ calls it a day, TTFN folks
23:22 TimToady ciao
23:22 mncharity moritz_: thanks again
23:23 TimToady ciao = calls it an o<mumble>
23:26 c9s_ joined #perl6
23:32 mncharity the rx:P5/I am a string, call P5Regex to parse me at compile or runtime/  story sounds plausible.
23:33 mncharity but still leaves me with a only partially working STD-based p5 re parser.
23:34 mncharity no (?:a) groups in particular.
23:36 c9s__ joined #perl6
23:36 mncharity pmurias: sorry for the delay, re
23:38 eric256 does "is copy" not work yet?
23:39 mncharity "how would parsing p5 regexes better help the bootstrap", there's a solid p5 re test suite.  absent that, there indeed wouldn't be much point.  it permits robust incremental development.
23:40 hercynium joined #perl6
23:42 mncharity test driven, keep-it-working development.  "the p5 library passes the tests, then the p6-ified elf-ification of that library passes the tests, then using STD_blue for parsing passes the tests (and keeps them passing through STD.pm changes and syncronizing with STD/current dialect p6 rx), then STD-running-on-elf passes the tests".
23:45 mncharity well, solid is overstating it.  there's a quite partial but still non-trivial p5 re test suite.  compared to the complexity of p5 re, the perl5 test suite could use several 100% expansion.  but... beats nothing.
23:46 eric256 its kinda surprising but perl6 does still feel like perl5 when you get right down to coding in it ;) and its worth it just to get real parameters for subs ;)
23:46 mncharity lol :)
23:47 eric256 http://perlmonks.org/?node_id=731696  can someone check that out and see if i missed any easy advantages?  only gained like 4 lines on the perl5 implementation, doesn't seem like enough
23:47 eric256 hehe
23:47 mncharity looking
23:47 eric256 oh and rand feels klunky, looking for some specs on it now
23:48 ruoso joined #perl6
23:50 c9s joined #perl6
23:51 eric256 i think part of what threw me off was rand suddenly returning 0
23:52 mncharity @weights.int seems odd.  hmm, a good exercise might be to try writing it in idiomatic somethingelse.  ruby or python.  and then translate back to p6.
23:52 lambdabot Unknown command, try @list
23:52 eric256 yea whats a good way to get the length of an array in p6?  .int works but maybe isn't the prettiest ;)
23:53 mncharity pmurias: ?
23:53 cspencer @a.elems
23:53 lambdabot Unknown command, try @list
23:53 cspencer rakudo: @a = (1, 2, 3); say @.elems
23:53 p6eval rakudo 34120: OUTPUT[Scope not found for PAST::Var '@a'␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤]
23:53 mncharity cspencer: and probably implicit in the  for 1..@a -> $i {
23:53 eric256 actualy  for @weights { works just fine in that case
23:54 cspencer ah, right
23:55 eric256 hey, with .clone implemented shouldn't (is copy) just do a clone?
23:56 * eric256 guesses that probably is in the refactoring that he keeps hearing about
23:56 * mncharity anticipates a need for p6 katas and annotated refactoring exercises

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

Perl 6 | Reference Documentation | Rakudo