»ö« | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 25 June 2010.
[particle] cxreg: do like they do on the cpan 00:00
cxreg um
00:00 ashleydev left
[particle] make those tests optional 00:00
oha isn't supposed that a *dbi will be tested using a mock driver?
(just asking for curiosity) 00:01
cxreg who knows. MiniDBI ships with a functioning mysql and Pg, and some not-quite-as-functional others such as CSV
[particle] oha: we're in the infancy stage here, so we don't really have standards yet
make it work, then make it good.
oha got it
00:02 Patterner left, Psyche^ is now known as Patterner, dotan joined
oha does gather and infinite list works on rakudo? 00:03
colomon oha: yes 00:04
with caveats, but yes
oha then i can't understand something 00:05
colomon rakudo: say (1, 4, 16 ... *).munch(20).perl
p6eval rakudo f196e8: OUTPUT«(1, 4, 16, 64, 256, 1024, 4096, 16384, 65536, 262144, 1048576, 4194304, 16777216, 67108864, 268435456, 1073741824, 4294967296, 17179869184, 68719476736, 274877906944)␤»
oha lemme narrow it a bit. what happen if i use a infinite list with a junction?
colomon something like any(1...*) ?
oha yep, for example
will be hang?
colomon that's what I would expect. 00:06
but I'm not the most knowledgeable about junctions.
jnthn Yeah, junctions + infinite lists don't to together.
*GO
[particle] junctions are not lazy 00:07
colomon basically, you don't want to use infinite lists anywhere that you suspect might need to know all the elements in the list.
00:07 kensanata joined
jnthn Right. Junctions want to know all of the possibilities. When you consider junction auto-threading, things get even more fun. 00:08
Of course, we could say "ah, the auto-threading doesn't really call anything at that point, it just will if you use that junction", but I'm not sure that's just not delaying an innevitable explosion until further down the line in most junction use cases.
oha i've tried with rakudo a prime generator using gather/take 00:09
jnthn Plus it's a bit too surprising.
oha but i was not able to make it work lazy
jnthn oha: If you're using any with an infinite list, it won't work.
oha nope
that's what i expected too
jnthn oha: There's ways to do it, just not that way. :-)
colomon hmmm.... if you're talking about checking a number against a lazy sequence of primes to see if it is prime, what you need is a way to know when to stop looking at that sequence of primes. Presumably that's pretty easy if they are ordered.... 00:11
lue is looking at the Go language, and still likes Perl6 :) 00:13
oha colomon, probably i must work on this a bit more
colomon actually, that sounds like a really interesting test for Rakudo.
oha lemme check something more
colomon is staring at mandelbrot and thinking that if series was just expanded to use .abs as an ending condition on a series, the inner loop could just be a series..... 00:15
supernovus Projects added, documentation added, pull request sent.
colomon supernovus++ 00:16
rakudo: say ({ @_.unpolar(@_) } ... { $_.abs > 10 }).perl 00:17
p6eval rakudo f196e8: ( no output )
00:18 PythonPup joined
colomon ah, we still don't allow Code for the RHS. :| 00:18
rakudo: say ({ @_.unpolar(@_) } ... 10).perl
p6eval rakudo f196e8: ( no output ) 00:19
colomon rakudo: say ({ @_.unpolar(@_) } ... 10).munch(10).perl
p6eval rakudo f196e8: OUTPUT«(Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0))␤»
colomon rakudo: say (-> *@a { @a.unpolar(@a) } ... 10).munch(10).perl 00:20
p6eval rakudo f196e8: OUTPUT«(Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0), Complex.new(0, 0))␤»
colomon huh
PythonPup Howdy. I came here from an article talking about screencasts for perl6. Does anyone have a pointer to a non-flash version of the videos, so I can watch them? 00:21
supernovus I added SCGI to the pls list too, it was already on the proto list. I'm not sure if the demand for SCGI is enough to warrant adding it to R* though (unless lots of people are going to be doing web apps, in which case SCGI is much, much faster than CGI... and simpler than FastCGI (which is already on my TODO list)) 00:22
oha pastebin.com/J4TmtjXL
i expected this should not loop
jnthn PythonPup: Hi! szabgab who created them hangs out here, but I think it may be sleep time where he is now.
colomon oha: you can't do @primes = an infinite list 00:23
PythonPup I'll try later, then. Thank you.
jnthn Welcome.
colomon with very tight exceptions where it might work.
you want my @primes := gather ... etc
oha oh!
colomon still don't know if that will work with the additional internal reference to @primes. 00:24
supernovus Anyway, DateTime::Utils is definitely my big suggestion for a bundled module with R* :-)
jnthn phenny: tell szabgab PythonPup is looking for non-Flash versions of your Perl 6 screencasts; I know you mentioned some AVI version or something to. Is there a link to them somewhere?
phenny jnthn: I'll pass that on when szabgab is around.
oha colomon, great, using := it works
colomon oha: actually ... wait, really?
I would have thought you would get an infinite loop anyway, because you're ... ah, I see. 00:25
maybe.
jnthn colomon: Sounds feasible that it would...
oha yep
jnthn colomon: Since you're bound the thingy containing the gather iterator to that variable.
colomon: And can then look at the re-ified part.
colomon: = may well be a bit too eager for it to work. 00:26
[Coke] runs parrot profiling tool against "say 3*2". this could take a while. :P
colomon it's the "for @primes" bit that has me tied in knots
00:26 _macdaddy left
jnthn [Coke]: You'll mostly measure startup time, but that is interesting too :-) 00:26
[Coke]: Esp because every time we share off that, we shave off some hundreds times that for the test suite run :-) 00:27
[Coke] jnthn: it's too slow to measure anything else on this laptop. :P
colomon gotta go, being kicked out of library. ;)
00:27 colomon left
jnthn
.oO( They ban Perl 6 hacking in libraries now? )
00:28
[Coke] it's subversive.
jnthn But we switched to git! 00:29
oha lol :)
oh btw [Coke] i think i've found the heisenbug on the Match
i've replied to the ticket, is it enough? 00:30
dotan rakudo: 'foo' ~~ m/:i OO/; 00:31
How can I do a case-insensitive test for a string in a variable? /$a/ works, /:i string/ works, /:i $a/ doesn't work :(
p6eval rakudo f196e8: ( no output )
[Coke] oha - that should get your reply into RT, yes. 00:32
supernovus Anyway, have a good ('day','night','morning','evening').pick(1);
oha [Coke], ok.
00:32 supernovus left
[Coke] dober... den? vecher? whichever. 00:32
jnthn [Coke]: Which slavic language were you aiming for? :-) 00:33
dotan: /:i $a/ should work, I believe - somebody filed a bug ticket about that recently: rt.perl.org/rt3/Ticket/Display.html?id=76500
dotan: But it didn't get fixed yet. 00:34
[Coke] jnthn: bulgarian.
jnthn [Coke]: Can't help you there then. :-( 00:35
[Coke] I cannot remember which is evening, or day, or which.
jnthn den will be day
[Coke] I think leka nosht is good night.
00:36 azert0x left
jnthn I've studied a decent bit of one West Slavic language, amd currently studying an East Slavic language, but never got to do any of the South Slavic ones just yet. 00:36
Would like to some day though. :)
mberends jnthn: o/ 00:37
jnthn mberends!! :D
mberends: How's things?
00:38 colomon joined
mberends dobro jutro! Fine here in London, just had a dinner with much wine :-] <- happy glazed grinning look 00:38
colomon you have a dobro? # en.wikipedia.org/wiki/Dobro 00:39
jnthn uh-oh...
oh, phew, it's something quite innocent :-)
colomon: I assume they are good. ;-) 00:40
mberends: That sounds nice :-)
mberends: I've just taken care of a Krusovice and am now onto a Trashy Blonde. :-)
colomon jnthn: "Dobro means good in any language" was apparently an old company slogan 00:41
jnthn colomon: nice 00:42
colomon: Oooh! The founders were actually Slovak! 00:43
00:43 cdarroch left
colomon yeah, I didn't know that until I read the wikipedia article just now. 00:43
jnthn Wow. :-)
slovakia++
00:44 dotan left
colomon I just knew a dobro was a cool resonator guitar, I know a guy from Toronto who plays one. (In addition to playing guitar, mandolin, 4-string banjo, fiddle, etc.) 00:44
mberends colomon, you've culturally enlightened us :) 00:45
00:48 kensanata left
mberends with the Zavolaj patch from cxreg++, NativeCall can now reference any Parrot internal function by not specifying an external library. I'm sure that's quite significant, but I'm racking my woozy brane for actual examples to demonstrate this capability (apart from fork, which started the fun). Any ideas? 00:49
jnthn mberends: Segfaults!
mberends shoots jnthn with a champagne cork
jnthn mberends: I struggle to think of a good practical use off-hand. I mean, most Parrot functionality is already exposed through PMCs etc. 00:50
mberends indeed 00:51
jnthn mberends: I wonder if you could use the embedding interface to embed Rakudo in itself.
;-)
mberends pass that to the Department of Useless Information 00:52
jnthn mberends: Maybe call the libc backtrace function so you can write a module to print a C stack backtrace at any point in a Perl 6 program. :-)
That might even be occasionally useful. :-) 00:53
mberends that might actually work.. hmm, profiling hooks?
jnthn I think that's mostly done by running under a profiling runcore. 00:54
01:05 whiteknight left 01:08 kkrev left 01:10 kkrev joined, dolmen left
[Coke] P6Object::HOW is the biggest sink on startup. 01:16
and that's 3 lines of PIR that I don't see how to speedup.
jnthn [Coke]: Whoa...really? 01:17
[Coke] if I'm reading this right.
ah, that could be inclusive. 01:18
01:18 xabbu42 left
[Coke] ah, much better. =-) 01:18
jnthn Yeah, but it shouldn't be calling anything, just returning something.
[Coke] also, the profiler could be stupidly broken. =-) 01:19
oha my @a := gather { ... @a[1..$x] ... }; # this works :) 01:25
01:25 drakej joined 01:27 oha left
[Coke] non inclusive, looks like Perl6::Cool.(but no function name given) 01:27
jnthn huh, weird 01:28
(the lack of name) 01:29
rakudo: Cool.^methods(:local).perl.say 01:30
p6eval rakudo f196e8: OUTPUT«[{ ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ...
..}, { …
jnthn rakudo: Cool.^methods(:local).join(', ').say
p6eval rakudo f196e8: OUTPUT«unpolar, floor, from-radians, asech, ord, capitalize, round, pred, split, match, acosh, words, lc, p5chop, to-radians, sinh, cotan, acotan, atan2, trim, asec, trim-leading, cotanh, ucfirst, sech, tan, rand, cos, truncate, fmt, trans, sqrt, asin, cosh, succ, subst, sign,
..Numeric, ch…
jnthn [Coke]: It's kinda tricky to guess what's going on there. 01:33
[Coke]: Oh...the loadinit blocks are all anonymous 01:34
[Coke]: How dominant is it?
[Coke]: Also, is antying in ClassHOW quite high in the list?
01:34 drakej left 01:35 timbunce joined
[Coke] perl6cool and perl6any dominate. 01:38
01:39 jferrero left
[Coke] then parrot post compiler;pir 01:39
then 3 anon _blocks.
drops off after that.
jnthn [Coke]: Inclusive or exclusive? 01:40
sorear std: { package Foo { }; }; { package Foo { }; } 01:42
p6eval std 31795: OUTPUT«===SORRY!===␤Illegal redeclaration of symbol 'GLOBAL::<Foo>' (from line 1) at /tmp/MLFseHD1cM line 1:␤------> { package Foo { }; }; { package Foo ⏏{ }; }␤Check failed␤FAILED 00:01 114m␤»
jnthn [Coke]: Also, any chance you could mail me the file you're feeding into kcachegrind?
01:42 TiMBuS joined
jnthn [Coke]: I'm a bit tired to do anything with this data tonight, but I'd like to browse it some more tomorrow. 01:42
sorear phenny: ask TimToady - STD.pm6:5623-5624 contains a check for $name ~~ /^\&/ && $name eq ''. When is this true? 01:43
phenny sorear: I'll pass that on when TimToady is around.
01:44 timbunce left
[Coke] jnthn: I can show you how I created it, if you want. ^_^ 01:45
jnthn [Coke]: Feel free to send that too - I have done so some time ago, but forgot the steps. :-) 01:46
(Thus why I have KCachegrind set up here already :-))
(Was some fun on Win32 :-))
[Coke] jnthn: I'll put it on feather: 01:50
┗━$━∫ scp parrot.out.2312.bz2 [email@hidden.address]
jnthn [Coke]: thanks
jnthn -> rest 01:58
colomon how do you say to stderr? 02:00
rakudo: $ERR.say "hello" 02:01
p6eval rakudo f196e8: OUTPUT«===SORRY!===␤Confused at line 22, near "$ERR.say \""␤»
colomon rakudo: $*ERR.say "hello"
p6eval rakudo f196e8: OUTPUT«===SORRY!===␤Confused at line 22, near "$*ERR.say "␤»
colomon hey, that one was right. :\ 02:02
rakudo: note "Hello"
p6eval rakudo f196e8: OUTPUT«Hello␤»
02:02 xinming joined 02:05 xinming_ left
lue wello o/ 02:08
02:12 jaldhar joined
colomon \o 02:13
sorear Hi!
02:19 kkrev left 02:20 Eevee left, kkrev joined 02:21 ab5tract left
colomon rakudo: say 90302 / 5151 02:29
p6eval rakudo f196e8: OUTPUT«17.530964861192␤»
02:35 Eevee joined
colomon pmichaud: ping? 02:41
pmichaud: my current analysis suggests that the very straightforward for loop structure in mandelbrot is taking most of the execution time. 02:44
much more time than the complex math
dalek ecza: 1e1b8ee | sorear++ | (4 files):
Make classes into a kind of package
ecza: 52f6d38 | sorear++ | (2 files):
Implement "grammar"
sorear colomon: I can absolutely beleive that 02:46
colomon sorear: I'm glad one of us can believe it. 02:47
I'm trying translating it to a "loop" loop right now.
yeah, wow. 02:48
total time with math, 10.5s 02:49
with just loop, 10s
er, that's a "for ^17" loop;
sorear lists are the first thing in niecza that actually needed to be microoptimized
colomon with "loop ($i = 0; $i < 17; $i++)" 2.75s
sorear they're suprisingly heaviweight 02:50
colomon with no loop at all, 1.5s
sorear and they're EVERYWHERE
colomon yeah
dalek ecza: 231d396 | sorear++ | (2 files):
Unbreak GLOBAL::

before Scalar was defined. Oops.
02:51
colomon the idea that rewriting to replace "for ^$total_iterations" with "loop ($i = 0; $i < $total_iterations; $i++)" might be such a massive improvement makes me kind of sad.
sorear well, we can do that replacement automatically 02:52
colomon as far as I know, there aren't any optimizations of that nature in Rakudo yet. 02:53
personally, I'd hope to drastically improve list performance first.
then make that transformation automatic. :)
02:58 snarkyboojum left 02:59 synth joined
TiMBuS rakudo: Any := 1; say 'ok?' 03:00
p6eval rakudo f196e8: OUTPUT«ok?␤»
TiMBuS 3:
sorear niecza: Any := 1; say 'ok?' 03:01
p6eval niecza 4aabaad: OUTPUT«can't open CORE_ast.store: No such file or directory at CompilerDriver.pm line 40␤»
03:01 [synth] left
TiMBuS aa, baad 03:01
sorear uh, moritz is running 'make' after pulls right? 03:02
colomon phenny: tell pmichaud that I knocked 60% off the mandelbrot-color.pl execution time by switching from "for ^$total_iterations" with "loop ($i = 0; $i < $total_iterations; $i++)" in the inner loop. Complex math appears to have relatively little effect on the overall execution time for this script. 03:05
phenny colomon: I'll pass that on when pmichaud is around.
TiMBuS i can't really follow the code in infix:<:=>. pir::isnull(pir::getprop__PsP('type', $target)) seems to always be null
03:06 justatheory joined
TiMBuS or always not null? well, its not entering the if loop 03:06
if block* i think my brain is broken
03:09 meppl joined, kkrev left 03:12 _jaldhar joined, jaldhar left 03:16 envi^home joined 03:20 kkrev joined
TiMBuS rakudo: my Int $a; $a := 'string'; $a.say 03:23
p6eval rakudo f196e8: OUTPUT«You cannot bind a variable of type Str() to a variable of type Int().␤ in 'infix:<:=>' at line 678:CORE.setting␤ in main program body at line 22:/tmp/7Wqu_Yvxhx␤»
03:24 cruftius_minimus joined
TiMBuS rakudo: my @a; @a.WHAT.say 03:25
p6eval rakudo f196e8: OUTPUT«Array()␤»
03:30 cruftius_minimus left 03:39 gbacon left 03:40 kkrev left 03:43 kkrev joined
dalek ecza: 1521ceb | sorear++ | (3 files):
Implement sub is export
03:46
ecza: 64fc764 | sorear++ | (2 files):
Factor out ok and plan into Test.pm6
sorear Why is module_name a proto regex? 03:48
03:55 DemoFreak left 03:57 DemoFreak joined 03:59 kkrev left, meppel joined 04:00 kkrev joined 04:03 meppl left 04:07 justatheory left 04:12 meppel is now known as meppl
TimToady sorear: we used to have a variant form to recognize 'use v6-alpha' after that was no longer stadard 04:19
phenny TimToady: 01:43Z <sorear> ask TimToady - STD.pm6:5623-5624 contains a check for $name ~~ /^\&/ && $name eq ''. When is this true?
sorear ah.
TimToady and my line 5623 doesn't look like that
04:20 kkrev left 04:21 kkrev joined 04:22 kjjkvnf joined
sorear mine looks like elsif $name ~~ /^\&/ { self.sorry("Illegal redeclaration of routine '$sid'$loc") unless $name eq ''; 04:24
TimToady yeah, found it 04:26
sorear what line is that for you?
TimToady the previous routine had s/\&// there 04:27
04:27 agentzh joined
pugssvn r31796 | lwall++ | [STD] various little cleanups 04:27
04:30 kkrev left 04:31 _jaldhar is now known as jaldhar 04:37 kkrev joined 04:38 kjjkvnf left
pmichaud good evening, #perl6 04:43
phenny pmichaud: 03:05Z <colomon> tell pmichaud that I knocked 60% off the mandelbrot-color.pl execution time by switching from "for ^$total_iterations" with "loop ($i = 0; $i < $total_iterations; $i++)" in the inner loop. Complex math appears to have relatively little effect on the overall execution time for this script.
pmichaud ah, since my next plan was to update 'for', that information is timely. :) 04:44
colomon: ping
04:45 kkrev left 04:47 kkrev joined 04:50 astrojp left
sorear uh oh, what is pmichaud going to do to for 04:52
04:52 kkrev left
pmichaud fix it so it uses .map (as it's supposed to) 04:54
TimToady does .map still use introspection rather than partial binding?
pmichaud yes.
sorear partial binding?
pmichaud I know we need to fix that...but we'll likely look at it as part of jnthn++'s other refactors happening in the next 3-4 months 04:55
04:55 kkrev joined
pmichaud it'll be much cleaner to do then. 04:55
TimToady sorear: when you bind to sig such as for map -> $a, $b, just let the binder count the args are turn the new arg cursor
s/are/and/ 04:56
/turn/return/
04:56 ashleydev joined
TimToady it's part of the reason for the switch to immutable cursors 04:57
sorear What's the advantage of the New Way? 04:58
pmichaud better mapping to multis 04:59
simply using .count isn't sufficient to know how many args to use when using .map with a multi 05:00
05:01 ashleydev left
TimToady and just a basic feeling that introspection should be used only as a last resort 05:02
05:03 mafs joined
TimToady signature matching is just another form of pattern matching, really 05:06
sorear Is it possible to do partial binding from Perl 6, or is it an implementation hook thingie? 05:09
pmichaud iirc, part of the reason for defining it was to make it possible to do in Perl 6 05:11
otherwise we have a key operation that isn't expressible in Perl 6 :)
jnthn, moritz, masak, colomon (and others): I'd like to hold the freeze on PARROT_REVISION through the R* release. Let me know if it looks like we won't be able to do this. 05:12
05:13 justatheory joined, ktne left 05:16 kkrev left 05:18 justatheory left 05:21 kkrev joined
dalek ecza: 99b7b7e | sorear++ | (5 files):
Implement use statements
05:31
ecza: 3402517 | sorear++ | (2 files):
Build and use Test.dll as part of the test system
05:34 kkrev left 05:35 kkrev joined 05:41 kkrev left 05:43 kkrev joined
sorear niecza *could* run spectests now, but all the ones I'm looking at use features that aren't going to be implemented anytime soon 05:45
most importantly 'eval'
sorear decides it's time to flesh out the regex compiler 05:47
pmichaud sorear: I feel your pain. I didn't like the fact that the spectests relied so much on eval() either.
05:48 kkrev left
pmichaud you might be able to get by with having things like dies_ok simply skip the test altogether. 05:48
05:49 agentzh left 05:50 kkrev joined
cxreg pmichaud: you still trying to get parrot fixes in? 05:52
looks like it might come down to the wire on pg 9.0 vs r* 05:54
maybe not, they're saying mid-august 05:55
pmichaud cxreg: I'm planning that R* will use the 2.6.0 release of Parrot 05:56
so, if a fix is not in already, it's not likely to make it for R*, unless it's Very Important
but as long as it makes it into Parrot 2.7.0 it should be able to go into R*'s august release 05:57
sorear for some reason I thought R* was trimonthly
pmichaud well, ideally I'd like it to be trimonthly, but I think realistically we'll have too many early bugfixes and changes for the first few months to do that 05:59
so we'll start out monthly, and then as the fix flood dissipates we'll slow down to bimonthly or trimonthly
if R* has a relatively easy way to say "update my compiler to a later version" then we might be able to not do monthly releases early on. (and R* should probably have that feature :) 06:01
TiMBuS how do you tell what 'type' of scalar was passed to a function. referring to the sigil type ($, @, or %) 06:02
not the actual type of the variable 06:03
pmichaud TiMBuS: I don't quite understand the question.
06:03 kkrev left 06:04 kkrev joined
TiMBuS pmichaud, well I'm trying to fix &infix:<:=> so it properly checks the 'type' of the sigil for assignment 06:05
@a := 'foo' should be disallowed for example (according to moritz_) 06:06
pmichaud the variable already knows its type
you don't have to check the sigil at runtime 06:07
it's already been placed into the container's 'type' property
rakudo: my @a := 'foo'; # testing
p6eval rakudo f196e8: ( no output )
pmichaud rakudo: my @a := 'foo'; say @a; # testing
p6eval rakudo f196e8: OUTPUT«foo␤»
pmichaud rakudo: my @a; say pir::getprop__PsP('type', @a); 06:08
p6eval rakudo f196e8: OUTPUT«Null PMC access in type()␤ in main program body at line 22:/tmp/ZVhnYAokbM␤»
TiMBuS yeah but @a implies 'does Positional'
pmichaud hmmmmmm
right
TiMBuS my Array @a
cxreg i'm having some pretty epic fail trying to execute NCI functions from plparrot so far :D
TiMBuS however,
pmichaud so it's supposed to already have a Positional 'type' property
so, that's a bug in the code that sets up @a, not the code that does ':='
TiMBuS that always returns null unless you set it 06:09
pmichaud TiMBuS: and it should've been set by the declaration.
TiMBuS rakudo: my Array @a; say pir::getprop__PsP('type', @a);
ah
p6eval rakudo f196e8: OUTPUT«Null PMC access in type()␤ in main program body at line 22:/tmp/FR2KGiPTmY␤»
06:09 kkrev left
TiMBuS well that usually works :/ 06:09
maybe i did it wrong
pmichaud well, my Array @a means "Positional of Array" 06:10
anyway, the problem is in the @a declaration, not :=
TiMBuS how about this one: 06:11
rakudo: Any := 1; say 'ok'
p6eval rakudo f196e8: OUTPUT«ok␤»
06:11 kkrev joined
pmichaud for that one, we need to have a property that distinguishes containers from values, I suspect 06:12
and := should check for that property
there's also been speculation of a "bindrw" property, that indicates whether something can be rebound or no. That would also solve that problem.
06:15 sjohnson left
TiMBuS that's a little bit over my head now. I don't know how/where rakudo sets up its pmcs (actions.pm?) 06:16
06:18 snarkyboojum joined
pmichaud yes, actions.pm 06:18
jnthn++ would be able to say exactly where the type information gets attached to the declared variable 06:19
oh, for "Any := 1" we just need to decide how to mark that something is bindable.
TiMBuS if something is readonly can you bind it to something? if not you could check for rw 06:21
pmichaud there's two forms of readonly-ness 06:22
there's the readonly-ness of the container for assignment
and readonly-ness for binding
they're separate operations
sub foo($x is rw) { ... } # one can assign to $x and bind $x 06:23
sub foo($x) { ... } # one can rebind $x but cannot assign to it
TiMBuS ahh its pointer const all over again
szabgab I have not been following it, is there any news about a windows installer for Rakudo * that would also include Padre ? 06:24
phenny szabgab: 00:24Z <jnthn> tell szabgab PythonPup is looking for non-Flash versions of your Perl 6 screencasts; I know you mentioned some AVI version or something to. Is there a link to them somewhere?
pmichaud szabgab: I haven't heard anything like that yet. 06:25
szabgab I saw it somewhere discussed
but maybe I just dreamt :)
pmichaud then I don't know. That sounds like it would be very useful.
could padre be installed via 'proto'?
or is that just asking too much? 06:26
06:26 kkrev left
PythonPup szabgab, Yes, I would like to watch the screencasts, but I can't install Flash. Are they available in another form? 06:27
szabgab pmichaud: I think the better approach would be to bundle rakudo with stand alone padre
pugssvn r31797 | pmichaud++ | [t/spec]: Fix test bug in next/last for .map, unfudge test. 06:28
PythonPup pmichaud has been talking up perl6 locally and I'd like to see where it is at now.
06:28 kkrev joined
szabgab PythonPup: I have bot ogv and avi files on my disk 06:28
pmichaud szabgab: probably. But I think that means we'd need separate Windows and *nix Rakudo Star distributions.
(which we might indeed need -- just not sure we'll be ready for that by Thursday)
szabgab PythonPup: I can upload them to my server and link to them as well
06:29 sjohnson joined
PythonPup szabgab, ogv is almost always my first choice. That would be nice. Thanks. 06:29
szabgab pmichaud: I am not sure how you would NOT need? After all parrot is binary there
dalek kudo: 369f1e0 | pmichaud++ | src/builtins/control.pir:
Refactor &return, &next, &last, &redo.
06:30
kudo: da9910a | pmichaud++ | src/builtins/MapIter.pir:
Add loop control handling to MapIter.
kudo: 27f7a5b | pmichaud++ | src/builtins/MapIter.pir:
Some next/last bugfixes for .map .
pmichaud ...parrot is binary? 06:31
szabgab btw have any people came to the channel in response to my latest screencast?
pmichaud I don't understand.
szabgab Rakudo * would include Parrot, right?
compiled to the local OS 06:32
so that's already different
pmichaud I think it's going to include the Parrot sources
szabgab oh so you are only talking about source code distro
pmichaud I don't think it will include binaries. If we do that, we'd have to build a different Rakudo * for each platform, and we're not yet at all close to being set up to do that.
it's a distro in the same sense that Perl 5.12 is a distro
szabgab ok, I got it now 06:33
pmichaud I expect that we'll create a source distro, and then individual platforms will take R* and build binaries using their native package managers
in the Windows case, it should be possible to bundle Padre as well at that point
eventually we may be building the binaries directly... but probably not for this first release. 06:34
(I don't think anyone on the current team has much expertise in that anyway... so I'm hoping we'll attract more contributors there.)
also, we can hand out commitbits to the R* repo more freely (i.e., without CLAs)
sorear TiMBuS: Don't worry about getting := exactly right 06:35
TiMBuS: it's not going to be possible to have := right until the variable refactor
so just try to do the best approximation
szabgab I just ping CSJewell on #padre asking for a bundle of Padre and Rakudo * but he might be sleeping at this hour :) 06:36
PythonPup szabgab, I came to the channel as a result of an article about your screencast that was mentioned on Hacker News.
szabgab PythonPup: link?
TiMBuS sorear, ok then. I'll see if I can at least add the 'type' property to vars at declaration time. that'll probably be 'good enough' 06:39
PythonPup article 190 currently points to szabgab.com/perl6.html#screencast
It is described as Perl6's screencasts 06:40
moritz_ good morning 06:44
sorear good morning moritz_ 06:45
06:49 kkrev left 06:51 kkrev joined
szabgab PythonPup: the first two entries were uploaded: szabgab.com/perl6.html please let me know if they work for you 06:59
07:00 gfx joined
PythonPup I am playing the first one now. It looks good. Thank you. 07:02
dalek p-rx: 11e10ac | moritz++ | src/Regex/Cursor.pir:
Fixt RT #75484 - random incomplete Match objects

  oha++
07:04
p-rx: f8bc67e | moritz++ | src/stage0/ (4 files):
update bootstrap files with fix for RT #75484
pmichaud moritz: in backscroll I left a note that I'm wanting to hold the PARROT_REVISION freeze until after R*. Does the commit above pose a problem for that? 07:06
moritz_ pmichaud: no, we can wait until after R* with that 07:07
pmichaud okay, good.
moritz_ it's something that re-surfaces every few months, and I'm glad when it's fixed, but it's not that important
oha++
I've added the bootstrap files to the parrot 2.6 release locally to test it 07:08
testing parrot now
07:10 kkrev left
sorear just had an extremely evil idea for niecza 07:11
method WHICH() { (state %){self} //= (state $)++ }
the CLR doesn't give you a unique integer for each object, but it does give you hash tables. 07:12
07:15 Raynes joined 07:17 kkrev joined 07:31 kkrev left 07:34 kkrev joined 07:43 kkrev left 07:45 ManateeLazyCat joined 07:47 eternaleye left 07:55 envi_home joined 07:56 envi^home left 07:58 ManateeLazyCat left
pmichaud std: say Nil 3, 4 08:03
p6eval std 31797: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/iE8VvV7qii line 1:␤------> say Nil ⏏3, 4␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤Parse failed␤FAILED 00:01 116m␤»
szabgab rakudo: say 2 ++ 3
p6eval rakudo 27f7a5: OUTPUT«5␤»
szabgab rakudo: say 2 +++ 3
p6eval rakudo 27f7a5: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/yCQtOUWo72␤»
szabgab rakudo: say 2 ++ + 3 08:04
p6eval rakudo 27f7a5: OUTPUT«5␤»
szabgab rakudo: say 2 ++ ++ + 3
p6eval rakudo 27f7a5: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/09Dnu6H6i1␤»
sorear niecza: say 2 ++ + 3 08:05
p6eval niecza 64fc764: OUTPUT«===SORRY!===␤Postfix found where infix expected (omit whitespace?) at /tmp/CGOrMgwOdD line 1:␤------> say 2 ⏏++ + 3␤ expecting any of:␤ bracketed infix␤ infix␤ infix or meta-infix␤Parse failed␤»
szabgab rakudo: 2++3 08:06
p6eval rakudo 27f7a5: OUTPUT«===SORRY!===␤Confused at line 22, near "2++3"␤»
moritz_ std: 2++3
p6eval std 31797: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/j7foCAKQw7 line 1:␤------> 2++⏏3␤ expecting any of:␤ POST␤ bracketed infix␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤ statement modifier loop␤Parse
..failed␤FAILED 00:01 115m␤»
08:15 oha_ joined, oha_ is now known as oha
dalek ecza: 5799a21 | sorear++ | Niecza/Actions.pm:
Implement &foo syntax
08:22
ecza: e71aae9 | sorear++ | (2 files):
Implement exportation of packageoids
ecza: 41d943c | sorear++ | (3 files):
Turn the regex engine into a loadable module
ecza: 6d24c27 | sorear++ | Niecza/Actions.pm:
Fix classes always turning into Any() when exported
sorear stefan@stefans:~/niecza$ ./niecza_eval -e 'use RegexEngine; say "abcaaab" ~~ /ca*b/' 08:23
1
soon there will be a few more features...
pmichaud ....just catching up on twitter posts... wow. 08:27
Lots of retweets of "Perl Creator Hints at Imminent Perl 6 Release" :)
08:28 envi_home is now known as envi^home
sorear "hints"? 08:29
Aren't hints supposed to be subtle? 08:30
pmichaud no, not necessarily. 08:31
my wife has learned that her hints to me have to be non-subtle or I'm likely to miss them altogether :)
sorear pugs: say $*IN.lines.[0]
p6eval pugs: OUTPUT«*** No such method in class Scalar: "&lines"␤ at /tmp/x2wxfeR7iP line 1, column 5 - line 2, column 1␤»
sorear pugs: say lines 08:32
p6eval pugs: OUTPUT«*** No such subroutine: "&lines"␤ at /tmp/53DNf3hFzM line 1, column 5 - line 2, column 1␤»
sorear pugs: say $*IN.^methods(:local)
p6eval pugs: OUTPUT«*** No such method in class Class: "&methods"␤ at /tmp/wI5weXskgp line 1, column 5 - line 2, column 1␤»
sorear pugs: say slurp
p6eval pugs: OUTPUT«*** ␤ Unexpected end of input␤ at /tmp/ZCMJxGF_GQ line 2, column 1␤»
sorear out
08:33 envi_home2 joined 08:34 cibs joined
oha i expect that gather { .. } return an object, is there a way to refer to it inside gather { ... } ? 08:34
something like "self" 08:35
pmichaud gather returns a List
dalek ecza: b417e13 | sorear++ | RegexEngine.pm6:
Implement ? and + in regexes
pmichaud I don't think there's a way to refer to it from inside the gather.
oha actually if i @list := gather { ... @list ... } # works
cognominal rakudo: sub a($a) { $a = 1 }; a(1) 08:36
p6eval rakudo 27f7a5: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in 'a' at line 22:/tmp/k4o2wB9hR7␤ in main program body at line 22:/tmp/k4o2wB9hR7␤»
08:36 envi^home left 08:38 envi^home joined
cognominal rakudo: sub a(int $a) { $a = 1 }; a(1) 08:39
p6eval rakudo 27f7a5: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 22, near " $a) { $a "␤»
08:40 envi_home3 joined 08:41 envi_home2 left
cognominal rakudo: sub a($a is copy) { $a = 1 }; a(1) 08:41
p6eval rakudo 27f7a5: ( no output )
szabgab rakudo: state $x = 2; 08:42
p6eval rakudo 27f7a5: OUTPUT«===SORRY!===␤"state" not yet implemented at line 22, near "= 2;"␤»
08:42 envi_home3 is now known as envi_home
cognominal hum, with value argument not implemented, that will make signature so verbose :( 08:43
08:44 envi^home left
cognominal sub a(int $a) { $a = 1 }; a(1) # would be nice to implement it as to accept an Int and check it for non borderline values (NaN, undefined and such) 08:45
rakudo: sub b ($a is rw) {}; sub a($a) { b($a) }; a(1) 08:47
p6eval rakudo 27f7a5: ( no output )
08:54 kensanata joined
colomon pmichaud: pong 08:58
08:59 JimmyZ joined
JimmyZ hello , does Perl 6 support something like __call/__get/__set in PHP? 09:02
09:03 am0c left
JimmyZ just think it's useful in OO 09:04
09:04 kensanata left
mberends cognominal: bonjour, how's Silver Bullet coming along? 09:05
pugssvn r31798 | pmichaud++ | [t/spec]: Refudge a test in wrap.t that fails after switching 'for' to use '.map'. 09:11
cognominal Hi mberends. Hitting many problems with pattern matching and the like... Maybe I am too obsessed with experimenting with every Perl 6 feature than getting a deliverable :( 09:12
09:12 pmurias joined
mberends cognominal: addicted to 'le crack syntaxique' ? 09:13
cognominal :) 09:14
dalek kudo: f16df61 | pmichaud++ | src/ (2 files):
Refactor Block.arity and Block.count; we now compute and cache it as
kudo: 7d181b9 | pmichaud++ | src/builtins/Signature.pir:
Fix forgotten goto after counting slurpy param.
kudo: b0e743b | pmichaud++ | src/Perl6/Actions.pm:
Switch statement_control:sym<for> to use ".map" instead of :pasttype<for>.

of continuity and compatibility until sink is more fully in place
  (coming next).
9c4a3c8 | moritz++ | src/Perl6/ (2 files): allow compilation of :g(1) in s/// partially reverts 4195e9a26e1841c80b999303a81d4706f456e2bb. Patch mostly by jnthn++
09:14 jferrero joined 09:25 dual left 09:29 isBEKaml joined, dual joined 09:37 JimmyZ left 09:38 gfx left
szabgab how can I export a subroutine from a module to the main namespace? 09:41
found it, never mind :) 09:43
pmurias szabgab: you shouldn't be doing that 09:56
colomon pmurias: why? 09:57
pmurias maybe i misunderstood the question 09:58
but you should import stuff to lexical scopes 09:59
pugssvn r31799 | pmichaud++ | [t/spec]: Remove tests that incorrectly treat Nil as a function.
pmurias szabgab: you want to do something like export stuff from Foo::Bar::Internals to Foo::Bar
szabgab so instead of automatically export it I should import?
for now I am writing a sample implementation of the Mython language 10:00
my $answer ← 42;
say 2 ≠ 3;
say 2↑2;
stuff like this
so I'd like to have as little disturbance as possible , and declare the infix operators in Mython.pm 10:01
is there already a way to extend perl 6?
pmurias you mean add new operators or extend the grammar? 10:02
10:02 xinming left
pmichaud iiuc, the standard mechanism for exporting things is simply to mark them as "is export". 10:02
szabgab oh I see there is a Mython language :(
f ← λ x: x↑2
a ← f(2)
ideally I' be able to write code like the above 10:03
pmurias pmichaud: but things are exported to the lexical scope not the main namespace by default
pmichaud pmurias: correct
colomon szabgab: as far as I know, exporting operators from modules does not work properly yet.
szabgab it worked for me :)
colomon at least, I had major issues with it when I tried it last week.
pmichaud pmurias: ...depending on what you mean by "main namespace" :-)
szabgab with is export
10:04 xinming joined
pmichaud it wouldn't surprise me if it appears to work in some cases and not in others 10:04
(in Rakudo)
jnthn and I did some revisions of operator overloading late last week, though
(maybe even early this week -- I'm not sure I remember when.... checking log) 10:05
colomon oooo.
will try things again
szabgab let's hope it will work on the version I am using on monday for the presentation :)
pmichaud I know there's a problem that overloaded operators will "leak" out of the lexical scopes in which they're supposed to be.
szabgab jnthn: had some awesome example of sorting I think at BPW
colomon pmichaud: turns out the biggest concern with the mandelbrot tests isn't the speed, it's the crashing. :(
szabgab but I have not written it down it started with something like multi sub f([]) { } I think 10:06
anyone with such cool examples?
pmichaud colomon: I'm curious to know if mandelbrot runs any faster/slower using 'for' and the fixes I just pushed this evening.
szabgab: en.wikipedia.org/wiki/Perl_6#Quicksort 10:07
colomon pmichaud: yow, that's a major overhaul!
give me a moment and I'll do a side-by-side comparison on my linux box. 10:08
szabgab pmichaud: thanks
pmichaud colomon: that's fine. it could be either faster or slower -- I don't know which.
szabgab he said wiki but I was searching in the perl 6 wiki
pmichaud it does eliminate the use of the Parrot iterator, though
szabgab and could not find it
pmichaud szabgab: I found it with "perl 6 quicksort" on google :) 10:09
colomon: more importantly, it starts to bring 'for' to follow the true specification by making it the same as 'map'
colomon pmichaud: right 10:10
pmichaud next I plan to work on sink context a bit, so that 'for' at the end of a statement list isn't evaluated eagerly. 10:11
and by "next" I mean "after going to sleep and awakening again". :-) It's 03h12 here now... 10:12
colomon pmichaud: it's going to be a bit before I have results, have to rebuild rakudo to yesterday then re-run. 10:13
pmichaud colomon: no problem -- I'll read the backscroll later 10:14
and I'm more curious than "need to know". I suspect the loop() form is still a bit faster, although at some point we need to find a way to make that not be the case
anyway, I'm falling asleep at the kbd here, so I'll bbiaw 10:15
colomon o/
10:20 pmurias left 10:27 wamba joined 10:31 jferrero left 10:34 wamba left 10:43 envi_home left, envi^home joined
colomon pmichaud: took 8m25s pre-new-for, 8m35s with latest Rakudo 10:43
that's on my 64-bit Linux box with lots of memory, versus the "loop" version taken 4m30s on my slower MacBook Pro. 10:45
s/taken/which takes/ 10:49
10:53 envi_home2 joined 10:57 envi^home left, whiteknight joined 11:06 envi^home joined 11:10 envi_home2 left 11:25 xabbu42 joined 11:36 envi_home2 joined
colomon pmichaud: hmmm, just tried Vector again to check on operators and modules. Seems that the new dot product infix:<⋅> operator exports correctly, but infix:<+> for Vector does not. 11:38
11:39 envi^home left 11:40 envi^home joined 11:42 envi_home2 left
kudo: 3f03fec | moritz++ | src/core/Match.pm:
preserve .ast in Match.new. Implement eqv for matches
pugssvn r31800 | colomon++ | Add test for exporting a multi infix:<+> operator. 12:02
r31801 | colomon++ | [t/spec] Update the count on import-subs.t. 12:03
colomon moritz_: you out there? 12:04
moritz_ yes
colomon I need another brain on this. 12:05
.oO(or possibly, I need a brain on this)
moritz_ on what?
moritz_ lacks context
colomon I'm trying to Vector.pm working on current Rakudo.
It compiles fine. 12:06
but when I try to import it and its infix:<+>, I get Can't take numeric value for object of type Vector
ie, it ignores infix:<+>(Vector, Vector) in favor of infix:<+>(Any, Any)
moritz_ did you check the candidate list, with Mu + Mu? 12:07
colomon I figured it was something ...
wait, what? just say Mu + Mu, or... ?
moritz_ rakudo: Mu + Mu
p6eval rakudo b0e743: OUTPUT«No applicable candidates found to dispatch to for 'infix:<+>'. Available candidates are:␤:(Any $x = { ... })␤:(Int $a, Int $b)␤:(Num $a, Num $b)␤:(Rat $a, Rat $b)␤:(Rat $a, Int $b)␤:(Int $a, Rat $b)␤:(Complex $a, Complex $b)␤:(Date $d, Int $x)␤:(Int $x, Date $d)␤:(Real $a,
..Real $b)…
moritz_ that gives you the candidate list
in the error message 12:08
colomon (what I started to say is that I thought it just hadn't been implemented, so I added a test for it to the spectests -- and that test works.)
moritz_ jnthn++ for it
colomon jnthn++ moritz_++
moritz_ last I looked, the test suite only had tests for importing new operators, not importing additional multis
and multis weren't exported last I looked, either
colomon moritz_: yes, as I said, I just added a test for that, and the test works. 12:09
moritz_ "huh"
colomon see Exportops.pm and imported-subs.t
moritz_ colomon: did you try it with and without precompilation?
colomon yeah, exactly.
yes (with and without)
I've been running without for the last bit here, just because it's easier on my "think up something crazy and try it" debugging cycle 12:10
szabgab huh, what is this Parrot rewrite thing and how does it affect Rakudo?
blog-en.jochen.hayek.name/2010/07/p...o-far.html
moritz_ szabgab: the idea is to make JIT compilation easier by introducing a micro code ("Lorito") 12:11
colomon moritz_: Vector + is definitely not in the applicable candidates
moritz_ colomon: thought so
colomon oh, that's interesting 12:12
moritz_ colomon: you haz no 'is export' on infix:<+> in Vector.pm
colomon I just tried the Mu+Mu trick in imported-subs.t, and it doesn't see any + OTHER than the one I just defined.
moritz_ then add a (probably failing) test for the ordinary + 12:13
colomon already on it.
as for Vector, here's my current signature: 12:14
multi sub infix:<+> (Vector $a, Vector $b where { $a.Dim == $b.Dim }) is export(:DEFAULT)
agh, so in test suite version, we can only see special infix:<+> 12:15
in Vector version, we see everything but the special infix:<+>
seems like there's a strong clue there somewhere.
12:15 JimmyZ joined
moritz_ looks like rt.perl.org/rt3/Ticket/Display.html?id=74104 12:15
colomon could it have something to do with "module Exportops;" ? 12:16
moritz_ maybe
colomon weird
JimmyZ hello 12:17
moritz_ maybe try to put the operators into the class (weird, I know), and add an 'is export' to them
12:17 envi_home2 joined 12:19 envi^home left
pugssvn r31802 | colomon++ | [t/spec] Add additional test for importing infix:<+> which is very fudged. 12:19
colomon moritz_++: if I put it inside the class, it is visible, and everything else is hidden. 12:20
moritz_ so if you do a 'use Foo', it only imports from module or class Foo 12:21
which kinda makes sense
JimmyZ class Foo { }; class Bar{ method a() { } };, I want to call Foo.(), and I want Foo object can automatically call Bar.a() when there is no a() method in Foo. How can I do it?
err, I want to call Foo.a()
moritz_ rakudo: class Foo { has $.x handles <a> = ::Bar }; class Bar { method a() { say "in Bar.a" } }; Foo.new.a 12:22
p6eval rakudo b0e743: OUTPUT«in Bar.a␤»
moritz_ JimmyZ: like that?
12:23 patrickas joined
szabgab is the a 3rd part for < and lt operators similar to cmp to <=> and leg ? 12:23
moritz_ szabgab: yes, it's called 'before'
rakudo: say 'a' before 'b'
p6eval rakudo b0e743: OUTPUT«1␤»
JimmyZ moritz_: I am not sure, just like magic method __call in PHP, 12:24
szabgab rakudo: 1 before '1'
moritz_ rakudo: say 2 before 10
p6eval rakudo b0e743: ( no output )
rakudo b0e743: OUTPUT«1␤»
szabgab rakudo: 1 before 'a'
12:24 felliott joined
p6eval rakudo b0e743: ( no output ) 12:24
szabgab rakudo: say 1 before 'a'
p6eval rakudo b0e743: OUTPUT«1␤»
moritz_ rakudo: class Foo { method postcircumfix:<( )>() { Bar.a() } }; class Bar { method a() { say "in Bar.a" } }; Foo.new.a
p6eval rakudo b0e743: OUTPUT«Method 'a' not found for invocant of class 'Foo'␤ in main program body at line 22:/tmp/VrkCNNqix8␤»
moritz_ rakudo: class Foo { method postcircumfix:<( )>() { Bar.a() } }; class Bar { method a() { say "in Bar.a" } }; Foo.()
p6eval rakudo b0e743: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in 'Foo::postcircumfix:<( )>' at line 22:/tmp/jYcjBiGHqc␤ in main program body at line 22:/tmp/jYcjBiGHqc␤» 12:25
szabgab rakudo: say 1 after 'a'
moritz_ rakudo: class Foo { method postcircumfix:<( )>() { Bar.a() } }; class Bar { method a() { say "in Bar.a" } }; Foo.new().()
p6eval rakudo b0e743: OUTPUT«0␤»
rakudo b0e743: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in 'Foo::postcircumfix:<( )>' at line 22:/tmp/0qCobPTLHB␤ in main program body at line 22:/tmp/0qCobPTLHB␤»
12:25 envi^home joined
moritz_ rakudo: class Foo { method postcircumfix:<( )>(*@) { Bar.a() } }; class Bar { method a() { say "in Bar.a" } }; Foo.new().() 12:25
p6eval rakudo b0e743: OUTPUT«Could not find sub &Bar␤ in 'Foo::postcircumfix:<( )>' at line 22:/tmp/OBd8YzYCRk␤ in main program body at line 22:/tmp/OBd8YzYCRk␤»
moritz_ rakudo: class Foo { method postcircumfix:<( )>(*@) { ::Bar.a() } }; class Bar { method a() { say "in Bar.a" } }; Foo.new().()
p6eval rakudo b0e743: OUTPUT«in Bar.a␤»
moritz_ JimmyZ: there you go 12:26
12:26 envi_home3 joined
JimmyZ now Bar has many methods, 100 now, and I want Foo can call they when there is not a such method in Foo. 12:27
err, them
12:28 envi_home2 left
moritz_ JimmyZ: sounds like you want delegation with wild cards 12:28
oha JimmyZ, why you do not: Foo is Bar?
JimmyZ and for some resean, I can't extends bar
moritz_ JimmyZ: look into t/spec/S12-attributes/delegation.t - Rakudo passes all the tests cases in there 12:29
JimmyZ oha, so I can't is Bar
moritz_: thanks, looking now
12:30 envi^home left
colomon phenny: tell jnthn please look at the skipped test in S06-operator-overloading/imported-subs.t 12:33
phenny colomon: I'll pass that on when jnthn is around.
colomon phenny: tell jnthn If you can fix that, I think we can get the core of Vector.pm back on-line pretty easily
phenny colomon: I'll pass that on when jnthn is around.
12:35 envi_home3 is now known as envi_home
JimmyZ moritz_: thanks, that's what I want :) 12:36
moritz_ JimmyZ: glad it helped
12:36 rv2733 joined 12:37 rv2733 left
JimmyZ hehe 12:37
12:38 rv2733 joined, JimmyZ left, rv2733 left 12:39 patrickas left
colomon moritz_: thanks for your help 12:40
moritz_ colomon: you're very welcome
12:40 gbacon joined
moritz_ colomon++ # for adding the tests 12:43
rotty.yi.org/irclogs/freenode/%23sc...07-23/#e93 12:44
12:44 envi_home left
moritz_ amused 12:44
12:45 envi^home joined
moritz_ my $x = 'abcdefg'; $x ~~ s:p(2)/<.alpha>/X/; say $x 12:45
abXdefg
(locally here) 12:47
12:47 envi_home2 joined
colomon what is :p? 12:47
moritz_ :pos
isBEKaml position, would be my guess. :)
moritz_ right
colomon oh, right. starting position for match. 12:48
moritz_++
moritz_ also coming up: c/continue, p/pos, x, nth, and with a bit of luck 1st, 2nd, 3rd, 4th
12:49 macroron joined
isBEKaml moritz_: I have seen TimToady++ occasionally use 2nd, 3rd and so on. Initially, I thought of them as IRC usage. Then I read them in the specs and was truly amazed :) 12:50
moritz_ $ cat test.pl
my $x = 'abcdefg'; $x ~~ s:2nd/<.alpha>/X/; say $x
12:50 envi^home left
moritz_ $ ./perl6 test.pl 12:50
aXcdefg
isBEKaml moritz_++ !!
moritz_ "soon available in the compiler of your trust" or so :-) 12:51
isBEKaml does s:nth work?
moritz_ yes
isBEKaml passing nth around like a param?
moritz_ s:nth(2) is the same as 2:2nd
in fact you can also write s:4nd if you want to confuse people :-)
waiting for a spectest 12:52
isBEKaml so you don't exactly look for adverbs. :)
th, rd, st don't matter at all. :)
moritz_ well, they do, but they are aliases
in general (\d+) <identifier> translates to :identifer($0) 12:53
12:53 nimiezko joined
moritz_ :4foo copmplains about 'foo' not being a valid adverb on a substitution 12:53
isBEKaml what would happen if i just enter s:1rd/foo/bar/ ?
colomon isBEKaml: it should work, I think
moritz_ same as s:nth(1)/foo7bar/
colomon we're not going to grammar check your numeric postfix to make sure you got it right. 12:54
moritz_ right
isBEKaml yes, that was my thinking. but it should be one of rd, st, th so as not to throw people off. ;)
12:55 masonkramer joined
moritz_ right 12:55
isBEKaml or to throw off readers of code. (pranky)
moritz_ st, nd, rd, th and nth are aliases
isBEKaml I see.
moritz_ now that jnthn++ has fixed argument passing adverbs, this patch was almost trivial 12:56
let's hope that it doesn't throw up any weird errors
isBEKaml right, jnthn++
moritz_ his patch wasn't terribly complicated either, I just didn't have the idea to do it that way 12:57
isBEKaml even as I can't frequent IRC very much these days. I was pleasantly surprised to see audrey back (reading from IRC logs) 12:58
s/./,/
and with great timing, just as we were going into tenth anniversary! Another great blog post by masak++! 12:59
13:03 xabbu42 left
isBEKaml moritz_: is joyofsix up? 13:04
moritz_ isBEKaml: doesn't have any content yet
and I don't know what to put up, to be honest
and currently I'm entangled with too many projects 13:05
isBEKaml moritz_: oh... I vaguely remember discussing about it.
wait, why not title p6book that way? ;) 13:06
moritz_ we don't have adequate imagery for that :-) 13:07
isBEKaml :) 13:09
rakudo: ("fertile minds", "great idiots", "brilliant losers").pick(2).say # ;) 13:10
p6eval rakudo 9c4a3c: OUTPUT«fertile mindsbrilliant losers␤»
isBEKaml szabgab: I saw the first of your screencasts. keep 'em coming! 13:13
szabgab: btw, I can haz transcripts? :)
szabgab isBEKaml: I'll write up some text later
I think for th 4th I already have on my blog 13:14
isBEKaml szabgab: great! :)
szabgab: I too have issues with flash content. Glad you sorted them out with ogv. 13:17
szabgab that's the original
pugssvn r31803 | moritz++ | [t/spec] refudge some s:g/// tests 13:18
r31804 | moritz++ | [t/spec] :1st, :2nd etc. adverbs on substitutions
dalek kudo: 96a0ffe | moritz++ | (5 files):
allow all the adverbs on s/// that Cool.subst understands
colomon rakudo: say 1, 2, 4 ... 3
p6eval rakudo 9c4a3c: 13:19
..OUTPUT«124816326412825651210242048409681921638432768655361310722621445242881048576209715241943048388608167772163355443267108864134217728268435456536870912107374182421474836484294967296858993459217179869184343597383686871947673613743895347227487790694454975581388810995116277762199023255552…
colomon patrickas++
13:19 gbacon left 13:22 azert0x joined
moritz_ thinks that s:g[w+] .= uc; # should be implementable now with reasonable effort 13:22
colomon \o/ 13:23
moritz_ but I guess I should focus on preparing my yapc talk instead
oha i was looking at the issue where sub f($a,$b?,$c?) { say "$a|$b|$c"; } f(1,,2); => 1|2|Any 13:27
and i found something
but i'm not able to isolate 13:28
i see that in NQP Grammar.pm are defined 2 list with different precedence. the tigher allow the nulltermish so i suppose that f(1,,2) is parsed like [1,],2 13:29
moritz_ you can check with --target=parse 13:30
oha moritz_, perl6 --target=parse file.pl6
right?
moritz_ oha: right
maybe nqp-rx supports that too 13:31
yes, it does
./parrot_install/bin/parrot-nqp --target=parse comma.pl6
$large_parse_tree
oha but why there are 2 list layers? 13:32
moritz_ has no idea
oha: maybe the nullterm is to allow trailing commas 13:33
std: 1, 2, ;
p6eval std 31802: OUTPUT«ok 00:01 116m␤»
moritz_ std: 1, 2,,
p6eval std 31802: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead at /tmp/ZYVmBdFaLo line 1:␤------> 1, 2,⏏,␤Parse failed␤FAILED 00:01 116m␤»
oha moritz_, yes, the matter is that it should be in the looser op 13:35
i'll keep checking. ty for the tip. this is going to make my life easier :)
moritz_ oha: btw you should only ever need to change the hand-written sources in nqp-rx, and then run 'make bootstrap-files' 13:36
oha i probably have misplaced things
cauz what nqp-rx make install is in 2.5.0 but the rakudo parrot is 2.6.0 13:37
moritz_ ah, your nqp-rx and rakudo are using different parrot versions
normally you don't run 'make install' in nqp-rx at all 13:38
the usual flow is:
1) you change something in nqp-rx
2) make test
2) make bootstrap-files
snarkyboojum where is the appropriate place to send nqp-rx patches?
moritz_ cp src/stage0/*.pir $rakudo_dir/parrot/ext/nqp-rx/src/stage0/ 13:39
4) 'make install' in parrot
5) recompile rakudo
the hilarity of bootstrapping compilers spread over various projects
oha good, i was just fixing stage0 files by hand
moritz_ snarkyboojum: most people have commit access, so that doesn't happen very often. Maybe github pull request, and pester people on IRC if it's not pulled :-) 13:40
snarkyboojum [email@hidden.address] and [email@hidden.address] 13:41
moritz_ only the first
snarkyboojum moritz_: oh ok - not sure it's appropriate but have two very minor ones here gist.github.com/488688 and gist.github.com/488693 13:42
moritz_ rakuo: my $x = 'abcdefg'; $x ~~ s:2x:nth(2,4)/./X/; say $x
isBEKaml rakudo: my $x = 'abcdefg'; $x ~~ s:2x:nth(2,4)/./X/; say $x # moritz_++ :) 13:43
p6eval rakudo 96a0ff: OUTPUT«aXcXefg␤»
moritz_ hugme: add snarkyboojum to nqp-rx
hugme hugs snarkyboojum. Welcome to nqp-rx!
moritz_ snarkyboojum: I'm too lazy to apply those - please push yourself :-)
snarkyboojum moritz_: oooh :) so you're ok with them then? :D 13:44
13:44 zulon joined
snarkyboojum how does nqp-rx updates get pulled into parrot? 13:44
moritz_ yes
snarkyboojum s/does/do/
moritz_ snarkyboojum: 'make bootstrap-files', and then copying the result
snarkyboojum: see my enumeration from 6 minutes ag
snarkyboojum moritz_: ah ok - so I just push from a checked out nqp-rx git repo then - will backlog :) 13:45
moritz_ snarkyboojum: there's also docs/bootstrapping.pod
yes
isBEKaml rakudo: my $x = 'abcdefg'; $x ~~ s:nth(2,4)/./X/; say $x
p6eval rakudo 96a0ff: OUTPUT«aXcXefg␤»
isBEKaml moritz_: the s:2x isn't needed there? superfluous, it seems.
moritz_ right
my $x = 'abcdefg'; $x ~~ s:nth(* %% 2)/./X/; say $ 13:46
13:46 envi_home2 is now known as envi_home
moritz_ rakudo: my $x = 'abcdefgehij'; $x ~~ s:nth(* %% 2)/./X/; say $x 13:46
isBEKaml rakudo: my $x = 'abcdefg'; $x ~~ s:2x/./X/; say $x
p6eval rakudo 96a0ff: OUTPUT«Method 'Num' not found for invocant of class 'WhateverCode'␤ in 'Cool::Numeric' at line 1744:CORE.setting␤ in 'Cool::Numeric' at line 1745:CORE.setting␤ in 'Cool::match' at line 6399:CORE.setting␤ in 'Cool::subst' at line 2092:CORE.setting␤ in 'Substitution::ACCEPTS' at
..line 5…
rakudo 96a0ff: OUTPUT«XXcdefg␤»
moritz_ seems we have eliminated the closure form
too bad :-) 13:47
isBEKaml rakudo: my $x = 'abcdefg'; $x ~~ s:g(* %% 2)/./X/; say $x
p6eval rakudo 96a0ff: OUTPUT«XXXXXXX␤»
isBEKaml :D
moritz_ :g is just checked for truth
isBEKaml rakudo: my $x = 'abcdefg'; $x ~~ s:nth(* % 2)/./X/; say $x
p6eval rakudo 96a0ff: OUTPUT«Method 'Num' not found for invocant of class 'WhateverCode'␤ in 'Cool::Numeric' at line 1744:CORE.setting␤ in 'Cool::Numeric' at line 1745:CORE.setting␤ in 'Cool::match' at line 6399:CORE.setting␤ in 'Cool::subst' at line 2092:CORE.setting␤ in 'Substitution::ACCEPTS' at
..line 5…
isBEKaml ah, yes. 13:48
moritz_ rakudo: my $x = 'abcdefg'; $x ~~ s:g(2, 4 ... *)/./X/; say $x
p6eval rakudo 96a0ff: OUTPUT«XXXXXXX␤»
moritz_ rakudo: my $x = 'abcdefg'; $x ~~ s:st(2, 4 ... *)/./X/; say $x
p6eval rakudo 96a0ff: OUTPUT«aXcXeXg␤»
moritz_ rakudo: my $x = 'abcdefg'; $x ~~ s:st(2, 4 ... *):2x/./X/; say $x
p6eval rakudo 96a0ff: OUTPUT«aXcXefg␤»
isBEKaml rakudo: my $x = 'abcdefg'; $x ~~ s:p(2,4 ... *)/./X/; say $x
p6eval rakudo 96a0ff: ( no output )
moritz_ :p wants a single Int, I think 13:49
anyway, :nth(list) and :x mix
snarkyboojum moritz_: thanks for your help :)
moritz_ snarkyboojum: thanks for your patches :-)
isBEKaml snarkyboojum! :)
snarkyboojum isBEKaml: o/ 13:50
dalek p-rx: 43942d0 | snarkyboojum++ | src/Regex/P6Regex/Grammar.pm:
Update "obsolete error" message

Perl 6 usage.
p-rx: 964a1b0 | snarkyboojum++ | src/Regex/P6Regex/Grammar.pm:
Change message for incorrect character range usage
13:57 nimiezko left
isBEKaml snarkyboojum: 2 patches and how's things? :) 13:57
snarkyboojum isBEKaml: well - looking forward to rakudo star :) and you? 13:59
isBEKaml snarkyboojum: me too. starry eyed. :)
5 days to go.
oha is still miss something, while i can perl6 --target=parse src.pl6 i can't parrot-nqp --target=parse src.pl6 14:02
14:03 tylercurtis joined
oha it seems like it was the say statement 14:04
moritz_ huh, works here
(note that --target and -e don't mix)
oha no idea, but sub foo($a,$b?,$c?) { say "Ok"; } fails, while ... { "Ok"; } works 14:05
14:22 jferrero joined
pmichaud say "Ok"; isn't valid in NQP. 14:31
moritz_ ah right, need parens
rakudo: 5 ~~ .say 14:33
p6eval rakudo 96a0ff: OUTPUT«Any()␤»
14:33 zulon left 14:34 am0c joined
cognominal rakudo: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = $c ; say $a.perl 14:34
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", ("so", "funny")]␤»
cognominal pmichaud, how can I get an subarray instead of a sequence? 14:35
rakudo: say (1,2) eqv [1,2]
oha pmichaud, ok!
p6eval rakudo 96a0ff: OUTPUT«0␤»
cognominal rakudo: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = @( $c ) ; say $a.perl 14:36
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", ("so", "funny")]␤»
cognominal rakudo: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = $c.flat ; say $a.perl 14:37
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", ("so", "funny")]␤»
cognominal I am a desperate Perl 6 hacker...
moritz_ try it with splice 14:38
14:38 zulon joined
cognominal as? 14:39
moritz_ or maybe I misunderstood what you want
what do you want $a to contain?
cognominal $a[3] should be [ "so", "funny" ] 14:40
moritz_ then don't use .flat
or [ ... ] if necessary
cognominal it seems $a[3] = ... gives a scalar context so that the sequence is not converted to an array 14:41
moritz_ rakudo: my $x = (1..3); say $x.perl;
cognominal wrapping the left side in @( ) does not help
p6eval rakudo 96a0ff: OUTPUT«1..3␤»
moritz_ rakudo: my $x = [(1..3).flat]; say $x.perl;
p6eval rakudo 96a0ff: OUTPUT«[1, 2, 3]␤»
cognominal tried with [ (...) ] and ended up with [(...)] 14:42
14:44 wamba joined
dalek p-rx: 88f0d0d | snarkyboojum++ | t/p6regex/rx_ (2 files):
Update tests for obsolete/unsupported messages
14:47
moritz_ pmichaud: any idea where $_ topicalization of the RHS of ~~ should be handled in the actions? 14:49
pmichaud moritz_: I'd guess method EXPR 14:52
moritz_ pmichaud: I guess that's over my head, then
pmichaud cognominal: did you figure out the array-ness above? 14:53
cognominal I filed the problem as #76698 14:54
pmichaud it's not a problem, afaict
pmichaud looks at the ticket
cognominal thx 14:55
pmichaud the code is behaving correctly according to the spec, afaict
if you want to create an array, use [ ... ] 14:56
cognominal but I will end up with [ ( ... ) ]
pmichaud rakudo: my $a = [<this is so gross>]; my $b = [<that is so funny>]; my $c = [ $b[2..3] ]; $a[3] = $c; say $a.perl; 14:57
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", ["so", "funny"]]␤»
pmichaud like that.
you can also do
rakudo: my $a = [<this is so gross>]; my $b = [<that is so funny>]; $a[3] = [ $b[2..3] ]; say $a.perl; 14:58
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", ["so", "funny"]]␤»
14:58 zulon left
tylercurtis Should Rakudo's README still refer to the "languages/rakudo/" directory? 14:58
pmichaud tylercurtis: it should not
cognominal now suppose I get an intermediary variable
14:59 ashleydev joined
cognominal rakudo: my $a = [<this is so gross>]; my $b = [<that is so funny>]; my $c = $b[2..3]; $a[3] = [ $c ]; say $a.perl; 14:59
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", [("so", "funny")]]␤»
14:59 whiteknight left
pmichaud right, because $c is a Seq 14:59
in this case, $a[3] is an Array with one element 15:00
(that one element is a 2-element Seq)
15:00 tedv joined
tylercurtis pmichaud: "In general this means that in the C<languages/rakudo/> directory you make your changes, and then type" in the section on submitting patches. 15:00
pmichaud tylercurtis: I'll fix it later today, or if you want to send in a patch that would be awesome :) 15:01
tylercurtis++
tylercurtis pmichaud: Will do. What should I change it to?
cognominal so how do I get a mere subarray given an scalar intermdiary variable when it contains a Seq?
tylercurtis rakudo: my $a = [<this is so gross>]; my $b = [<that is so funny>]; my $c = $b[2..3]; $a[3] = [ |$c ]; say $a.perl; 15:02
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", [\("so", "funny")]]␤»
pmichaud rakudo: my $a = [<this is so gross>]; my $b = [<that is so funny>]; my $c = $b[2..3]; $a[3] = [ @($c) ]; say $a.perl;
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", ["so", "funny"]]␤»
cognominal pmichaud++
moritz_ tylercurtis, pmichaud: I've pushed a simple improvement to the README - feel free to improve further
pmichaud @($c) converts the scalar Seq into a flattening Seq
tylercurtis++ moritz_++ 15:03
could also do $c.list
isBEKaml rakudo: my $a = [<this is so gross>]; my $b = [<that is so funny>]; my $c = $b[2..3]; $a[3] = @($c); $a.perl.say
pmichaud or $c.flat
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", ("so", "funny")]␤»
cognominal that deserves to be in the Perl 6 book
pmichaud isBEKaml: that one looks wrong to me now 15:04
dalek kudo: c3d62c0 | moritz++ | README:
[README] a few updates regarding patch creation, tylercurtis++
isBEKaml pmichaud: yes, seems so. RHS in list context, if I'm not wrong.
pmichaud well, and so is the lhs :-) 15:05
15:05 whiteknight joined
pmichaud I think that perhaps should've ended up with ["this", "is", "so", "so"] 15:05
isBEKaml $a[3] doesn't seem to be in list context since we just pull up the index of an array. 15:06
I was expecting it to flatten, i.e., without parens.
rakudo: my $a = [<this is so gross>]; my $b = [<that is so funny>]; my $c = $b[2..3]; $a[3] = $c.list; $a.perl.say
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", ("so", "funny")]␤»
pmichaud but $a[3] is in list context, because it's a list assignment 15:08
it's not a scalar assignment
er, "item assignment" 15:09
dalek kudo: b20bcae | moritz++ | README:
[README] various small udpates: link to CREDITS, mention perl6 --version, and
TimToady rakudo: my $a = [<this is so gross>]; my $b = [<that is so funny>]; my $c = $b[2..3]; $a[3,4] = $c.list; $a.perl.say 15:10
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", "so", "funny"]␤»
pmichaud yeah, rakudo gets that right
TimToady yeah, the other looks funny to me
pmichaud right now .[ ] tends to remove the parcel when the subscript ends up with a single element 15:11
so that my $b = $a[3] + 1; works
jnthn o/ 15:12
phenny jnthn: 12:33Z <colomon> tell jnthn please look at the skipped test in S06-operator-overloading/imported-subs.t
jnthn: 12:33Z <colomon> tell jnthn If you can fix that, I think we can get the core of Vector.pm back on-line pretty easily
moritz_ I thought onw-element parcels should behave like their contents anyway?
isBEKaml maybe I'm missing something. the fourth element in [$a] is an array. so, it's still an element. :)
tylercurtis moritz_++, I was just about to suggest mentioning --version. 15:13
pmichaud isBEKaml: I don't what you mean by "the fourth element in [$a] is an array"
*don't know
that confuses me.
isBEKaml pmichaud: "this" - 1 element. ("so", "funny") - an element. fourth item in the $a list. 15:14
pmichaud isBEKaml: you mean after the assignment?
isBEKaml: my point is that $a[3] = $c.list is a list assignment 15:15
so it's the same as
isBEKaml pmichaud: what confuses me is, when we have a list of strings, one of the items in the list is another list. why doesn't rakudo complain when we assign a list as one of the elements by way of manipulation?
dalek kudo: 6caf77f | moritz++ | README:
[README] link to download section directly; remove senetence about no longer
pmichaud "one of the items in the list is another list"? 15:16
isBEKaml pmichaud: nested lists.
pmichaud there's no nested list there before the assignment.
isBEKaml pmichaud: after the assignment.
pmichaud ...and there shouldn't be one after the assignment (more)
tylercurtis rakudo: my $a = [<this is so gross>]; my $b = [<that is so funny>]; my $c = $b[2..3]; $a[3] = $c.list; $a.perl.say; $a[3].WHAT.say
p6eval rakudo 96a0ff: OUTPUT«["this", "is", "so", ("so", "funny")]␤Seq()␤»
pmichaud my $c = $b[2..3]; $a[3] = $c.list 15:17
should be the same as
$a[3] = ('so', 'funny')
jnthn colomon: I'll try and look at that today.
pmichaud which since it's a list assignment, only the word 'so' should go into $a[3]
(and thus rakudo is currently getting it wrong) 15:18
(it's a list assignment because $a[3] is not a simple scalar) 15:19
isBEKaml pmichaud: "why doesn't rakudo complain when we assign a list as one of the elements by way of manipulation?" So we are in agreement?
15:19 Raynes left
isBEKaml or it shouldn't complain but only eat the first element from the result list into $a ? 15:20
pmichaud oh, one *can* assign a list to a scalar -- that's perfectly legal
and one can assign a list to an array element
but it would need to be
$a[3] = $c.item;
or even $a[3] = $($c) 15:21
or even $a[3] = $c since $c is already an item
15:21 xinming_ joined
pmichaud so, rakudo shouldn't complain about the fact that the scalar ends up holding a list 15:22
(and it doesn't)
(it doesn't complain, that is) 15:23
ENOTAWAKEYET
15:24 xinming left, patspam joined 15:25 isBEKaml left
pmichaud ~ 15:26
15:20 <isBEKaml> or it shouldn't complain but only eat the first element from the result list into $a ?
15:26 isBEKaml joined
pmichaud that part is absolutely correct, except only the first element from the result list should go into $a[3]. 15:26
it shouldn't complain, and only one element of the list on the rhs ends up in the array 15:27
(because we only had one element on the lhs)
time to wake up, finish packing, and make my way to the airport 15:28
bbiab
TimToady is going to the airport right now to pick up a rental car so we can drive to Bremerton
pmichaud TimToady: have fun in Bremerton :) 15:29
pugssvn r31805 | moritz++ | [t/spec] test for RT #58488, multiple redefinition of same class in eval
TimToady then Seattle, then Barcelona
I'll be offline for most of next week
pmichaud TimToady: I'm surprised the rental car company will let you drive to Barcelona :)
TimToady :P
pmichaud have a great time next week. We'll try not to screw up the language/launch too much while you're away. :-) 15:30
TimToady try to keep everyone in line :)
isBEKaml pmichaud: thanks to irc logging. I could even follow when networks go into a tizzy. :)
pmichaud TimToady: did you see the PC World article about the SOTO?
TimToady nod 15:31
pmichaud TimToady: it was massively retweeted
TimToady "stable" :)
moritz_ TimToady: have the appropriate amount of fun
pmichaud yes, I saw that too :)
oh well.
cognominal pmichaud? URL?
pmichaud I think that people assume that whenever a release is announced that the word "stable" must be implied.
cognominal for the PC World article?
pmichaud www.pcworld.com/businesscenter/article/201743/ 15:32
TimToady afk & 15:33
pmichaud I think I'll leave a comment about "stable" in the article :)
isBEKaml pmichaud: from what you said, am I right in thinking that a scalar element and a list element are two different things? <a b c d> <a b c <d e f>> are different and should behave differently. or are they legal? 15:34
pmichaud: please disregard the nested "<". I was just sayin'. :)
rakudo: my $a = [<this is so gross>]; my $b = [<that is so funny>]; my $c = $b[2..3]; $a[2] = $c.list; $a.perl.say; 15:35
p6eval rakudo 96a0ff: OUTPUT«["this", "is", ("so", "funny"), "gross"]␤»
jnthn pmichaud: Wow, you switched for to map?! :-) 15:36
isBEKaml pmichaud: the ("so", "funny") is treated as an item in the $a list.
jnthn pmichaud: Nice!
cognominal nice article.
pmichaud isBEKaml: my point is that it shouldn't be.
I don't understand the notion of "list element" 15:37
isBEKaml pmichaud: so I'm thinking by the type bounds of $a which is essentially a list of strings, we shouldn't be nesting lists here.
pmichaud jnthn: yes, I switched for to map. Only statement 'for' at the moment, still need to do the statement modifier.
isBEKaml: $a doesn't have a type on it 15:38
isBEKaml: there's no constraint there saying that $a can only contain Str
15:38 [mark] joined
pmichaud $a is just an array. 15:38
15:39 [mark] left
isBEKaml rakudo: my $a = [ 1..3 ]; $a[4] = "String"; $a.perl.say; 15:39
p6eval rakudo 96a0ff: OUTPUT«[1, 2, 3, Any, "String"]␤»
isBEKaml pmichaud: right. the "of strings" is redundant there. I meant that we shouldn't nest lists there. 15:41
pugssvn r31806 | moritz++ | [t/spec] RT #76644, "statement" autoquoted hash key does not collide with "state" declarator
isBEKaml pmichaud++ # patience! :)
pmichaud isBEKaml: if you're saying that the array shouldn't contain a nested list, that's not accurate. 15:42
isBEKaml: if you're saying that the assignment shouldn't be resulting in a nested list, that's accurate. Rakudo is treating the assignment as an item assignment when it should be acting like a list assignment. 15:43
isBEKaml pmichaud: nested lists are useful. but assignments should just not take a list when it's just an element on the left.
pmichaud isBEKaml: ...except that in list assignment, $a[3] is a list. 15:44
moritz_ is sure the nigh infinite assign.t has failing tests for that
pmichaud it's not "just an element".
and list assignment doesn't complain when there are extra values left over.
isBEKaml pmichaud: exactly.
pmichaud and by "$a[3] is a list", I mean that $a[3] is a list containing a single scalar container 15:45
which can then have a value from the lhs assigned to it
anyway, I guess we're ultimately agreeing.
comment added to pc world article
isBEKaml right. :) 15:46
tylercurtis pmichaud: "list assignment doesn't complain when there are extra values left over." S03 disagrees: "If there are any elements left over, a warning is issued unless the list on the left ends with * or the final iterator on the right is defined in terms of *."
pmichaud tylercurtis: I've asked since then and was told that it doesn't complain. 15:47
(or perhaps I'm misremembering what I actually asked, but I'm pretty sure I remember correctly here.)
moritz_ I gues the last sentence is too vague
"or the final iterator on the right is defined in terms of *." 15:48
dalek kudo: 928f9da | moritz++ | t/spectest.data:
run two more test files
15:50
15:51 ashleydev_ joined
moritz_ rakudo: my $x = 3; subset X of Int where { $_ > $x }; 15:51
p6eval rakudo 96a0ff: ( no output )
tylercurtis pmichaud: alright, then. IWBNI someone changed S03 to reflect that, if so.
pmichaud I'm searching the #perl6 logs to verify it first
(and that's a particularly difficult search)
moritz_ rakudo: my Int $multiple_of; subset Num::Multiple of Int where { $^num % $multiple_of == 0 } 15:52
p6eval rakudo 96a0ff: ( no output )
moritz_ in t/spec/S12-subset/subtypes.t that dies
with Symbol '$multiple_of' not predeclared in <anonymous>
pmichaud I bet the where clause is incorrectly lexically scoped in the PAST tree 15:53
jnthn moritz_: Yeah, I ran into that one recetly too.
pmichaud: It is, I tracked it down, but was too tired at that point to fix it.
pmichaud i.e., it's being attached to a begin block instead of its correct lexical outer block
jnthn Right.
15:54 ashleydev left, ashleydev_ is now known as ashleydev
oha i think i've found a way to not allow calls like f(1, ,3); 15:54
jnthn std: f(1, ,3);
p6eval std 31805: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead at /tmp/uaLKZEsfZw line 1:␤------> f(1, ⏏,3);␤Parse failed␤FAILED 00:01 117m␤»
15:55 Raynes joined
oha but the error message isn't that nice 15:55
tylercurtis rakudo: sub f {...}; f(1, ,3); 15:56
p6eval rakudo 96a0ff: OUTPUT«Too many positional parameters passed; got 2 but expected 0␤ in 'f' at line 22:/tmp/oz8eZQejCe␤ in main program body at line 22:/tmp/oz8eZQejCe␤»
tylercurtis rakudo: say(1, ,3);
p6eval rakudo 96a0ff: OUTPUT«13␤» 15:57
oha the problem was that in NQP/Grammar.pm the arglist use nextterm<nullterm>, which means that it is allowed empty terms after the first 16:00
i've changed the cheat/hll-grammar.pir to correctly allow only lastterm to be null
using :lastterm<nullterm> 16:01
but the grammar is going panic now
Confused at line 2, near "foo(1,,3,)"
current instr.: 'parrot;HLL;Grammar;panic' pc 552 (ext/nqp-rx/src/stage0/HLL-s0.pir:357)
does anyone have hints? 16:02
moritz_ rakudo: use Test; my subset Num::Even of Num where { $^num % 2 == 0 }
p6eval rakudo 96a0ff: ( no output )
moritz_ rakudo: use Test; my subset Num::Even of Num where { $^num % 2 == 0 }; ok my Num::Even $c = 6;
p6eval rakudo 96a0ff: OUTPUT«Type check failed for assignment␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/dmh1tdkhQR␤»
moritz_ "huh".
pmichaud oha: nqp's grammar should generally follow whatever pattern STD.pm6 uses for the same thing.
oha pmichaud, what do you mean? 16:03
pmichaud since STD.pm6 doesn't have a notion of :lastterm (afaict), NQP's grammar shouldn't have one either.
(does it currently, ooc?) 16:04
(it does not)
oha pmichaud, ok but actually std do not allow f(1,,3); while rakudo do
rt.perl.org/rt3/Ticket/Display.html?id=54804 16:05
pmichaud oha: right. so we should figure out how std disallows f(1,,3) and use that pattern.
we shouldn't come up with a different mechanism for checking.
pugssvn r31807 | moritz++ | [t/spec] mostly rewrite subtypes.t. Previously it assumed types leaking out of eval and similar niceties
pmichaud (and :lastterm sounds like a "different mechanism" to me)
oha pmichaud, dunno really
moritz_ pmichaud: it checks the presence of an infix in term position (if no term matches), and then dies 16:06
pmichaud moritz_: yes, looks that way
method badinfix
called from term:sym<miscbad> 16:07
oha anyway, here the diff: pastebin.com/ge4MBV3E
colomon are people getting intermediate fails on S10-packages/basic.t 16:08
?
pmichaud colomon: yes, I am.
moritz_ colomon: I do, yes
pmichaud oha: yes, I would likely end up rejecting that patch, because it moves us farther away from STD
moritz_ colomon: maybe related to rt.perl.org/rt3/Ticket/Display.html?id=76692
colomon moritz_: so that was what you and jnthn were looking at the other day? 16:09
(or was that masak?)
moritz_ colomon: no; but it might be related 16:10
oha where can i see how STD handle the extra ending infix for list? 16:12
jnthn moritz_: I spent a couple of hours on 76692 so far with little more grasp of what's up. :-( 16:14
moritz_ jnthn: :(
jnthn colomon: (package/basic.t) yes 16:15
colomon jnthn: :( (re 76692)
moritz_ std: 1, , 16:17
p6eval std 31806: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead at /tmp/4zhnxtr7hg line 1:␤------> 1, ⏏,␤Parse failed␤FAILED 00:01 116m␤»
oha std: 1,3,
p6eval std 31806: OUTPUT«ok 00:01 116m␤»
16:19 MichaelRWolf joined
oha sorry but i'm still confused. std does not allow empty elems BUT the last. nqp allow all elems to be empty but first. 16:19
pmichaud oha: right. that's a bug in nqp. 16:20
oha so if i can't change add :lastterm to let it work, i need to know what other approach i should use
pmichaud oha: I'm saying that the approach you're taking to fix it (by changing :nextterm to :lastterm and checking things in EXPR) is the wrong fix 16:21
oha s/add/adding
pmichaud, i got it really
pmichaud the approach to use is the one that STD.pm uses
oha the problem is that i didn't get what is the right fix
pmichaud STD.pm has a special term called term:sym<miscbad>
it looks to see if an infix operator is being found in a term position, and if so, it then complains. 16:22
NQP and Rakudo should do the same.
moritz_ pmichaud: I'm trying that in Rakudo right now
pmichaud moritz_: I don't know that it will work out super cleanly, but it's worth a try :)
ltm might get in the way.
oha so what should do is to not change :nextterm to :lastterm but to remove it completely, and allow an extra infix? 16:23
pmichaud oha: no, :nextterm is a part of STD.pm (or at least it was when NQP was written... checking)
16:23 zulon joined
pmichaud right 16:23
oha moritz_, oh, in that case is better if i search for other tasks
pmichaud :nextterm *is* the way that STD.pm handles the trailing comma
so we don't want to remove it.
(because that would move us farther away from STD.pm :-)
moritz_ pmichaud: I have my doubts too, but I'm trying anyway :-) 16:24
huh 16:25
now I get "Confused" for 1, ,
16:26 patspam left
moritz_ should <infixish> also match what <infix> matches? 16:27
pmichaud yes, at least according to HLL::Grammar
moritz_ hm, rakudo has its own infixish 16:28
oha moritz_, seems so to me
moritz_ | <OPER=infix> <![=]>
right
hum, causes a parse failure in return.t, causes 1, , to die with "Confused", and I can't seem to find a way to trigger it. Weird. 16:33
aka "not good" 16:35
16:35 Trashlord joined 16:37 zulon left
pmichaud moritz_: what line of return.t ? 16:37
oha return use a looser level on the EXPR() then arguments 16:38
pmichaud oh, in nqp? 16:39
pmichaud cant find the failing test.
moritz_ pmichaud: with my local patch, that is
pmichaud I'm looking for the test line that fails 16:40
not the actual failure :)
jnthn colomon: Think I have a fix for that failing imported-subs.t text. sspectesting now.
s/text/test/
moritz_ 28
is(foobar2(), Nil, '
tylercurtis jnthn++
pmichaud is(foobar2(), Nil, '... bare return worked with a statement modifier'); 16:41
that one?
moritz_ right
pmichaud I don't see a "1, ," there
pmichaud is confused.
moritz_ I think I didn't provide enough context 16:42
I just wanted to say that the patch doesn't work.
colomon jnthn: \o/
moritz_ the symptoms are 1) a failure in return.t
16:42 masonkramer left
moritz_ 2) ./perl6 -e '1, ,' says "Confused", not the error message I want 16:42
pmichaud note that the current master also gives that error message for #2 16:43
moritz_ rakudo: 1, ,
pmichaud so the problem might be something else other than the miscbad term
p6eval rakudo 96a0ff: OUTPUT«===SORRY!===␤Confused at line 22, near "1, ,"␤»
moritz_ print(1,,2)
rakudo: print(1,,2) 16:44
p6eval rakudo 96a0ff: OUTPUT«12»
moritz_ huh. Now I can't build rakudo anymore
pmichaud I'm just saying that '1, ,' might not be a good test case for your patch :)
moritz_ Confused
yes
pmichaud std: 1, ,
p6eval std 31807: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead at /tmp/qGCLratHTg line 1:␤------> 1, ⏏,␤Parse failed␤FAILED 00:01 116m␤»
pmichaud not sure *why* it's not a good test case
moritz_ uses the magic 'git checkout .' incantation to get back to his regularly scheduled program 16:45
pmichaud maybe it's unable to parse comma as the last thing in the source as an infixish
yes, that's it
rakudo: 1, ,
p6eval rakudo 96a0ff: OUTPUT«===SORRY!===␤Confused at line 22, near "1, ,"␤»
pmichaud rakudo: 1, ,0
p6eval rakudo 96a0ff: ( no output )
pmichaud (and it looks like p6eval chops my trailing spaces) 16:46
pmichaud@plum:~/rakudo$ ./perl6 -e '1, , '
pmichaud@plum:~/rakudo$
cognominal it would would be nice to have splices expressed like $a[[2..3]] 16:49
moritz_ this is Perl 6, not Mathematica
cognominal hum, I played mathematica... 20 years ago. Sun had a license then. 16:50
Forgot the syntax.
ho, := works boy, I will soon lack pretext for whining. 16:52
pmichaud cognominal: you can always say $a[(2..3)] if you prefer :)
cognominal can be lhs?
pmichaud sure 16:54
and you can do $a[2..3,] if you want to emphasize slice-ness :)
cognominal hum, why the parenthesis are needed. 16:55
??
pmichaud they aren't needed
I said you *could* do it, not that you have to :)
cognominal :)
pmichaud $a[2..3] is also a slice
(as long as $a has at leas 4 elements)
*least
moritz_ are parameter traits NYI? 16:56
jnthn colomon: gah...I set it off spectesting without setting TEST_JOBS to something other than 1. This'll take forever.
moritz_ is somewhat concerned by the fact that we don't run any tests for custom traits
jnthn moritz_: No, but probably easy.
moritz_: Routine traits work.
And package ones in theory also do. 16:57
Attribute ones not yet. I may have those fixed for R* or maybe not.
*sigh* So much I want to do.
moritz_ rakudo: rule f { has $.x }; (4 but f(3).x 16:58
p6eval rakudo 928f9d: OUTPUT«Useless declaration of has-scoped rule in a module; add our or my to install it in the lexpad or namespace␤===SORRY!===␤Confused at line 22, near "(4 but f(3"␤»
moritz_ rakudo: role f { has $.x }; say (4 but f(3).x
p6eval rakudo 928f9d: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
cognominal jnthn, we need a Rakudo HyperWhatever soon :)
jnthn missing )
moritz_ rakudo: role f { has $.x }; say (4 but f(3)).x
p6eval rakudo 928f9d: OUTPUT«Could not find sub &f␤ in main program body at line 22:/tmp/O85srtluoK␤»
jnthn cognominal: :P
moritz_ rakudo **
jnthn :-)
moritz_ jnthn: ah, that's why the traits tests don't pass 16:59
rakudo: **
p6eval rakudo 928f9d: OUTPUT«===SORRY!===␤Confused at line 22, near "**"␤»
jnthn moritz_: Yeah, that magical RoleName(arg) syntax is why we can't run some of the others yet
moritz_: Dunno whether we should tweak the tests. 17:00
moritz_: Or implement that syntax.
moritz_: Maybe it won't be too hard.
moritz_ jnthn: we need to do the coercion syntax at some point anyway
cognominal Rakudo Star, Rakudo SuperStar, Rakudo HyperStar could be significant releases before Rakudo 1.0 :) 17:01
moritz_ there'll never be a 1.0 17:02
jnthn moritz_: It's not a co-ercion, though...
moritz_ rakudo: say 1.0 cmp 2010.06 17:03
jnthn: yeah, but same syntax
p6eval rakudo 928f9d: OUTPUT«-1␤»
jnthn moritz_: troo
17:03 justatheory joined
tylercurtis moritz_: how about a 6.0.0? 17:05
moritz_ tylercurtis: I guess that at some point we will declare that Rakudo now implements Perl 6.0.0 17:06
pmichaud there will be a Perl 6.0.0, but that's a language specification, not a Rakudo version :)
and I wonder if there will be a point at which we declare that Perl 6.0.0 is whatever Rakudo implements at that time :)
(as far as feature coverage, not bugs) 17:07
17:07 zulon joined
moritz_ finds it far more interesting how much Perl 6 he can use today 17:07
pmichaud okay, I'm heading off to airport now. be back when (if?) I get wifi there
jnthn pmichaud: Safe travels. 17:08
isBEKaml pmichaud: haffun! :) 17:09
17:15 xinming_ is now known as xinming
oha oha@oha-laptop:~/work/perl6$ ./parrot_install/bin/parrot-nqp -e 'foo(1,,3)' 17:16
expecting element, found infix at line 1, near ",3)"
moritz_ \o/ 17:17
oha pastebin.com/Q3G9tazL
but that's not finished 17:18
i hardcoded a comma
moritz_, is it the aproach you were looking for?
moritz_ oha: I don't know, it's not code I'm familiar with... you ahve to ask pmichaud when he comes back online 17:19
oha i'll do 17:20
probably it could work as a starting point
dalek kudo: 667781a | (Solomon Foster)++ | src/core/operators.pm:
Port patrickas++'s series operator patch to master. This enables testing for

geometric series absolute value test as well.
17:23
cognominal rakudo: say Capture.does(Positional) 17:24
p6eval rakudo 928f9d: OUTPUT«0␤» 17:25
moritz_ cognominal: that's wrong (and known)
pugssvn r31808 | jnthn++ | [t/spec] Unfudge test for imported multis not clobbering all outer-scoped candidates.
jnthn colomon: fix pushed
moritz_ jnthn+++
jnthn++ even :-)
jnthn rakudo: class A { method foo { True } }; if A ~~ .foo { say "yay" } 17:26
p6eval rakudo 928f9d: OUTPUT«Method 'foo' not found for invocant of class ''␤ in main program body at line 22:/tmp/uqrc7cHCSp␤»
17:27 MichaelRWolf left
moritz_ why not "class 'Any'" ? 17:29
dalek kudo: 2f7b8bc | jonathan++ | src/Perl6/Module/Loader.pm:
Fix imports of multis, such that they incorproate lexically outer-scoped

without it hiding all the infix:<+> from the setting.
kudo: a37a5e4 | (Jan Ingvoldstad)++ | README:
Info about "git pull" and quick-and-dirty build problem resolution
kudo: 926a08e | moritz++ | src/Perl6/Grammar.pm:
give NYI message for HyperWhatever
17:32 masonkramer joined
colomon jnthn++ !!!! 17:34
moritz_ rakudo: my ($foo, $bar = "baz") = <a>; say "$foo $bar" 17:36
p6eval rakudo 928f9d: OUTPUT«a Any()␤»
moritz_ is that correct?
or should that return 'a baz'? 17:37
jnthn moritz_: It should complain at you that the signature is too complex to turn into a list. 17:39
moritz_ right, just read the ticket.
jnthn rakudo: my ($foo, $bar = "baz") := <a>; say "$foo $bar"
p6eval rakudo 928f9d: OUTPUT«a baz␤»
jnthn That's probably what you want if you're after signature binding semantics. :-)
moritz_ is after closing tickets 17:41
lue ohai o/
jnthn moritz_: I'm trying to patch the smart-match thingy at the moment.
17:41 TiMBuS left
jnthn moritz_: It's a PITA. 17:41
moritz_ jnthn: quite understandable. And low priority 17:43
17:44 kraai joined
jnthn > class A { method foo { True } }; if A ~~ .foo { say "yay" } 17:44
yay
moritz_ \o/
jnthn Well, didn't spectest yet ;-) 17:45
pugssvn r31809 | moritz++ | [t/spec] RT #74348, error messages from subset type checks
jnthn moritz_: Will spectest it now. 17:46
moritz_: I guess some will be unfudge-able from this. 17:48
pugssvn r31810 | moritz++ | [t/spec] test that .[] is defined oin Any, and .[0] returns self for scalars. Tests RT #58372 17:50
kraai How, if at all, can I help with the Debian packaging of parrot and/or rakudo? 17:51
phenny kraai: 28 May 18:20Z <moritz_> tell kraai that I've merged his 'book' branch with lots of typo corrections. Thank you very much!
kraai Ah, great!
moritz_ kraai: Rakudo needs parrot, so the first step would be to make sure parrot-2.6.0 is packaged for Debian
jnthn arggh...LOADS of test fail :-/
moritz_ jnthn: legitimate? or wrong tests? 17:52
kraai: it would be really cool to have Rakudo packages in Debian
rakudo: my $x; $x<b>; say "alive";
p6eval rakudo 928f9d: OUTPUT«alive␤»
17:52 zulon left
jnthn moritz_: Nah, my changes have broken things badly, somehow. 17:53
moritz_ :(
kraai moritz_: I filed a bug report and patch required to build parrot 2.6.0 packages that could be used to build rakudo 2010.07: bugs.debian.org/584500.
moritz_ kraai++ 17:54
kraai Is it OK to do an NMU?
moritz_ is not familiar enough with Debian development process to answer that 17:55
kraai OK, I'll try the Debian Parrot packages mailing list, then. Thanks. 17:56
moritz_ kraai++
kraai: might also be worth talking to allison on irc.perl.org#parrot, she's done quite a bit of work for the .deb packages from the parrot side
17:57 envi_home left
kraai moritz_: Thanks for the suggestion, will do! 17:57
pugssvn r31811 | moritz++ | [t/spec] .{ }-indexing scalars. RT #58372 17:58
kraai moritz_: Is "allison" her nick? 17:59
moritz_ kraai: yes... though not online currently :(
kraai OK, I'll send the email and wait, then. 18:00
18:01 envi^home joined
kraai Is parrot 2.6.0 going to be the parrot version required by Rakudo Star? 18:02
moritz_ yes
kraai moritz_: OK, thanks.
pugssvn r31812 | moritz++ | [t/spec] line numbers when accessors fails, RT #76112 18:07
moritz_ rakudo: warn() 18:08
p6eval rakudo 928f9d: OUTPUT«Warning at line 22:/tmp/LmfNhe_WUQ␤»
18:09 s1n left
moritz_ rakudo: try { warn } 18:12
p6eval rakudo 928f9d: ( no output )
18:16 Sanitoeter left
tylercurtis moritz_: the API I'm designing for the LLVM PassManager equivalent for my GSoC might alleviate your uneasiness about having to add methods to Perl6::Compiler to add optimizations to some extent. 18:18
moritz_: With the Tree::Optimizer class I'm in the process of implementing in the pass-manager branch of my GSoC repo, you would only need to add a single method to the compiler. Right now, all it supports is simple subs for passes, but I'll post a blog post later today on parrot.org describing how it will work.
moritz_: The single method would be something like "method optimizepast ($past) { my $opt := Tree::Optimizer.new; $opt.register(some-optimization-sub); $opt.run($past); }".
moritz_ tylercurtis: sounds good
tylercurtis: I'm currently entangled in way too many projects, and don't poor much tuits into the optimiation branch. Should change after R* and YAPC::EU (I just fear your gsoc project will be over then) 18:19
18:21 Sanitoeter joined
pugssvn r31813 | colomon++ | [t/spec] Add two new tests that don't work (fudged out). 18:22
18:23 TSa joined, s1n joined
pugssvn r31814 | moritz++ | [t/spec] test file for warnings 18:24
18:25 M_o_C joined
moritz_ down to 3 tickets that need testing, but are otherwise resolved 18:27
dalek kudo: a22f027 | moritz++ | t/spectest.data:
run warn.t
jnthn moritz_: Great! 18:28
moritz_ kraai: you forgot to add the patch to RT #76704 18:29
kraai: it's something I've been wanting for some time, but forgot to do it :-) 18:30
kraai Argh.
It makes the Debian package fail to build a second time. :(
18:31 kjeldahl joined
kraai I've attached the patch. Thanks for letting me know it was missing. 18:33
tylercurtis moritz_: My GSoC will be almost over after YAPC::EU, but I certainly intend to keep working on the library afterwards. (although I won't feel as guilty when I spend a day hacking on Rakudo and other things I'm not getting paid for instead ;)
pugssvn r31815 | colomon++ | [t/spec] Add a simpler case of op= failing for imported operators. 18:34
dalek kudo: a9db7c0 | (Matt Kraai)++ | build/Makefile.in:
Make the clean target remove perl6_group.* and src/binder/bind.o.
18:39
18:41 isBEKaml left
pugssvn r31816 | colomon++ | [t/spec] Properly fudge that last test. 18:46
frettled mmmm, fudge
moritz_ segfaults 18:51
18:54 hanekomu_9 joined
frettled segways. 18:55
moritz_ jnthn: btw 'perl6 proof-of-concept install zavolaj' in pls also segfaults here (binder in the backtrace) 18:57
jnthn moritz_: Does it always segfault for installing anything, or just that? 19:01
jnthn wonders what the last changes to the binder were
pmichaud hello
colomon jnthn: so, now Vector + works, but (automatically generated) Vector += doesn't. 19:02
moritz_ jnthn: ran 4 times, 4 segfaults
jnthn colomon: That won't be getting fixed anytime soon. 19:03
colomon jnthn: I kind of thought that might be trouble. 19:04
19:04 cono left
jnthn colomon: It's the same difficult underlying issue as why things need to be declared our if you want to get them to work as meta-operators. 19:04
19:04 azert0x left
jnthn colomon: It's a pretty deep issue though - one that I hope to discuss with pmichaud++ at YAPC::EU. 19:04
19:05 cono joined
colomon jnthn++ 19:05
jnthn My "make $_ be the LHS of smart-match while we evaluate teh RHS" patch seems to be looking OK in the spectests. 19:06
19:07 azert0x joined, macroron left
tylercurtis colomon, jnthn: does overloading existing operators in modules now work? 19:07
moritz_ jnthn: \o/
colomon tylercurtis: yes
jnthn++
tylercurtis jnthn++ I can start making some progress on my unit-correct math library now. :) 19:09
colomon I should have Vector.pm up and running again in a few minutes, if I don't get sidetracked.
jnthn \o/ 19:10
moritz_: I wonder if it's worth trying to bisect to find when proof-of-foncept started to segfault. 19:11
moritz_: Or SVG.
colomon (may take a few days for the other stuff provided in the Vector package.)
moritz_ jnthn: maybe... I'll go a-hunting for a good revision
jnthn moritz_++
19:14 audreyt joined, ChanServ sets mode: +o audreyt
Tene audreyt! 19:15
moritz_ doesn't look genuine
pmichaud although ChanServ accepted the nick
moritz_ pmichaud: yes, it only checks nicks, not host mask
19:16 ChanServ sets mode: +l 1, renormalist was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), astinus was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), kolibrie was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), diakopter was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), jjore_ was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), sorear was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), betterworld was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), mathw was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), estrabd_afk was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), _ilbot2 was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), Helios was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), moritz_ was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), opx^away was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), Gothmog_ was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), felipe was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), revdiablo was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), frettled was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), patch was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), pnu was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), john__ was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), ascent_ was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), mdxi was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), szbalint was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), saaki was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), athomason was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), perigrin was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), solarion was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), rhr was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), mtve was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), gfldex was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), breinbaas was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), frooh was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), nsh_ was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), sunnavy_ was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))), fda314925 was kicked by ChanServ (CLEAR USERS used by audreyt (): u really shouldnt use nick!*@* masks in access listings ;))) 20:50 tomaw left