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