»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by moritz on 3 May 2013.
timotimo now i finally understand what »ö« is %) 00:04
sorear LD
:D
timotimo holy hell, the camelia.svg is *weird* 00:06
00:06 moritz joined
timotimo every line seems to be made up of rectangles 00:06
and they are aligned to create lines; except in inkscape i can see little slits between the rectangles 00:07
00:07 moritz left 00:08 telex joined
diakopter well, building nqp-jvm from scratch took 6 minutes; 6.5 minutes for rakudo-jvm 00:08
00:08 _ilbot joined 00:09 _ilbot left, telex left 00:10 telex joined
timotimo oh, even *weirder*, there is little pie-slices between the rectangles even 00:11
00:12 telex left 00:14 telex joined
sorear timotimo: i think that if you make a svg that looks approximately like the current one but is neater it would be gladly accepted 00:15
timotimo i have a wacom tablet at home, i could surely invest a few minutes 00:16
00:17 _ilbot joined, _ilbot left 00:25 telex left 00:26 araujo joined, ugexe left
sorear ugh. nqpclasshow assumes nqp::where values are unique 00:26
00:26 telex joined
sorear in addition to the multi cache 00:26
00:26 ugexe joined 00:27 raiph joined
labster Int.round($base) is failing because Int defines a method round () {self; }. What I don't know is if making a multi in Real.pm is worth the Int.round() optimization. 00:28
00:29 ugexe left 00:30 moritz joined, moritz left 00:31 Chillance left, ugexe joined
colomon 496 even, 504 odd 00:33
1000 good versus 0 bad
jnthn++
00:35 Rotwang left 00:37 pdurbin joined
diakopter Files=713, Tests=19638, 1905 wallclock secs ( 4.58 usr 1.32 sys + 22.96 cusr 7.30 csys = 36.16 CPU) 00:37
(only 2 cores) 00:38
pdurbin off topic but... something is amiss with irclog.perlgeek.de/perl6 it seems...
sorear 13:06 < moritz_bck> two short announcements regarding the IRC logs: 1) the network connection to the logging host suffers from massive packet loss; don't be surprised if it's slow/unresponsive 00:39
diakopter hrm
sorear pdurbin: i think moritz is painfully aware at the moment of how much his connection is sucking
labster Yeah. ilbot is not here at present, please leave a message with yoleaux if you need to get through to someone. 00:40
00:40 Guest1337 left
pdurbin ah. thanks for the info. I'll check for updates at colabti.org/irclogger/irclogger_log/perl6 00:41
00:41 moritz joined, moritz left
labster ^^ see, there goes moritz' spotty connection again. 00:42
diakopter sorear: heh, that test run left an eval-server running
pdurbin poor guy 00:43
sorear diakopter: see why I'm keen to fix it? :) 00:44
pdurbin he's been making a ton of commits at github.com/moritz/ilbot lately too
00:48 census left
timotimo what html templating engine and what web app is currently the closest to "usable"? 00:49
i'm guessing bailador?
and what is sensible for templating?
00:53 moritz joined, moritz left
tadzik I like Template::Mojo 00:53
but I wrote it, so I'm biased :P
timotimo can you comment on the completeness? 00:56
ok $err ~~ /Failed\sto\sparse\sthe\stemplate/, 'Bad template exception'; - this makes me sad :( 00:58
[Coke] trying to get ghc up and running on a new box for pugs testing. it's complaining about the install of stringtable-atom - any suggestions? 01:00
sorear seems it's possible to run perl6 without -Xbootclasspath 01:02
01:02 ugexe left, ugexe joined
sorear and . should probably be removed in any event, I think that's the root cause of the calss problems 01:02
01:02 BenGoldberg joined 01:03 pdurbin left 01:04 moritz joined, moritz left
labster dumb question, but how do you specify that a multi method takes exactly zero arguments? 01:07
sorear multi foo() { ... } 01:08
01:09 moritz joined
ssutch r: sub protofile($fn) { say $filename; }; module Mod is protofile('hello.proto'); 01:09
camelia rakudo 51f4eb: OUTPUT«===SORRY!===␤Variable '$filename' is not declared␤at /tmp/cqovE4tFar:1␤------> sub protofile($fn) { say $filename⏏; }; module Mod is protofile('hello.prot␤ expecting any of:␤ postfix␤»
01:09 moritz left
ssutch r: sub protofile($fn) { say $fn; }; module Mod is protofile('hello.proto'); 01:09
camelia rakudo 51f4eb: OUTPUT«===SORRY!===␤'Mod' cannot inherit from 'protofile' because it is unknown.␤at /tmp/r1uQoGL77S:1␤------> ␤»
[Coke] here are the 2 cabal install failures I get: any help appreciated.
gist.github.com/coke/5843322
labster sorear: multi method round(Int:D:) { self } gives me: ambiguous call ... :(Int:D : Mu *%_) in rakudo 01:11
colomon 19638 tests now? 01:12
labster is that a bug, then?
sorear labster: what other candidates do you have? 01:13
labster :(Int : $scale = { ... }, Mu *%_)
The Mu *%_ is automatically generated on both, it seems. 01:14
01:14 moritz joined, _ilbot joined, _ilbot left, moritz left
labster I guess that's an issue of no arguments not being more specific than an optional argument. 01:15
sorear labster: oh, NAMED arguments
labster: well, when you declare round(Int:D:) you do get a method which takes zero positional arguments
Mu *%_ only matches named arguments 01:16
it's specced that methods ignore unknown named arguments
timotimo chtop 01:21
...
labster Iâ ftaghn 01:23
Round is specced to return Int, but is there any real reason why this shouldn't work?
r: say 10.35.round(0.5)
camelia rakudo 51f4eb: OUTPUT«10.5␤»
colomon is starting to suspect that throws_like does not work on rakudo jvm 01:24
01:24 ugexe left, ugexe joined, moritz joined 01:25 moritz left
colomon ===SORRY!=== 01:25
Wrong number of arguments passed; expected 1..1, but got 0
01:25 konundra joined 01:26 konundra_ joined 01:27 FROGGS_ joined 01:31 moritz joined, moritz left, FROGGS left 01:33 _ilbot joined 01:34 _ilbot left, JimmyZ joined 01:36 moritz joined, moritz left
ssutch how can i make a trait that will run like this: "module Foo is bar('abcdef');" 01:39
for instance, this: github.com/perl6/roast/blob/master...ckage.t#L8 doesn't seem to work
rakudo complains: Method 'declares_method' not found for invocant of class 'NQPClassHOW' 01:40
01:41 ugexe left, ugexe joined, moritz joined, moritz left
ssutch r: gist.github.com/samuraisam/5843391 01:42
camelia rakudo 51f4eb: OUTPUT«===SORRY!===␤Method 'declares_method' not found for invocant of class 'NQPClassHOW'␤at /tmp/3SiVVFUH5Y:15␤------> ␤»
01:42 _ilbot joined, ugexe left 01:43 _ilbot left
[Coke] diakopter++ 01:43
01:46 ugexe joined
timotimo itym is(thing, :$described! 01:46
sorear [Coke]: hey, you're TPF aren't you? 01:48
01:50 _ilbot joined, ugexe left
[Coke] sorear: I'm on the grants committee. Pretty much as little TPF as one could be. What's up? 01:50
01:50 _ilbot left 01:51 ldthien0 joined, ugexe joined
sorear [Coke]: oh, I just mailed a CLA on the 18th and waiting impatiently for any indication that it was successfully delivered 01:52
JimmyZ ssutch: this test is not passed in rakudo 01:56
[Coke] what was the zip on the delivery?
ssutch ah i see
how does nativecall do it then
[Coke] ... actually, nevermind. doesn't matter, I'd never see it. :)
... let me see if I have a google doc or something. 01:57
JimmyZ ssutch: it does role[] 01:59
ssutch: not role()
[Coke] sorear: I have access to to a google doc you're not on yet.
you'll probably hear about it before I notice.
good luck! ;)
sorear Thanks :D 02:02
02:03 _ilbot joined, _ilbot left
sorear um. is it just me, or is there no getopt-equivalent in the java standard library? 02:07
for something this *big* getopt would be a pretty glaring omission... 02:08
benabik Java doesn't like command line arguments.
There is gnu.getopt
Or commons CLI 02:09
Or, or, or... But, yes, it's all third pary.
02:10 _ilbot joined, _ilbot left
ssutch r: gist.github.com/samuraisam/5843391 02:11
camelia rakudo 51f4eb: OUTPUT«===SORRY!===␤Cannot call 'trait_mod:<is>'; none of these signatures match:␤:(Mu:U $child, Mu:U $parent)␤:(Mu:U $type, :rw(:$rw)!)␤:(Mu:U $type, :nativesize(:$nativesize)!)␤:(Mu:U $type, :hidden(:$hidden)!)␤:(Mu:U $type, *%fail)␤:(Attribute:D $attr…
ssutch hm, the the signature should match 02:12
timotimo github.com/jnthn/zavolaj/blob/mast...l.pm6#L240 - they should look live that 02:13
well, okay, those are all Routines 02:14
dalek kudo/nom: 077875a | (Brent Laabs)++ | src/core/Int.pm:
add Int.round with arguments to fix RT#118545
02:16
ssutch even if i change the type to 'Any' it still won't find it 02:19
JimmyZ ssutch: should be role description[Str $description] 02:20
02:20 _ilbot joined, _ilbot left
ssutch r: gist.github.com/samuraisam/5843391 02:24
camelia rakudo 51f4eb: OUTPUT«===SORRY!===␤Cannot call 'trait_mod:<is>'; none of these signatures match:␤:(Mu:U $child, Mu:U $parent)␤:(Mu:U $type, :rw(:$rw)!)␤:(Mu:U $type, :nativesize(:$nativesize)!)␤:(Mu:U $type, :hidden(:$hidden)!)␤:(Mu:U $type, *%fail)␤:(Attribute:D $attr…
02:25 fgomez joined
ssutch blarb! 02:26
diakopter barble! 02:27
timotimo i think ufo got b0rked
and i still can't build rakudo::debugger; i'm slowly getting pretty mad at this whole deal 02:28
ssutch is there something you use instead of 'does' on type objects? 02:34
colomon ssutch: what are you trying to do?
ssutch apply a trait to a Class object
or a Module object
diakopter "but"
colomon you apply a role using does 02:35
I'm not sure why you'd use "is" to apply a role to a class? 02:37
ssutch doing something funky… for my protocol buffer library
ssutch to use it, you say use PB; module MyIDL is proto('path/to/file.proro'); 02:38
02:38 moritz joined, moritz left
JimmyZ r: role protobuf[Str $file] {has $.file is rw;}; class Monkey does protobuf['hello'] { } 02:38
camelia rakudo 51f4eb: ( no output )
ssutch then all of the stuff defined in your proto is available 02:39
huh, maybe that isn't possible: Method 'mixin' not found for invocant of class 'Perl6::Metamodel::ModuleHOW' 02:40
JimmyZ r: role protobuf[Str $file] {has $.file is rw = $file;}; class Monkey does protobuf['hello'] { }; Monkey.new.file.say
camelia rakudo 51f4eb: OUTPUT«hello␤»
02:43 moritz joined, moritz left 02:44 ldthien0 left 02:46 ldthien0 joined 02:48 moritz joined 02:49 moritz left 02:54 ssutch left 02:56 _ilbot joined 02:57 _ilbot left 02:58 SamuraiJack joined, ldthien0 left 02:59 moritz joined, moritz left
colomon Seems like throws_like is dying somewhere in the throw / catch process. 03:00
labster it's somewhere in the throes of dying. 03:01
colomon ;)
diakopter heh.
the Game of Throes
03:05 _ilbot joined, _ilbot left 03:14 potatogim left, potatogim joined 03:15 potatogim left 03:20 raiph left
dalek gs.hs: 0d18b5d | coke++ | Pugs/src/Pugs/AST/Eval.hs:
track changes needed for latest ghc
03:21
03:23 moritz joined, moritz left 03:24 dmol joined 03:28 moritz joined, moritz left 03:30 FOAD left, FOAD joined 03:33 preflex left, preflex_ joined, ChanServ sets mode: +v preflex_ 03:34 preflex_ is now known as preflex
[Coke] wonders how sad people will be if pugs daily runs fall off the map. 03:41
[Coke] is getting several thousand failures on the new build box. 03:42
diakopter [Coke]: hrm.
03:42 Ben_Goldberg joined
diakopter seems legit [not] 03:43
sorear [Coke]: i would not care
[Coke] I attempted a patch to get by the compilation error tripped on the new box. *boom*
03:43 BenGoldberg left
sorear [Coke]: there's no point continuously integrating an implementation that's not changing 03:43
diakopter (you're just tracking how much the spec changes at that point) :) 03:44
03:44 moritz joined 03:45 moritz left, woosley1 joined
[Coke] hey person-who-just-updated-haskellage for pugs. If you can fix it, I'll keep testing it. 03:45
diakopter has a guess.. 03:46
avuserow1: hi
[Coke] something _sj2? doesn't look like they're here. 03:47
zzz. 03:48
03:48 _ilbot joined, _ilbot left
diakopter jeff shaw? 03:48
03:52 dmol left, raiph joined 03:53 _ilbot joined, _ilbot left 03:55 _ilbot joined, _ilbot left 04:06 moritz joined, moritz left 04:11 atroxaper joined 04:14 flaviusb joined 04:21 _ilbot joined, _ilbot left 04:27 Psyche^ joined 04:30 _ilbot joined 04:31 Patterner left, Psyche^ is now known as Patterner, _ilbot left 04:38 _ilbot joined, _ilbot left 04:44 woosley1 left 04:48 kaare__ joined 05:15 moritz joined, moritz left 05:16 arlinius left 05:18 moritz joined 05:23 _ilbot joined 05:26 moritz left 05:29 moritz joined 05:30 moritz left, _ilbot left 05:41 konundra_ left, _ilbot joined, _ilbot left 05:42 cognominal left, konundra left 05:43 arlinius joined 05:44 preflex left 05:46 preflex joined, ChanServ sets mode: +v preflex 05:47 panchiniak_ left 05:50 JimmyZ left 05:53 JimmyZ joined 05:58 JimmyZ_ joined 06:02 JimmyZ left, JimmyZ_ is now known as JimmyZ 06:09 moritz joined, moritz left 06:13 _ilbot joined, _ilbot left 06:17 _ilbot joined 06:18 _ilbot left 06:25 renormalist left 06:31 moritz joined 06:37 berekuk joined, moritz left 06:38 renormalist joined 06:40 _ilbot joined, _ilbot left 06:41 berekuk left 06:45 jaldhar joined 06:51 berekuk joined 06:52 FROGGS[mobile] joined
FROGGS[mobile] o/ 06:53
sorear o/
06:55 moritz joined, moritz left 06:57 kaare__ is now known as kaare_ 06:58 _ilbot joined, _ilbot left 07:04 potatogim joined, domidumont joined 07:05 atroxaper left 07:06 _ilbot joined 07:07 _ilbot left
labster o/ 07:11
07:11 logie joined 07:13 _ilbot joined, _ilbot left 07:16 domidumont left, logie left 07:17 domidumont joined, moritz joined 07:19 moritz left
labster r: round(3i) 07:24
camelia rakudo 077875: OUTPUT«(timeout)»
labster r: floor( 2i ) 07:26
camelia rakudo 077875: OUTPUT«maximum recursion depth exceeded␤current instr.: 'print_exception' pc 104724 (src/gen/CORE.setting.pir:46812) (src/gen/CORE.setting:9243)␤called from Sub 'Numeric' pc 224422 (src/gen/CORE.setting.pir:98010) (src/gen/CORE.setting:2992)␤called from Sub 'Numeric' pc 1…
07:27 moritz joined, moritz left
labster r: (3i).floor 07:29
camelia rakudo 077875: OUTPUT«maximum recursion depth exceeded␤current instr.: 'print_exception' pc 104724 (src/gen/CORE.setting.pir:46812) (src/gen/CORE.setting:9243)␤called from Sub 'Numeric' pc 224422 (src/gen/CORE.setting.pir:98010) (src/gen/CORE.setting:2992)␤called from Sub 'Numeric' pc 1…
07:30 _ilbot joined 07:31 raiph left, _ilbot left
sorear nqp-jvm: sub foo() { foo; }; foo; 07:32
07:32 dukeleto joined
camelia nqp-jvm: ( no output ) 07:32
sorear \o/ StackOverflowError works in rakudo-jvm 07:33
labster good work sir
07:34 raiph joined
dukeleto sorear: are you interested in hacking on a real-time GC for parrot with me? The same algorithms should be useful for any VM, if we document them well 07:34
dukeleto utilizes the appropriate channel 07:35
07:35 _ilbot joined 07:36 _ilbot left
labster n: round(3i) 07:36
camelia niecza v24-81-g6672fa2: OUTPUT«Unhandled exception: floor is only defined for Reals, you have a Complex()␤ at /home/p6eval/niecza/lib/CORE.setting line 3442 (floor @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3445 (round @ 4) ␤ at /tmp/NNh1sqRgZq line 1 (mainline @ 3) ␤ at /h…
labster niecza++
JimmyZ known bug? 07:37
labster dukeleto++ for planning good documentation. I was just complaining about the lack there of (in Perl 6) earlier today. 07:38
dukeleto labster: :)
JimmyZ: floor() is not commonly defined on reals, but I would say that floor(a+b*i) should be floor(a)+floor(b)*i
because floor() is a linear function 07:39
s/on reals/on complexes/
sorear linear in what sense 07:40
JimmyZ or LTA 07:41
LTA bug, maybe
labster Well, infinite loops are definitely LTA.
07:41 benabik left
JimmyZ afk 07:41
labster I think complex floor/ceiling/round are certainly possible, it's just -- I can't think of a situation where it would be what you want mathematically. sorear? anyone with significant maths? 07:42
sorear labster: i cannot think of a single way in which floor is linear, or a good use case for complex floor 07:43
and since there's no obviously best definition of complex floor, I'd prefer calling it undefined and letting the user define their needed definition 07:44
07:49 arlinius left 07:50 moritz joined, moritz left
dukeleto sorear: floor(a*b+c)=floor(a)*floor(b)+floor(c) or am I mistaken? 07:50
sorear: that would seemingly make it linear
sorear: but i understand wanting to leave floor(a+b*i) undefined
labster according to google, the use case seems to be mostly in formatting output. Mathematica defines Floor on complex values. 07:54
07:55 _ilbot joined, moritz joined, _ilbot left, moritz left 07:57 _ilbot joined, _ilbot left
sorear dukeleto: you are mistaken. consider a=1, b=c=0.6 07:59
08:00 JimmyZ left 08:01 _ilbot joined, _ilbot left 08:03 Ben_Goldberg left 08:06 GlitchMr left, sisar joined
sisar o/ 08:06
how do i make the prompt ">" in the rakudo REPL colored ? 08:08
08:08 GlitchMr joined
FROGGS[mobile] sisar: there is a term::ansicolor module 08:10
sisar FROGGS[mobile]: i thought that was for printing color output, not for controlling the REPL's color 08:12
FROGGS[mobile] ahh now I understand
sisar :)
sorear modify your rakudo to include escape sequences in the prompt
FROGGS[mobile] dunno where the repl code is though 08:13
sisar sorear: how do i do that ? Need more pointers
sorear github.com/perl6/nqp/blob/master/s...r.nqp#L184 08:15
FROGGS[mobile] and you can steal the escape sequences from term::ansicolor 08:16
sorear could add an override to src/Perl6/Compiler
man console_codes is always a good bet too
08:16 _ilbot joined
sisar FROGGS[mobile], sorear: ok, makes sense now. I'll give it a try. Thanks. 08:16
08:16 _ilbot left 08:18 moritz joined, moritz left 08:23 arlinius joined, moritz joined, _ilbot joined, _ilbot left, moritz left 08:25 _ilbot joined, _ilbot left 08:26 tomyan joined 08:32 tomyan left 08:35 flaviusb left 08:37 berekuk left, _ilbot joined, _ilbot left 08:38 berekuk joined 08:40 FROGGS[mobile] left, moritz joined 08:42 _ilbot joined, _ilbot left, moritz left 08:43 berekuk left 08:44 domidumont left
masak good antenoon, #perl6 08:48
08:49 _ilbot joined, _ilbot left 08:50 berekuk joined
FROGGS_ hi masak 08:51
08:52 _ilbot joined, _ilbot left 08:53 berekuk left 08:56 _ilbot joined 08:57 _ilbot left
sorear 'night, #perl6 08:58
FROGGS_ night sorear 08:59
09:04 _ilbot joined 09:05 Guest1337 joined 09:17 xlat joined, _ilbot left
masak good night, sorear 09:19
FROGGS_ masak: what do you think about passing the match (as $/) to the *_directions as the first (and only arg in most cases) ? 09:21
I think I'll show you later how I'd do it 09:22
masak I think I'd have to see it to be sure. 09:23
hm, dagurval++ brings up a good point: should %u wrap values around some 2**N limit? 09:26
FROGGS_ yeah, that is what I think too
masak I definitely think we should support %u. question is how.
FROGGS_ hmmm, dunno if should be limited 09:27
feels strange to have bigints in core and then no way to printf it 09:28
09:32 moritz joined, moritz left
masak I think the guiding principle should be that we want to have great bigint support. 09:34
rn: say sprintf '%u', -5
camelia rakudo 077875: OUTPUT«4294967291␤» 09:35
..niecza v24-81-g6672fa2: OUTPUT«-5␤»
dukeleto +1 to great bigint support :)
masak hm. maybe follow Parrot/Rakudo here for once. Niecza's is saner but sort of defeats the purpose of %u.
09:35 _ilbot joined, _ilbot left 09:36 JimmyZ joined 09:37 spider-mario joined, moritz joined, moritz left
FROGGS_ what about %.64u, %.32u, %.*u, where the default is what perl5/C does ? 09:38
masak sounds good. 09:39
do C and perl5 really have a single default?
FROGGS_ no idea 09:40
09:40 _ilbot joined, _ilbot left
JimmyZ what's it? sprintf? 09:40
masak I have a feeling this is one of those "defaults" that went through a 16, 32, 64 evolution over the years.
JimmyZ: yes, sprintf and %u. 09:41
JimmyZ well, I see %lld and %ld in APR, which one will be used depends on platform/compiler 09:42
%lld can't be used in MSVC
masak *sigh* this is tricky. 09:43
JimmyZ well ,%lld cant be used in virtual studio 2012, said MSDN. But actually, it only can be used in printf, not sprintf. 09:44
s/cant/can/ 09:45
masak I think it will be hard to do this without introducing "yet another standard". 09:48
which is why it's useful to do it from first principles as much as possible. 09:49
"sprintf: an axiomatic approach" :) 09:51
09:56 _ilbot joined, _ilbot left 10:01 _ilbot joined, _ilbot left 10:07 kaare_ left 10:12 GlitchMr left 10:13 GlitchMr joined 10:15 _ilbot joined 10:16 _ilbot left, rindolf joined 10:17 moritz joined, moritz left 10:20 skids left 10:22 dukeleto left 10:23 flaviusb joined 10:31 xlat left 10:32 xlat-home joined 10:35 berekuk joined
timotimo genius idea of the day: compile the JVM with emscripten, so that the user doesn't have to allow a pesky java applett to run! 10:36
JimmyZ where is the JVM source??? 10:37
10:39 Rotwang joined 10:40 _ilbot joined, _ilbot left, berekuk left 10:42 berekuk joined 10:44 Chillance joined, berekuk left 10:45 learnmeperl joined 10:46 learnmeperl left 10:48 _ilbot joined 10:49 _ilbot left 10:50 moritz joined, moritz left 10:54 _ilbot joined, _ilbot left 10:56 _ilbot joined, _ilbot left 10:57 berekuk joined
masak hm, is this worth replying to? twitter.com/marcusramberg/status/3...8932573184 10:58
colomon no
masak I believe the three settings "harmed", "helped", and "not affected" are all true in some sensible mixture.
but tweets are not long enough. 10:59
JimmyZ nope
masak ok, will proceed to not reply, then.
11:00 atroxaper joined
colomon '"harmed", "helped", and "not affected" are all true in some sensible mixture.': exactly 11:00
11:00 ggoebel2 joined
JimmyZ time will explain it :P 11:01
11:01 ggoebel left
colomon I mean, for sure taking 13+ years to do the next major version has harmed Perl. It's a no-brainer. 11:01
But, at the same time, it's not really relevant to anything, either.
masak there's always been a complex give-and-take between p5 and p6. the two communities are not independent and isolated. 11:02
11:02 GlitchMr left
masak so saying "p6 has harmed p5" is a bit like saying "the spleen has harmed the liver". 11:02
also, it's possible/easy to forget that the relative sizes of the two communities are ridiculously different. 11:03
if you think in terms of deployed code and active users.
colomon it seems to me very fair to say the early years of the p6 project were badly borked
but that doesn't really tell you anything about what p6 is today.
11:04 fgomez left, fgomez joined
masak it took a while for the p6 project to actually grow a development cycle that worked. 11:04
colomon it might tell you something meaningful about how to approach perl 6
sorry, approach perl 7
masak colomon: you do know that there won't be a Perl 7, right? :) 11:05
jnthn Right, the spec says we converge on 6.6.6, iirc? :P
masak jnthn: no, that's the "if we're unlucky" scenario :) 11:06
11:06 moritz joined
masak "In fact, we probably wouldn't end up converging on a version number of 2*PI as the RFC suggests, but rather on 6.6.6, which would be rather unfortunate." www.perl6.org/archive/doc/design/apo/A01.html 11:06
11:06 berekuk left
flaviusb Also seems fair to note the Perl Renaissance, Modern Perl etc as being influenced by learnings from the p6 endeavour, in case people wonder about the "helped" bit. 11:08
colomon certainly, perl 6 has both hurt and helped p5.
11:09 GlitchMr joined, tomyan joined
masak and not affected it at all. 11:09
11:09 _ilbot joined 11:10 _ilbot left
moritz is back-ish from behind a network line with massive package loss 11:10
sadly the clogs aren't back :/
masak but rather than focus on crap like what people say at Ruby conferences, I'd find it much more useful to focus on Perl conferences, and the fruitful cross-pollinations and collaborations that happen there. 11:11
that looks to me like a thriving bicameral community, not a limping one.
jnthn read that as "bicaramel"
masak n-thly, it's not a zero-sum game.
lots of people are involved in Perl 6 who would not have been similarly involved in Perl 5. 11:12
I'm one.
moritz too
jnthn Same.
moritz I never went beyond doc patches and pure p5 module patches in p5 core
colomon Here's the thing: the right way to say it is the Perl community as a whole bungled the next generation project. It's not a like a small group of perl 6 programmers came in and messed things up for perl 5. And acting like it is is grotesquely unfair to the current perl 6 developers, none of whom were even around the first 4 years.
moritz and I don't think that would have changed 11:13
masak colomon: I think that "bungled" is too strong. it's ongoing, it's a healthy project. people on the outside have difficulties seeing why it takes so long. 11:14
colomon I meant that as "bungled the early stages", sorry 11:15
11:15 pdurbin joined
masak even that is risky to put in a press release :P 11:15
colomon A more sensible process probably would have had a much less ambitious perl 6 that was finished a decade ago. 11:17
JimmyZ will PHP6 hurts PHP5.x ? :P 11:18
timotimo there will be nothing left to hurt when people see the brilliance and elegance of running your web apps as java applets directly in the user's browser 11:19
colomon But the thing is... that was 10-13 years ago. Back then they made the super ambitious choice. Complaining about that when the team (formed since then) is finally getting close is beyond pointless. 11:20
11:20 raiph left
masak colomon: Perl 6 started out as less ambitious. then people sent in 361 RFCs. 11:20
turns out people liked Perl so much they wanted to improve it all kinds of ways. :) 11:21
JimmyZ I think "will Perl6 hurt perl5" is the same as "will C hurt perl5?"
masak also, a smaller and more conservative change would have resulted in a Python 3 kind of situation.
11:21 xlat-home left
masak (still took quite some time, but now there's little momentum and even less reason to upgrade, despite the whole community pointing to p3k and nodding meaningfully) 11:22
pdurbin I have a ton of respect for the ambition of Perl 6. For work I'm getting more into Java and it's clear to me that tons and tons of people are working on the language. Far more, I'd say, that work on Perl
s/that/than/ 11:23
11:28 xlat joined 11:30 crab2313 joined 11:31 daniel-s__ is now known as daniel-s
masak well, marcusramberg sees the p5 part of the community, but not necessarily the p6 part of it. 11:32
I guess that partially explains his view.
timotimo but the p6 part isn't even that big ;)
masak right -- it's hard to miss :)
er, it's easy to miss. 11:33
masak switches brain back on
train &
pdurbin the thing I always think of is that Ruby was a reaction to Perl 4. of course it's better than Perl 4 11:34
I guess I'm just reacting to some of the replies to that tweet
11:36 _ilbot joined, _ilbot left
moritz I have a new search backend for the IR clogs that you can all test at tina.perlgeek.de/perl6/search 11:38
feedback welcome :-)
jnthn moritz: I seem to have trouble connecting to it 11:39
ah, now it worked
11:39 jeckyhl joined
moritz jnthn: yes, lots of packet loss at the moment :( 11:39
which is also why the logging doesn't work
jnthn moritz: yes, when I glanced the log on my phone this morning I was like "whee, quiet night...not much backlog to catch up on" 11:41
pdurbin moritz: yes! I saw you mention it at irclog.perlgeek.de/ilbot/2013-06-22 ... great news!
jnthn :P
11:41 moritz_ joined
moritz jnthn: I've put up a notice 11:42
11:42 moritz_ left
jeckyhl Hi, I'm trying to build Rakudo/JVM on Windows. Something went wrong on "Stage jar", i've got java.lang.UnsupportedOperationException: 'posix:permissions' not supported as initial attribute. Did someone alreay experienced this ? 11:43
JimmyZ can't connect tina 11:44
jnthn jeckyhl: I've seen that but only when trying to run the tests... 11:45
jeckyhl: Can you gist/nopaste me the output?
moritz++ 11:46
jeckyhl @jnthn i was runing nmake test indeed
jnthn jeckyhl: Yeah. The test/spectest targets have been set up to use an eval client/server thing for startup performance. Unfortunately, it doesn't work out on Windows yet. 11:47
JimmyZ tina.perlgeek.de/perl6/search works now?
jnthn jeckyhl: I didn't get to trying to fix it yet.
jeckyhl: The good news is that the perl6 you get out will, standalone, work.
Or should, at least... 11:48
jeckyhl @jntnn great !
rakudo>nmake install gives " NMAKE : fatal error U1073: cannot get 'install' 11:50
timotimo is someone here familiar with java applets? it seems like i can easily invoke code in the applet from javascript, but i can't seem to find out how to signal something to the outside html/js world from within the applet
11:51 raiph joined
jnthn jeckyhl: Yes, that's still todo. Be aware that the JVM support is still very, very much a work in progress. 11:51
moritz I think that's by (security) design
(that was for timotimo)
jnthn jeckyhl: We're moving pretty fast on it, though. ;)
timotimo moritz: so, how do i put a Java Applet version of the rakudo evalserver into a website, push code in from JS and get the result back out when it's finished? 11:52
would i have to poll an attribute of the applet?
jeckyhl @jnthn It's worth waiting ! I will test again soon.
moritz timotimo: no idea, sorry 11:57
11:59 sriliam joined
sriliam hi 11:59
moritz hello sriliam
sriliam New to perl6 and a kind of dubitative : does this project is sustained by larry wall or anyone else from other perl 12:00
?
jnthn sisar: Larry is Perl 6 language designer. 12:04
oops
sriliam: ^^
sriliam Thanks jnthn
OK, so what about compatibility ?
There were object reference which had been a different when transition from perl4 to perl5. 12:05
When perl6 test passed : is there is a transition on the road, or does Perl6 will be used both with Perl5 ? 12:06
jnthn sriliam: Not backwards compatible; Perl 5 will continue to be developed/maintained a *long* way into the future too. :) 12:07
sriliam: We're working on various kinds of interop between the two so you don't have to ditch existing Perl 5 code in order to start writing Perl 6 code too. 12:08
hoelzro timotimo: I could, but I really did the pygments thing because I wanted GH support for Perl6 12:09
jeckyhl jnthn: Rakudo-JVM buid sucessfully (with nmake v11 / Java JRE1.7 64 bits)
hoelzro and I'm much more keen on Python than JS =)
12:09 moritz_ joined, moritz_ left
sriliam "Not backwards compatible" ??? What about XS code with perl5 ? 12:09
^^ In perl6, of course : what about xs code in perl6 ? 12:10
12:11 _ilbot joined, _ilbot left
sriliam "e're working on various kinds of interop between [...] start writing Perl 6 code too" : ok, understood. 12:12
I'm always worring about "we will done all for you ..." !!
:)
12:13 _ilbot joined 12:14 _ilbot left, birdwindupbird joined
timotimo hoelzro: well, codemirror is used in gist and the github on-line editor ;) 12:14
there's of course no obligation for you to do it
12:14 moritz_ joined 12:15 moritz_ left
timotimo sriliam: Perl5-XS is kind of hard to interop with. currently there's a module in the works called "rakudo-v5", which will let you write perl5 code in side perl6 and the other way around when you're using rakudo, but that won't give you XS 12:15
12:16 _ilbot joined, SunilJoshi joined
hoelzro grr 12:16
timotimo: it's the only highlighter used for gists?
12:16 _ilbot left
timotimo oh, wait, gist doesn't have codemirror, does it? 12:16
sriliam: MoarVM, on the other hand, which will become a rakudo backend, is going to use libperl, so there will be some degree of using XS in perl5 code together with perl6
hoelzro: you get as-you-type highlighting on gists if you turn on the "ACE editor" i suppose 12:17
12:17 jeckyhl left
timotimo but it's nod codemirror, it seems!? 12:17
jnthn A bunch of the things you might do with XS in Perl 5, you can do with NativeCall in Perl 6.
timotimo it's apparently thi: #lives_ok { eager $req.params<hello> }, 'Request data parses without dying';
#is ~$resp.content, $data, 'POST data string roundtrips correctly'; 12:18
... wat.
#is $req.params<a>, '1;b=2', 'application/x-www-form-urlencoded POST data should only split on &';
it's apparently this: ace.ajax.org/#nav=about (for real this time)
12:18 _ilbot joined
sriliam ok timotimo : read you carefully : MoarVM the second answer is more interresting. Thanks 12:18
12:18 _ilbot left
timotimo oh, i forgot XS was used for legitimate purposes, too. in that case, you can use NativeCall on perl6 12:19
i thought XS was only for doing crazy/dirty stuff with the internal state of perl5
12:19 moritz_ joined, moritz_ left
timotimo ace.ajax.org/tool/mode_creator.html - this seems like a pretty darn cool tool 12:20
sriliam No timotimo : the most XS deal is efficiency !!! NativeCall talks to me.
:)
timotimo has never used perl5, to be honest
sriliam lol 12:21
And even perl4 ... XS are very old.
timotimo i should be more precise: perl6 is the only perl i've ever tried
12:22 ztt_ joined
hoelzro I'm hoping that having "regular" syntax highlighting on GH will inspire someone else to port my efforts to CodeMirror 12:23
sriliam timotimo : Ok, you lost nothing with other versions will be a bad joke. Really.
hoelzro =)
12:24 moritz_ joined 12:25 moritz_ left
timotimo i was wrong, github uses ACE everywhere, not codemirror 12:25
sriliam Ok, another question for you hackers ... Does recursive programming works with perl6. It does with perl5 but very pool experiments results.
timotimo you can recurse, but the compiler will not (yet?) do things like tail-call optimization, if you mean that 12:26
sriliam Read you timotimo : need to go. Thanks for you all !!!! Perl[1-6] are the best languages !!!!! 12:28
timotimo have a good time! :) 12:29
12:29 sriliam left
timotimo now that's what i call enthusiasm :) 12:29
hoelzro: this ACE mode creator editor tool thingie looks super nice, i think i'll spend at least a few minutes toying around with it! :) 12:30
hoelzro cool =)
timotimo from the example i'm looking at, it seems pretty limited, though; as in flat 12:35
oh, no, i was wrong
dalek p: f3cab58 | jnthn++ | src/vm/ (3 files):
Add nqp::getpid for both JVM and Parrot.
xlat is Grammar::Debugger working on W7? 12:40
jnthn xlat: I know Grammar::Tracer will work at least, *but* it emits ANSI color codes, so needs something like ansicon
12:40 moritz_ joined
xlat ok, I install ansicon, and I see colors with Tracer which works 12:41
12:41 moritz_ left
timotimo maybe Term::ANSIColor should check at compile-time what OS it's being run on and give stub methods that do nothing on windows? 12:41
or look for an environment variable i guess
jnthn timotimo: Well, I'd pondered a Term::WinColor and then around the two a Term::PortaColor at some point :) 12:42
xlat jnthn: but when I use Debugger, as soon as I try to single-step it throws an exception
jnthn xlat: That may not be Windows specific :(
xlat: Did you try using the perl6-debug that is included with Rakudo *? It also knows how to do grammar single-stepping and should be working. 12:43
xlat jnthn: I'll try now... 12:44
jnthn Sorry 'bout the grammar::debugger bug. That's almost certainly my fault... :/
xlat jnthn: the error msg: pastebin.com/DRQitCje 12:45
12:45 cognominal joined
jnthn ugh 12:45
xlat: Filed it in issue tracker 12:47
dalek p: 7fa12e2 | jnthn++ | src/vm/parrot/QAST/Operations.nqp:
Fix nqp::getpid on Parrot.
12:48
kudo/nom: c050747 | jnthn++ | src/core/Range.pm:
Port Range reify fast-path.
12:51
kudo/nom: 7f0af9b | jnthn++ | / (2 files):
Use new nqp::getpid() op for $*PID.

Means $*PID is now available on JVM backend also.
12:53 pdurbin left 12:56 raiph left
timotimo it doesn't seem like ACE allows capturing in the tokens, so heredocs will practically be impossible 13:00
xlat jnthn: debugger's coloration is impressive! 13:02
13:05 _ilbot joined, _ilbot left 13:08 flaviusb left, raiph joined
xlat jnthn: tryed perl6-debug but still got the same error, my script: gist.github.com/xlat/5be8c961d21b6350a2eb 13:11
13:13 tomyan_ joined 13:15 kaare_ joined
jnthn xlat: Wait, the debugger tells you the same error? Does it tell you which line? 13:15
13:15 tomyan left
jnthn xlat: You did remove the "use Grammar::Debugger" from your script before running it under perl6-debug? 13:16
13:16 dayangkun joined
jnthn If not then you're debugging Grammar::Debugger... ;) 13:16
13:16 SunilJoshi left 13:22 xlat left
dalek p: cf6cfb3 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Implement accepts_type handling.

This is the primitive that makes things like subset types work.
13:23
13:26 JimmyZ left 13:29 ztt_ left 13:31 atroxaper left, JimmyZ joined 13:35 woosley1 joined 13:36 xlat joined
xlat jnthn: u were right, I was debugging Grammar::Debugger ^^ 13:43
jnthn
.oO( yo dawg... )
13:44
masak yo debawg. 13:51
13:54 woosley1 left 13:55 konundra joined
timotimo how confident can one be in the restricted setting? 13:55
r: say dir(); 13:56
camelia rakudo 7f0af9: OUTPUT«IO::Path<star> IO::Path<src> IO::Path<.subversion> IO::Path<.bashrc> IO::Path<nom-inst1> IO::Path<toqast> IO::Path<test3.pl> IO::Path<.profile> IO::Path<t> IO::Path<nom-inst2> IO::Path<nom-inst> IO::Path<toqast-inst> IO::Path<toqast-inst2> IO::Path<examples> IO::Pa
timotimo r: slurp("test3.pl")
camelia rakudo 7f0af9: ( no output )
timotimo r: slurp("test3.pl").say
camelia rakudo 7f0af9: OUTPUT«use Test;␤␤{␤ "fooxbar" ~~ /x/;␤ is $/.prematch, "foo", ".prematch works";␤ is $/.postmatch, "bar", ".postmatch works";␤␤ is ("foo" ~~ /(f)/).kv.join("|"), '0|f', '.kv sees positional';␤ is ("foo" ~~ /$<x>=[f]/).kv.join("|"), 'x|f', '.kv sees names';…
13:56 _ilbot joined
timotimo r: dir("/etc").say 13:57
13:57 _ilbot left
camelia rakudo 7f0af9: OUTPUT«IO::Path</etc/terminfo> IO::Path</etc/issue.net> IO::Path</etc/login.defs> IO::Path</etc/issue> IO::Path</etc/rcS.d> IO::Path</etc/shells> IO::Path</etc/logcheck> IO::Path</etc/sysctl.d> IO::Path</etc/python> IO::Path</etc/resolv.conf> IO::Path</etc/locale.gen> IO:… 13:57
timotimo huh.
r: rename("foo", "bar")
camelia rakudo 7f0af9: OUTPUT«rename is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub rename at src/RESTRICTED.setting:12␤ in block at /tmp/IRYbZjk3oE:1␤␤»
timotimo righto. 13:58
13:58 ajr joined
timotimo so only the things that are supposed to write or modify are blocked 13:58
13:58 ajr is now known as Guest29689, Guest29689 is now known as ajr_
timotimo r: qx{echo hello}.say 13:59
camelia rakudo 7f0af9: OUTPUT«qx, qqx is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub QX at src/RESTRICTED.setting:9␤ in block at /tmp/MuJlWm3Ybh:1␤␤»
13:59 konundra_ joined
timotimo r: my Mu $pio := nqp::open(nqp::unbox_s("echo 'exploit' > harmless_testfile.txt"), "rp"); $pio.close; 14:00
camelia rakudo 7f0af9: ( no output )
timotimo r: slurp("harmless_testfile.txt").say
camelia rakudo 7f0af9: OUTPUT«exploit␤␤»
timotimo :(
masak Perl 6 is exploit-complete. a restricted setting is just a guideline, not a real protection. nor can it ever be. 14:01
timotimo so for a try.perl6.org one would want a java applet or a pure-js interpreter. 14:02
masak yes, definitely. 14:03
timotimo shudders at the thought of using swing 14:04
14:05 moritz_ joined, moritz_ left 14:08 _ilbot joined 14:09 _ilbot left 14:13 benabik joined, atroxaper joined
timotimo how can Task::Star fail its tests? 14:14
dunno if i asked that on this channel already: does compiling MoarVM with emscripten sound sensible? 14:16
14:17 logie joined 14:18 moritz_ joined, moritz_ left
timotimo r: dir("t") 14:21
camelia rakudo 7f0af9: ( no output )
timotimo r: dir("t").say
camelia rakudo 7f0af9: OUTPUT«IO::Path<t/fileops.t> IO::Path<t/ImportTest.pm6> IO::Path<t/jsync.data> IO::Path<t/frontend-std.t> IO::Path<t/run_spectests_p5> IO::Path<t/update_passing_test_data.pl> IO::Path<t/jsync.t> IO::Path<t/spectest_p5.data> IO::Path<t/clr.t> IO::Path<t/fudgeandrun> IO::Pa
timotimo r: dir("t").grep(*.Str eq "t") 14:22
camelia rakudo 7f0af9: ( no output )
timotimo r: dir("t").grep($_ eq "t")
camelia rakudo 7f0af9: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/nhuxRjNb_L:1␤␤»
FROGGS_ masak: gist.github.com/FROGGS/5845176
14:22 colomon left
timotimo the dirwalk in ufo is recursing into itself endlessly, because apparently dir("foo", :test(*)) is returning foo now, too 14:22
FROGGS_ masak: I think it is easier to maintain when the directives differ more (like they would do for binary for example) 14:23
timotimo r: dir("t", :test(*)).say
camelia rakudo 7f0af9: OUTPUT«IO::Path<t/..> IO::Path<t/fileops.t> IO::Path<t/ImportTest.pm6> IO::Path<t/jsync.data> IO::Path<t/frontend-std.t> IO::Path<t/run_spectests_p5> IO::Path<t/update_passing_test_data.pl> IO::Path<t/jsync.t> IO::Path<t/spectest_p5.data> IO::Path<t/clr.t> IO::Path<t/fudg…
timotimo even worse, .. is contained in there!
jnthn Everything matches whatever, I guess 14:24
timotimo yeah. it must have changed some time in the past, though 14:25
14:26 cognominal left
timotimo r: dir("t", :test(*))[0].cleanup.say 14:27
camelia rakudo 7f0af9: OUTPUT«IO::Path<t/..>␤»
14:28 cognominal joined, moritz_ joined 14:30 moritz_ left
masak FROGGS_: looking. 14:30
FROGGS_ (20 lines more in total)
14:32 _ilbot joined, _ilbot left 14:33 moritz_ joined, moritz_ left
masak FROGGS_: nice. it looks good, overall. 14:34
FROGGS_: suggestion: 'sprintf', not 'SprintF'. 14:35
FROGGS_: also, would it be possible to move the args checks from the TOP rule to the TOP action method?
FROGGS_ masak: that should work, yes
masak I don't see immediately why $*PADDING is needed, rather than just something like $<size><padding> 14:37
er, $<size><padding>.ast
timotimo masak: gist.github.com/timo/a7f69bb57820a9e5ce88 <- opinions? 14:38
FROGGS_ masak: well, $*PADDING defines the default padding (for example if there is no size)
masak: I updated the gist btw 14:39
timotimo: I would use File::Spec.updir instead of '/..', because it can be something else on other systems 14:40
masak timotimo: looks good.
14:40 Rotwang left
masak modulo what FROGGS_ just said :) 14:41
FROGGS_: I'm not too fond of dynamicals where something else works just as well, is all.
FROGGS_ true 14:43
cognominal hi, is there a way to huffmanize this action : make $/{$/.keys[0]}.ast 14:44
14:45 xlat-home joined
jnthn cognominal: I'm...not sure that makes sense? "look up a randomish key in the match object"? 14:45
Hashes aren't ordered in any way, so .keys[0] could give any of the keys
cognominal if the rule is something like : A | B | C | D 14:46
...it does make sense
oops, I forgot the <>
replay: if the rule is something like : <A> | <B> | <C> | C<D> 14:47
arf
timotimo FROGGS_: good point. masak do you have a moment to do that change yourself or should i make an updated patch? because i'll be afk for a bit now.
cognominal <A> | <B> | <C> | <D>
timotimo well, bbl. 14:48
14:48 xlat left
JimmyZ cognominal: gist.github.com/FROGGS/5845176#fil...tf-pl-L138 like this? 14:49
cognominal Jimmyz, that's exactly the natural form of what I want to huffmanize. I should have started by showing something like that. 14:51
doing make $<rule>.ast for each rule is exactely what I want to avoid. 14:52
FROGGS_ bbl, masak you can apply my patch from the gist if you want...
cognominal also because I need to modify the action each time I had a rule to the alternation.
JimmyZ cognominal: you may want ```for my $key (keys $/) { make $<$key>.ast; }``` 14:53
cognominal on the other hand, like jnthn said, but with other words make $/{$/.keys[0]}.ast is cryptic
JimmyZ or something 14:54
cognominal that sort of code come over and over. Probably some syntactic sugar could be invented. 14:55
not that I think of one out of hand. 14:56
14:57 crab2313 left 14:58 crab2313 joined
cognominal make $|/.ast # probably, that's what I would like to write 14:58
15:00 crab2313 left
cognominal but probably such huffmanization should address rules with quantifiers as well like <A> | <B>+ | <C>* 15:00
may be I just need some routine.
* need to write
15:00 raiph left 15:06 _ilbot joined 15:07 _ilbot left 15:08 raiph joined 15:10 cognominal left 15:14 panchiniak_ joined 15:15 FROGGS[mobile] joined 15:22 tomyan_ left
masak timotimo: I leave it to you to make the patch. I don't feel involved enough in the issue at hand. 15:22
15:26 konundra_ left, konundra left
timotimo OK 15:29
15:32 _ilbot joined, _ilbot left 15:34 dmol joined 15:39 tomyan joined 15:42 tomyan left 15:49 cognominal joined 15:52 crab2313 joined, skyheights joined 15:53 konundra joined, _ilbot joined, konundra_ joined, _ilbot left 15:56 JimmyZ left 15:58 ajr joined, ajr_ left, ajr is now known as Guest42649, Guest42649 is now known as ajr_
Ulti sorear I'm only using IO::Pty::HalfDuplex because it's part of try.rakudo.org I'll try and work out what's happening, the tests hang and eventually fail on the first spawn() 15:59
16:00 _ilbot joined 16:01 _ilbot left 16:06 _ilbot joined 16:07 _ilbot left 16:10 dmol left, dmol joined 16:11 tomyan joined 16:21 _ilbot joined, _ilbot left, moritz_ joined, moritz_ left 16:22 colomon joined 16:26 moritz_ joined, moritz_ left 16:28 domidumont joined, yoleaux left
[Coke] ok, the last pugs change I made didn't break everything on the original testing box, that's good. 16:29
16:30 domidumont left 16:31 moritz_ joined, moritz_ left 16:36 moritz_ joined, moritz_ left 16:37 _ilbot joined, _ilbot left 16:41 moritz_ joined 16:42 moritz_ left
pmichaud cognominal: ( <A> | <B> | <C> | <D> ) there are several ways around it 16:48
one is to use protoregexes
another is to use aliases
for example
<X=A> | <X=B> | <X=C> | <X=D> and then make $<X>.ast 16:49
cognominal that's nice, I like it.
pmichaud: what's about protoregex(es)? And what is the plural of regex btw? 16:50
16:51 _ilbot joined 16:52 _ilbot left
pmichaud proto regex foo {...}; proto regex foo:sym<A> { <A> }; protoregex foo:sym<B> { <B> }; ... then each foo: candidate can have its own action method (and you know what the matching subrule is) 16:52
cognominal nice to know. But pretty verbose in my case 16:53
pmichaud++
or <X = <A> | <B> | <C> | <D> > I suppose 16:55
pmichaud I don't think that works 16:56
cognominal oh, that should be $<X> = [ <A> | <B> | <C> | <D> ] 16:57
17:00 rindolf left
pmichaud that doesn't give you $<X>.ast, though. 17:00
$<X> simply matches whatever text is matched by whatever is in the brackets.
17:01 xilo joined
pmichaud s/matches/contains/ 17:01
cognominal indeed 17:02
17:06 atroxaper left
cognominal so should I interpret you answer as "I think it should work" or "I think it should not work". With my syntax interpreted as some inline rule as opposed to mere capturing. 17:06
pmichaud which answer?
cognominal [18:56] <pmichaud> I don't think that works 17:07
pmichaud I know that <X=A> | <X=B> | <X=C> | <X=D> will work, with $<X>.ast containing the .ast of whichever subrule matched
<X = <A> | <B> | <C> | <D> > isn't valid syntax afaik
17:08 konundra left, konundra_ left 17:09 yoleaux joined, ChanServ sets mode: +v yoleaux
pmichaud I'm afk again 17:09
cognominal that's gives: Quote words construct too complex to use in a regex 17:10
17:10 moritz_ joined
jnthn Did you accidentally a space after a "<"? 17:11
17:12 moritz_ left 17:13 birdwindupbird left 17:15 moritz_ joined
cognominal jnthn, what do you want to say? 17:16
17:16 moritz_ left 17:18 fgomez left, fgomez joined
jnthn cognominal: The erorr you reported. 17:19
17:20 gdey left, _ilbot joined
jnthn cognominal: I think you may have typed < foo=bar> or so, not <foo=bar>. The space after the < turns it into quote words. 17:20
17:20 _ilbot left
cognominal jnthn, no that's expected. I just said to pmichaud what was the error message for the example I gave that pmichaud said it would not work. 17:21
17:22 _ilbot joined
diakopter what do you people think about being 1/8 done with this century? 17:22
17:22 _ilbot left 17:23 ajr_ left 17:33 moritz_ joined, moritz_ left 17:36 raiph left 17:37 _ilbot joined, _ilbot left
jnthn Seems I've got a talk accepted at YAPC::EU :) 17:37
masak \o/ 17:38
diakopter: I am disappointed at the rate of human colonization across our galaxy. 17:39
17:41 domidumont joined
cognominal masak: I am afraid that people think that's an alternative to fixing our problems in our home planet. 17:42
masak it's not an either-or thing, IMHO. both are highly important. 17:44
17:44 moritz_ joined 17:45 moritz_ left 17:46 xilo left, xilo joined 17:47 _ilbot joined, _ilbot left
cognominal well, I shoud reformulate in "fixing our problems in our culture". colonization, extra-terrestrial or not does not fix these problems 17:48
17:50 benabik left 17:53 crab2313 left, Guest1337 left 17:54 SamuraiJack left 17:55 moritz_ joined
lue
.oO(Having another planet to overpopulate would give us more time. Alternatively, underwater colonies)
17:55
17:55 moritz_ left
masak overpopulation in general becomes a slightly smaller problem when there's more than one planet to choose from. 17:58
FROGGS_ UFP WTF! 18:00
18:00 panchiniak_ left
FROGGS_ masak: any objections left about sprintf::Grammar? 18:01
18:01 ugexe left 18:02 ugexe joined
sorear JimmyZ: hg.openjdk.java.net/ 18:05
18:05 moritz_ joined, moritz_ left
sorear timotimo: jdk6.java.net/plugin2/liveconnect/#JAVA_TO_JS 18:06
timotimo: the design I'm planning to implement is to have an invisible applet that responds to evaluation methods, and implement the repl in html/js 18:10
that way you get all the nice browser features like right click, copy for free
18:13 benabik joined 18:15 _ilbot joined, _ilbot left 18:19 BenGoldberg joined 18:22 moritz_ joined, moritz_ left 18:27 moritz_ joined, moritz_ left 18:29 raiph joined 18:39 moritz_ joined, moritz_ left 18:40 Rotwang joined 18:46 _ilbot joined, _ilbot left 18:47 lizmat joined
lizmat good *, #perl6! 18:49
cognominal r: grammar A { token TOP { <a> || <b> } ; token a { '[' ~ ']' <[ab]> }; token b { '[b-]' } }; A.parse: '[b-]'
camelia rakudo 7f0af9: OUTPUT«Unable to parse expression in a; couldn't find final ']'␤ in any FAILGOAL at src/stage2/QRegex.nqp:1037␤ in regex a at /tmp/zMlANBrRlX:1␤ in regex TOP at /tmp/zMlANBrRlX:1␤ in method parse at src/gen/CORE.setting:10697␤ in block at /tmp/zMlANBrRlX:1␤␤»…
cognominal r: grammar A { token TOP { <a> || <b> } ; token a { '[' ~ ']' <[ab]> }; token b { '[b]' } }; A.parse: '[b]'
camelia rakudo 7f0af9: ( no output )
cognominal r: grammar A { token TOP { <a> || <b> } ; token a { '[' ~ ']' <[ab]> }; token b { '[b]' } }; say A.parse: '[b]' 18:50
camelia rakudo 7f0af9: OUTPUT«「[b]」␤ a => 「[b]」␤␤»
sorear o/ cognominal, lizmat ! 18:51
lizmat o/ sorear!
cognominal o/ everyone 18:52
with xlat-home, I wonder why the first parse fails and the second succeeds
lizmat o/ cognominal!
cognominal o/ lizmat, sorear
colomon \o 18:54
lizmat so how are we on the percentage of spectests passing on the JVM?
18:54 raiph left
lizmat colomon! 18:54
[Coke] lizmat: github.com/coke/perl6-roast-data/b...pass_rates 66.62% as of yesterday. 18:55
today's run isn't done yet.
lizmat wow… 2/3 passes, wow! 18:56
[Coke] (that's 2/3 of the parrot impl.)
jnthn eagerly awaits today's run 18:57
xlat-home r: grammar A { token TOP { <a> || <b> } ; token a { '[' ~ ']' <[a]> }; token b { '[b-]' } }; A.parse: '[b-]' 18:58
camelia rakudo 7f0af9: ( no output )
18:58 raiph joined
xlat-home grammar A { token TOP { <a> || <b> } ; token a { '[' ~ ']' <[ab]> }; token b { '[b-]' } }; A.parse: '[b-]' 18:58
r: grammar A { token TOP { <a> || <b> } ; token a { '[' ~ ']' <[ab]> }; token b { '[b-]' } }; A.parse: '[b-]' 18:59
camelia rakudo 7f0af9: OUTPUT«Unable to parse expression in a; couldn't find final ']'␤ in any FAILGOAL at src/stage2/QRegex.nqp:1037␤ in regex a at /tmp/nZD3WlU1i2:1␤ in regex TOP at /tmp/nZD3WlU1i2:1␤ in method parse at src/gen/CORE.setting:10697␤ in block at /tmp/nZD3WlU1i2:1␤␤»…
colomon for those who remember me mentioning that my wife had just bought $450 worth of bookshelves while I was at YAPC::NA, we've just started assembling them. :)
xlat-home just changing <[ab]> -> <[a]> make it works, but:
r: grammar A { token TOP { <a> || <b> } ; token a { '[' <[ab]> ']' }; token b { '[b-]' } }; A.parse: '[b-]' 19:00
camelia rakudo 7f0af9: ( no output )
xlat-home changing A ~B C syntax to a A C B make it works, why ?
lizmat colomon: if your wife did that, I would assume there is a good reason to get the shelves :-)
cognominal afk& # need some walk to think clearly 19:02
lizmat .oO{ you can only live inbetween piles of books for so long}
cognominal: walk clearly, think some! 19:03
pmichaud xlat-home: the ~ construct adds a "fail the match" component 19:04
colomon lizmat: you can only live so many years without unboxing all your books from the last move...
lizmat true: in our case, it's about 12 years now…(that some of our books have been in boxes, and still are :-( 19:05
19:05 ugexe left
colomon lizmat: scary thing is these are only intended to be a stop gap measure until we can afford cover an entire wall of the living room with IKEA bookshelves. ;) 19:05
xlat-home pmichaud: thank u, that sounds ok, my bad.
19:05 ugexe joined
colomon *afford to 19:05
lizmat is IKEA that expensive in the US then? 19:06
colomon if you buy an entire wall's worth of bookshelves with glass doors, yes.
lizmat glass doors? for bookshelves? 19:07
Juerd Books are supposed to have dust covering the top.
That's how you gauge how long they've been there. Without it, how would you know?
lizmat ok, yes, then I can see they can run into some paper… our IKEA bookshelves are all without doors (Billy)
19:08 fgomez left
diakopter our IKEA bookshelves fell apart while moving 19:08
geekosaur but glass doors keep the cats from using the books as convenient claw sharpeners
19:08 fgomez joined
lizmat eh…. you should at least take the shelves out 19:08
diakopter yes, it was an extremely poor moving van packing job 19:09
lizmat our Perl library lives in Ikea shelves, and has moved many a time to a conference or workshop
diakopter like, miserably
lizmat :-(
geekosaur: get educated cats :-)
colomon lizmat: Billy is what we were looking at, I think. Also, corner units at each end of the wall to be covered by bookshelves. 19:10
geekosaur maggie had trouble remembering from week to week not to try to eat candle flames; book learning was just a bit beyond her :p
19:13 _ilbot joined, _ilbot left
sorear fun, nqp-runtime.jar now contains a compile-time reference to sun.* 19:18
jnthn sorear: I figured the only way to know how that would fly was to do it.
dalek p: 1792c64 | sorear++ | src/vm/parrot/QAST/Operations.nqp:
tweak error message in nqp::getpid
19:21
jnthn sorear++ # good catch 19:22
dalek rl6-roast-data: 6755e3d | (Will "Coke" Coleda)++ | / (4 files):
today (automated commit)
19:31
[Coke] that brings us up over 70% !
sorear ! 19:32
19:32 moritz_ joined, moritz_ left
masak FROGGS_: <?{ $*PADDING := ~$<padding> if nqp::chars($<padding>); 1 }> 19:33
better written as { $*PADDING := ~$<padding> if nqp::chars($<padding>) } 19:34
(and I still suspect $*PADDING could be replaced by some simpler mechanism)
FROGGS_ masak: that stops LTM
masak <?{}> doesn't stop LTM!? 19:35
sorear <?{}> does stop LTM
FROGGS_ no, the block form
sorear if you don't want to stop LTM, you need to use <!!{}>
masak sorear: oh phew
FROGGS_ hmmm
masak wait what
where's the logic in all of that? 19:36
19:36 domidumont left
[Coke] sorear++ jnthn++ 19:36
masak FROGGS_: also, I now see we really need to abstract out infix_x($padding, $size - $length) anyway. 19:37
FROGGS_ about the padding, we could make a sub like sub padding { $<size><padding> || ' ' }...
masak FROGGS_: it keeps cropping up everywhere with insignificant variations.
FROGGS_: yes. FROGGS_++
that's much better than a dynamical.
sorear the contents of a <!before > are invisible to LTM
<?before > is special to LTM: the contents of the <?before > replaces the continuation, essentially, since we assume it's more specific than what follows 19:38
foo <?before bar> \w+ is LTMed like 'foobar {}'
foo <!!before bar> \w+ is LTMed like 'foo \w+' 19:39
jnthn Wow, 70%! 19:40
woolfy 70%++
sorear jnthn++ 19:41
jnthn: now beat niecza, I know you can do it
jnthn sorear: Feel free to chip it a few commits towards it, if you fancy a little bug-hunting ;)
sorear: Are you working on the interop stuff? 19:42
19:42 tomyan left
lizmat the 2 failing rakudo tests are in t/spec/S12-attributes/clone.t 19:42
lizmat is checking
sorear jnthn: yes, interop mostly atm
jnthn sorear++ 19:43
sorear lizmat: yes, ssutch deliberately committed TODO tests to that file
lizmat: probably should have been #?rakudo todo'd or so
timotimo yeah, think so, oo
lizmat Ah, but they aren't marked as todo
will mark them as todo
timotimo where do i find File::Spec.updir? is File::Spec a module? and if so, should it become a dependency of ufo? i thought ufo was meant to be dependencyless so that you can install things with it without installing anything before 19:44
19:45 konundra joined
dalek ast: 894a692 | (Elizabeth Mattijsen)++ | S12-attributes/clone.t:
Clone tests should be marked as todo for the time being
19:45
jnthn Hm, seems like fixing throws_like would be another big win. 19:46
19:46 konundra_ joined
dalek ast: 0bdad76 | (Elizabeth Mattijsen)++ | .gitignore:
Make sure we ignore any generated rakudo.parrot files
19:47
lizmat seems one can now rm t/spec/*/*.rakudo 19:48
timotimo indeed, rakudo.parrot and rakudo.jvm are the new files 19:50
[Coke] colomon++ noticed that was borked earlier. 19:51
(throws_like)
19:52 colomon left, berekuk joined
jnthn Of course, the interesting question is, "why"... 19:52
19:52 colomon joined
sorear I might also do applet stuff later. 19:53
colomon just blew up his IRC program trying to figure out who else is talking about throws_like
sorear and dukeleto wants me to do a real-time GC (for Parrot), which sounds fun
jnthn aha, S04-exception-handlers/catch.t fails with the same error. It's probably easier to track it down from there... 19:54
19:54 moritz_ joined
diakopter sorear: do you mean precisely real-time, or actually wait-free 19:55
19:55 ugexe left
sorear diakopter: hard real time. there is a fixed bound on the number of cycles allocate is allowed to spend before returning, and a guarantee that allocate will never fail as long as total retained objects remains below a prespecified fraction of the heap size 19:57
colomon jnthn: if you're talking about the "Wrong number of arguments passed; expected 1..1, but got 0", loads of files are doing that -- I suspect every one that calls throws_like. Possibly every one with exception handling at all? 19:58
sorear I don't care whether locks are used, as long as we can prove that the waits are limited
19:58 moritz_ left 19:59 pjcj joined, moritz_ joined
jnthn colomon: well, turns out CATCH itself is busted! 19:59
19:59 moritz_ left
jnthn How the heck do we pass 70% of the tests with a busted CATCH... :) 20:00
colomon jnthn: I'm thinking if you fix it, the results are going to be stupendous. ;)
20:00 ugexe joined
jnthn Plenty else is busted :P 20:00
sorear jnthn: rakudo catch, nqp catch, or both? 20:01
jnthn sorear: Rakudo only
colomon jnthn: I'm not surprised by CATCH being broken; as nearly as I could tell by adding say statements, the problem had to be happening somewhere between try and CATCH, inclusive.
sorear jnthn: note that there's a bit of a semantic change(?) with nqp catch
jnthn: you may have noticed that in the REPL all exceptions resume 20:02
jnthn sorear: Oh, I was wondering when that got regressed... 20:03
sorear hmm, I can't reproduce the REPL exceptions bug right now. maybe jnthn++ fixed that? 20:04
> say 1; nqp::null().gist; say 3
1
Can not call method 'gist' on a null object
>
20:04 moritz_ joined, moritz_ left 20:05 kaare_ left
jnthn sorear: I saw it in Rakudo's REPL today 20:05
heh...anybody want to fix a typo in roast? :) 20:06
S04-phasers/begin.rakudo.jvm....................... 8 0 0 1 9
1 skipped: cannot assing to non-container
...well, that's a pain in the butt :P 20:07
lizmat jnthn: will fix
sorear jnthn: another thing you may be aware of
Stefans-MacBook-Air:nqp-jvm sorear$ ./nqp -e 'sub bob() { nqp::null().foo }; { bob(); say("hi"); CATCH { nqp::resume($!) } }'
hi
the doc comment for ExceptionHandling.throwInternal says it's not resumable, but this is manifestly wrong.
20:07 ugexe left
jnthn sorear: um, interesting :) 20:08
20:08 ugexe joined
dalek ast: 056fe4e | (Elizabeth Mattijsen)++ | S04-phasers/begin.t:
Only the rakudo on the JVM can't do these tests

spotted by jnthn++
20:10
timotimo is measuring the time between jnthn complaining about a busted CATCH and jnthn pushing the commit to fix it
dalek kudo/nom: 38173e7 | jnthn++ | src/Perl6/Actions.nqp:
Initial fix to CATCH.

Now it at least *sometimes* works.
20:11
20:11 moritz_ joined
jnthn lizmat: uh, no, that needs to be fudged for Rakudo in general 20:11
lizmat: I just meant the typo in the word assign :P
sorear Stefans-MacBook-Air:nqp-jvm sorear$ ./nqp -e 'sub bob() { nqp::null().foo }; { bob(); CATCH { say("Ex: "~$!); nqp::resume($!) } }'
20:11 moritz_ left
sorear Ex: Can not call method 'foo' on a null object 20:11
more fun ^
Ex: java.lang.RuntimeException: Stooge exception leaked
Stefans-MacBook-Air:nqp-jvm sorear$
lue timotimo: 12m for a partial fix :) 20:12
jnthn ...OK, so the comment is right (they're not resumable if you want anything to end well). :)
sorear but why is it called "stooge"? 20:13
dalek ast: 07b53b5 | (Elizabeth Mattijsen)++ | S04-phasers/begin.t:
Per request of jnthn
sorear and why is there only one of them? :)
cognominal I have tried to explain our problem in this gist. And it made me run into another problem. gist.github.com/cognominal/5846277
20:13 ugexe left, ugexe joined
jnthn sorear: dieInternal returns an exception so we can write "throw ExceptionHandling.dieInternal(...)" and Java compiler is happily convinced we're not coming back. 20:14
lizmat jnthn: hmmm…. seems I got it wrong again :-) should learn to read
anyway, I got the impression the test passes
lizmat is doublechecking
20:16 moritz_ joined, moritz_ left
sorear jnthn: note that, afaict, perl6_skip_handlers_in_rethrow is unneeded on jvm because ExceptioonHandling.java already contains logic to never reenter a handler 20:17
jnthn sorear: Correct.
20:17 logie left
jnthn sorear: That's why we just do nothing on the JVM :) 20:17
Somehow, at the moment, it ends up doing everything fine inside the CATCH...then the exception gets re-thrown again. 20:18
20:19 dmol left 20:23 sriliam joined
lizmat jnthn: S04-phasers teet for our that test runs fine in rakudo, the todo/skip was unneccesary 20:23
*tst 20:24
*test
grrrrr
jnthn: so should I fudge rakudo.jvm? or add it to the ~30% remaining :-) 20:25
jnthn lizmat: I'd rather not fudge stuff JVM-specific yet
lizmat then all is fine
jnthn lizmat: for now it's more helpful they fail outright so we can see what's left to do
lizmat agree 20:26
coming back to the keeping the capture trick with |c, I guess you cannot use that on multimethods, as it will change the signature, right? 20:27
20:28 ssutch joined, konundra left
ssutch hello perl6! 20:28
lizmat ssutch!
moritz Files=713, Tests=19787, 2919 wallclock secs (12.13 usr 2.76 sys + 44.96 cusr 11.68 csys = 71.53 CPU)
sorear ssutch! 20:29
moritz!!
20:29 konundra_ left
ssutch peeps! 20:29
sorear I like how I can tell that it's a jvm test just by looking at the times
dalek kudo/nom: 39d29d8 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Remove superfluous named parameter
20:30
moritz gist.github.com/moritz/5846436 # complete summary 20:31
sorear: aborting many tests makes for a fast run, yes :-)
SCNR 20:32
labster r: say IO::Spec.updir() # use this timotimo
camelia rakudo 7f0af9: OUTPUT«..␤»
moritz -> sleep 20:33
20:33 moritz left
sorear moritz: more looking at the difference between wall and usr 20:33
lizmat fwiw, the 19787 puts it at 75%+ in my book
jnthn lizmat: That's attepted, not passed
lizmat ah, ok :-( 20:34
colomon lizmat: no frowns, the rate of progress here is phenomenal. Just not quite that fast. ;) 20:37
20:39 sriliam left
cognominal I added a comment in my gist. As said by xlat-home the result of the first iteration does not match the behavior explained by pmichaud 20:40
20:44 sftp joined 20:46 FROGGS[mobile] left
dalek ecs: 9b6b82a | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod:
Spec Hash.exists and Hash.delete as internal methods
20:46
20:48 ugexe left, ugexe joined
raiph moritz 20:48
masak raiph
sorear raiph: ENOMORITZ
raiph hi sorear: moritz's irclogs are down; anyone know an alternate irclog url? 20:49
lizmat sleep&
sorear
.oO( file:///Users/sorear/irclogs/freenode/#perl6.log )
20:50
raiph :)
masak .oO( we know the logs are down, see the backl... oh wait )
sorear colabti.org/irclogger/irclogger_log...2013-06-23
raiph i recall there being another one. it was mentioned on channel. so i could just sear .. oh wait 20:51
thx
20:51 ChanServ sets mode: +o sorear
masak losing one's logs is like losing one's glasses. 20:51
sorear »ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 20:52
sorear sets mode: -o sorear
sorear will change it back once deutsche telekom gets their act together 20:52
20:54 PacoAir left 20:55 Rotwang left
jnthn yays, jsut got S04-exception-handlers/catch.t to pass in full 20:59
labster jnthn++ 21:00
sorear jnthn: \o/ 21:02
jnthn And seems throws_lajk now works too :)
er, like :) 21:03
21:03 moritz joined, moritz left
timotimo i re-made most of the camelia logo 21:04
there was some *weird* stuff in the svg
masak .oO( like a big happy butterfly )
sorear
.oO( jimmy hoffa's body? )
FROGGS_ *cough* usev5.wordpress.com/ 21:07
21:08 sftp left, moritz joined
sorear FROGGS_: is that an actual book? 21:08
21:08 moritz left
lue
.oO( Hand-crafted lines you've now mercilessly tossed aside in favor of more precise ones? )
21:08
FROGGS_ sorear: no
jnthn meh, I busted something else while fixing the exception stuff... 21:09
Take 2.
21:10 sftp joined
sorear "You know the Inline modules? Well, it is not quiet like that" 21:10
.oO( I can has commitbit? )
TimToady FROGGS_: ss/test suite if from/test suite is from/
21:10 _ilbot joined, _ilbot left, xlat-home left
FROGGS_ jnthn: btw, my test_summary script generates a REGRESSION file, in case a test file looses passes or the plan, might be handy for you too 21:11
TimToady: thanks, will fix
masak FROGGS_: s/quiet nice/quite nice/
FROGGS_ sorear: to the repo? sure
damn it *g*
sorear FROGGS_: to the blog :p
s/quiet/quite/
FROGGS_ sorear: does that work? 21:12
masak s/Quiet Awesome/Quite Awesome/
FROGGS_ meh
21:12 _ilbot joined
sorear quiet is the opposite of noisy. 21:12
you want quite.
masak FROGGS_++ # quiet a nice post :)
21:12 _ilbot left
FROGGS_ hehe 21:13
masak happy to report I correctly guessed which were the 2.5 languages before seeing it at the bottom :P
FROGGS_ masak++ # yepp, :o) 21:14
masak FROGGS_++ # v5 21:15
jnthn "Not Quiet Perl" - is that a comment on its stack traces? :D 21:16
FROGGS_++
FROGGS_ hehe
no, fixed that too
looks like a problem with quiet/quite
timotimo my painstakingly fixed version of camelia.svg is 23kb big instead of the previous 160kb 21:17
KB actually
but i don't know if i can create a .odg file from it properly
flussence you can only find out if you try 21:18
21:19 vm joined
colomon FROGGS_ blog? 21:19
21:19 _ilbot joined, _ilbot left
FROGGS_ colomon: yesh 21:20
colomon link?
pretty please?
FROGGS_ usev5.wordpress.com/
colomon I like the name. ;)
FROGGS_++
FROGGS_ well, froggs.* and allthewaydown.* were already taken :/ 21:21
21:23 fridim_ left 21:26 ugexe left 21:27 ugexe joined
timotimo i made an odg version and will now try to make a .jpg and .ico files for 32x32 and 16x16 21:27
21:27 _ilbot joined 21:28 _ilbot left
dalek ecs: 0cca600 | (Brent Laabs)++ | S32-setting-library/Numeric.pod:
round method produces a Real, not always Int
21:30
timotimo h, those ico files were hand-crafted. very good. 21:31
holy hell, that .jpg file deserves to get nuked
(no offense, larry)
sorear um 21:32
that's line art
this is 2013
isn't png supported yet?
21:33 _ilbot joined, _ilbot left
jnthn sorear: I don't suppose you have any Awesome Ideas what we might be able to do on the whole "method code too large" thing that some spectests are hitting? 21:34
(Aside from "generate better code"...) 21:35
timotimo sorear: i am replacing the .jpg and .pdf versions with .odf and .svg and .png
21:37 moritz joined, moritz left, fridim_ joined
labster timotimo++: camelia is no longer a decade behind 21:38
dalek : 5af0e6c | (Timo Paulssen)++ | misc/camelia. (5 files):
rework camelia.svg, create .png, .odg and delete .jpg, .pdf
timotimo :) 21:39
21:41 _ilbot joined, _ilbot left 21:42 moritz joined, moritz left
labster the new camelia is so clean, she shows off the dead pixels in my monitor beautifully 21:42
21:43 vm left
labster chromatic-- for trolling 21:44
sorear jnthn: I'm actually working on "generate better code"
jnthn sorear: yay :) 21:45
sorear jnthn: I'm not sure how much better I can make it, though, and so eventually we'll need to think about method splitting
I noticed you have a little hack in the post-derialization codegen :)
jnthn sorear: Yeah... But we know a lot about the structure of that :)
sorear: It's costing us test files like rx.t 21:46
sorear How many spectests are hitting code too large?
I mean we compile the setting fine, how many spectests are larger than the setting?
jnthn 8ish
sorear the setting takes three minutes to compile on parrot, how long does rx.t take to compile on parrot?
jnthn The problem is amount of code in a particular QAST::Block
The setting doesn't have any crazily long methods
Test files, however, may just be one HUGE swathe of calls, all in a block. 21:47
sorear yeah, the codegen changes I'm working on are directed closely at calls
jnthn Case in point: github.com/perl6/roast/blob/master...-mass/rx.t 21:48
sorear and the "dump everything on the stack, then immediately reload" behavior
jnthn A 3000 line single block
Yes, at the moment it's doing the "correct, but suboptimal" thing there.
TimToady why is camelia wearing black lipstick now?
sorear I think we can eliminate that in most cases by making StackState cleverer, but I haven't worked out all the details yet
jnthn Yeah, when I was doing it I pondered it and the details felt...hairy... :) 21:49
So I did the simple thing so I could move on.
labster TimToady: she's 13, it must be a Goth phase
sorear the png looks OWWW 21:50
raw.github.com/perl6/mu/5af0e6ce44...amelia.png # look at those cracked lips
FROGGS_ I believe this is a bit out of date: www.perl6.org/archive/people.html
sorear and I think the screen printing on her wings is getting ready to peel off
21:52 _ilbot joined
TimToady also, the .pdf is the original, so not sure you should lose it 21:52
21:52 _ilbot left
dalek p: 49eb104 | jnthn++ | src/vm/jvm/ (2 files):
Provide a way to force exit after unwind.

This is needed to support the nqp::p6return op. On the JVM, we always promote exception handlers into their own blocks, unlike on Parrot. While this rarely leaks out, it did in this case; this is used to contain the leak.
21:53
colomon FROGGS_++
dalek kudo/nom: b9869c2 | jnthn++ | src/vm/jvm/Perl6/Ops.nqp:
Make p6return force exit of outer handler block.

This means a CATCH with a matching when or a default will now actually act handled rather than always rethrowing.
21:54
jnthn Between those two we attempt (no idea about pass) ~ 600 more tests, or thereabouts...
oh, some of them may be other things I did earlier... 21:55
Anyway, improvement.
sorear jnthn: can you explain what's going on in that nqp commit to me?
jnthn sorear: Exception handlers on Parrot are generated "in line", in a single .sub
sorear: That means being able to jump into a sub some way down the stack, which isn't really achievalbe on the JVM
sorear: So the handler logic gets promoted to a block of its own. That's fine, but there's a place that relied on leaving from the handler meant leaving the block the handler was in. So it was "off by one" on the JVM. 21:56
sorear: That plus the Rakudo commit I just pushed work around it.
sorear why can't you just use UnwindException to leave the handler? 21:57
colomon "a bit out of date" is a bit of an understatement -- that list predates my 2009 exposure to the project 21:58
sorear niecza gets along fine without an extra bit in the callframe
jnthn sorear: Probably could, I was going for the least disruptive change for now. 22:01
Hm, it's not immediately clear to me how to...
Can be revisited at some point, if it works out neater/cheaper another way. Which will almost certainly be the case for the exception stuff. 22:02
sorear extra code in every block just makes me a little sad :) 22:03
jnthn *nod*
I suspect the whole exception stuff can be cleaned up somewhat. 22:04
There's probably more Parrotisms in there that could go, like the "skip in rethrow" that was already done away with on JVM.
sorear (finding parrotisms)++ 22:05
jnthn Moar's handlers are vaguely cute in so far as you can just point the handler of a next/last/redo at the right place in the loop and there's no actual handler, it just unwinds and sets teh PC and done. :) 22:07
sorear niecza is the same way. 22:08
also, the code generator is smart and optimizes a throw in the same block as a handler into a goto
which combines really nicely with block inling 22:09
22:11 moritz joined, skids joined, moritz left 22:12 daniel-s left 22:13 daniel-s joined
sorear jnthn: I think block splitting is not impossible, but it probably has to be done at the jast2bc level, and it will have a substantial run-time perfomance penalty... 22:15
jnthn sorear: I don't think any code where performance matters is likely to hit this, though. :) 22:16
22:17 moritz joined 22:21 _ilbot joined, _ilbot left, moritz left 22:31 _ilbot joined, _ilbot left 22:34 moritz joined 22:35 moritz left 22:38 _ilbot joined 22:39 _ilbot left
masak 'night, #perl6 22:41
22:49 _ilbot joined, _ilbot left 22:58 echoprinter joined
FROGGS_ .tell masak good morning! I updated the gist gist.github.com/FROGGS/5845176 23:15
yoleaux FROGGS_: I'll pass your message to masak.
sorear good morning FROGGS_ 23:16
FROGGS_ morning sorear 23:17
jnthn wait, morning? 23:18
:)
FROGGS_ almost O.o 23:19
23:20 moritz joined, moritz left 23:23 gdey joined
ssutch is it possible to run methods to a class? 23:24
diakopter run?
ssutch like Message.dostuff = sub ($obj, $stuff) { }
diakopter that's the MONKEY_PATCHING thing sorear mentioned to you the other day 23:25
23:25 moritz joined 23:26 moritz left
sorear (method ($stuff) { ... })($obj, $thing) 23:27
flussence you can assign anonymous subs to variables, if that's what you mean.
ssutch i am trying to generate classes at runtime instead of compile classes 23:28
jnthn Use the MOP
flussence I was going to say that... does it have any decent docs though? 23:29
jnthn Maybe some in S12
ssutch (not afraid to read code)
jnthn Also, jnthn.net/papers/2012-gpw-meta-programming.pdf has examples of doing exactly that
ssutch oh sweet 23:30
flussence I know the things like ^add_method and ^compose_class or whatchamacallit, but I don't see those in the specs at all...
23:31 logie joined
ssutch jnthn is this talk online? 23:31
jnthn ssutch: I'm not aware of any videos of it, sadly.
ssutch shucks 23:33
this helps a lot, thanks!
23:34 _ilbot joined 23:35 _ilbot left 23:36 moritz joined, moritz left
FROGGS_ gnight all 23:37
23:41 FROGGS_ left, moritz joined, moritz left 23:45 FOAD left 23:46 FOAD joined 23:48 spider-mario left
timotimo TimToady: i will now restore the lipstick 23:52
23:54 moritz joined, moritz left