Camelia, the Perl 6 bug

IRC log for #perl6, 2012-11-14

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:02 tokuhiro_ joined #perl6
00:03 fgomez joined #perl6
00:34 mtk joined #perl6
00:39 fgomez joined #perl6
00:57 anuby joined #perl6
01:03 gv joined #perl6
01:07 benabik joined #perl6
01:16 leont joined #perl6
01:30 nebuchadnezzar joined #perl6
01:50 ifim left #perl6
01:52 hypolin joined #perl6
02:01 benabik joined #perl6
02:01 gootle joined #perl6
02:04 [Coke] r: macro doit ($word) { return quasi <say <<<$word>>>, <<<$word>>> ;> }; doit('one'); doit('two'); doit('three');
02:04 p6eval rakudo fc349a: OUTPUT«===SORRY!===␤Missing block␤at /tmp/EI2OfV6ZNy:1␤»
02:05 [Coke] r: macro doit ($word) { return quasi { say {{{$word}}}, {{{$word}}} ;} }; doit('one'); doit('two'); doit('three');
02:05 p6eval rakudo fc349a: OUTPUT«oneone␤twotwo␤threethree␤»
02:16 kiyan joined #perl6
02:21 dayangkun joined #perl6
02:24 am0c joined #perl6
02:44 am0c joined #perl6
02:44 dalek roast: 3162e00 | coke++ | S0 (9 files):
02:44 dalek roast: rakudo autounfudge
02:44 dalek roast: review: https://github.com/perl6/roast/commit/3162e00405
02:44 dalek roast: a458713 | coke++ | S06-signature/errors.t:
02:44 dalek roast: Add test for RT #72082
02:44 dalek roast: review: https://github.com/perl6/roast/commit/a458713955
02:46 benabik joined #perl6
02:51 dalek roast: f966c11 | coke++ | S04-statements/gather.t:
02:51 dalek roast: Add test for RT #115598
02:51 dalek roast: review: https://github.com/perl6/roast/commit/f966c113e5
02:57 ifim joined #perl6
02:57 dalek roast: b73dfca | coke++ | S02-literals/string-interpolation.t:
02:57 dalek roast: Add test for RT #115508
02:57 dalek roast: review: https://github.com/perl6/roast/commit/b73dfca1e2
03:10 thowe joined #perl6
03:11 thowe Anyone tried Rakudo on OpenBSD?  It gave me trouble before.
03:11 thowe I was going to try latest.
03:13 dayangkun_ joined #perl6
03:15 [Coke] sorry, darwin here.
03:16 thowe that's interesting...  seriously
03:20 [Coke] usually pretty smooth on darwin.
03:20 [Coke] (well, OS X)
03:21 thowe hrm.  No luck again: http://scsys.co.uk:8002/213877
03:21 thowe that's just during configure
03:23 [Coke] looks like it's an issue with parrot's build - probably worth opening a ticket at http://github.com/parrot/parrot/issues
03:24 [Coke] any suggestions on where to put a test for ";:[]" ?
03:28 benabik joined #perl6
03:29 cotto please do file a Parrot bug
03:34 dalek roast: 9ed183d | coke++ | S12-class/attributes.t:
03:34 dalek roast: Add tests for RT #115280
03:34 dalek roast: review: https://github.com/perl6/roast/commit/9ed183d22e
03:36 diakopter [Coke]++
03:44 diakopter [Coke]: remind me what ";:[]" does
03:45 dalek roast: f848a52 | coke++ | S12-introspection/meta-class.t:
03:45 dalek roast: Add test for RT #115208
03:45 dalek roast: review: https://github.com/perl6/roast/commit/f848a52e81
03:45 dalek roast: c892865 | coke++ | S06-multi/syntax.t:
03:45 dalek roast: Add test for RT #114886
03:45 dalek roast: review: https://github.com/perl6/roast/commit/c89286573f
03:46 [Coke] diakopter: no clue. but it used to explode.
03:46 diakopter I mean how to trigger it
03:46 diakopter I can't remember what I did
03:46 [Coke] diakopter: https://rt.perl.org/rt3/Tic​ket/Display.html?id=115284
03:47 [Coke] r: say (;:[])
03:47 p6eval rakudo fc349a: OUTPUT«␤»
03:47 diakopter r: say (;:[])
03:47 p6eval rakudo fc349a: OUTPUT«␤»
03:47 diakopter oh
03:47 diakopter well, that's something
03:47 [Coke] I just don't see an obvious place to test for "random string of characters doesn't explode". :)
03:48 diakopter ha
03:48 diakopter maybe you need a Weird directory
03:56 orafu joined #perl6
04:01 [Coke] rakudo: (4 ... ^5).say
04:01 p6eval rakudo fc349a: OUTPUT«4 3 2 1 0 1 2 3 4␤»
04:01 [Coke] rakudo: (4...^5).say
04:01 p6eval rakudo fc349a: OUTPUT«4␤»
04:01 [Coke] are those both correct?
04:01 [Coke] (RT #75674 seems to disagree with the latter one.)
04:03 TimToady both are correct
04:04 [Coke] TimToady: danke.
04:08 dalek roast: df13d54 | coke++ | S03-sequence/basic.t:
04:08 dalek roast: Add tests for RT #75674
04:08 dalek roast: review: https://github.com/perl6/roast/commit/df13d545c6
04:10 [Coke] r: say -93 + 300 + 362 + 5
04:10 p6eval rakudo fc349a: OUTPUT«574␤»
04:18 Psyche^ joined #perl6
04:49 adu joined #perl6
05:04 xinming_ joined #perl6
05:24 am0c joined #perl6
05:28 erkan joined #perl6
05:28 erkan joined #perl6
05:34 thowe well, submitted that bug report for OpenBSD...
05:36 thowe I see it even uses gmake...  Everything is getting more and more Linux-specific all the time.
05:38 sorear did you submit a rakudo bug report?
05:39 sorear have you ever submitted a perl5, rakudo, or old-parrot bug report before?
05:39 thowe I was told to submit a parrot bug report.
05:40 thowe I think I submitted one with the last build problem I had about a year ago.  I keep reading the Perl6 stuff, getting excited, but I have yet to be able to run it.  Kinda bums me out.
05:40 sorear what kind of idiot uses -Werror in published makefiles
05:40 sorear thowe: have you tried niecza?
05:40 am0c joined #perl6
05:46 thowe Someone mentioned it once, but I remember thinking "no way"..  don't remember why
05:47 thowe oh, yeah, mono.  I've never attempted to use mono for anything.
05:47 thowe I have no interest in mono
05:49 birdwindupbird joined #perl6
05:56 sorear thowe: you have an interest in perl 6, though, do you?
05:57 thowe Yes.
05:58 sorear if you want to give perl 6 a try, why not try using an implementation based on a commercially supported VM?
05:58 sorear I have no idea if Mono builds on openbsd but they have way more resources for porting than Parrot does
06:00 cotto There's your issue.  I was worried for a bit that github wasn't sending me notifications.
06:01 thowe sorear, the answer to this is complicated for me.  Probably more complicated than you would be interested hearing about.
06:05 sorear if it's something other than the basic "I'm afraid of patent lawsuits" line I've heard a million times, maybe I'd be interested
06:05 cotto thowe, what cpu are your running that on?
06:05 thowe Perl 6 looks like an amazing language, but its utility for me is greatly diminished if running Perl 6 programs are non-trivial to run.
06:05 thowe er, well, that's what I get for editing that sentence to many times
06:06 thowe this is a core 2 duo at 3.16Mhz
06:06 thowe er Ghz
06:06 cotto x86_64 then
06:06 thowe yes.  and I am running amd64 OpenBSD
06:07 sorear thowe: ah, you mean the mono run/Niecza.exe myApp.pl nonsense?  I can agree with that
06:07 sorear especially the bit where you can't use niecza as a shebang interpreter because of it
06:07 thowe No, it's not just that.  If I write something in Perl 6, it is hard for others to run it.
06:08 thowe It is hard for me to run it everywhere I might want to.  Ease of implementation is why people settle for things like php
06:08 sorear perl 5 wins hard there because every (at least the free ones) unix system in existance bundles p5
06:09 thowe You don't see a lot of web hosts that can support your java stuff.
06:09 sorear (but not Windows, and there's no telling what version you'll get)
06:09 thowe There needs to be some big payoff for requiring the VM.  Or the vm needs to be so trivial to provide that nobody cares.
06:13 fgomez joined #perl6
06:14 sorear thowe: yeah, I agree that requiring an external VM is less than optimal.
06:14 bonsaikitten thowe: it is pretty trivial to install
06:15 thowe I had never really written any perl 5 until I had looked into perl 6 and thought, wow.  It was like Ruby only better.  But I have yet to make it run on my system and in the meantime I discovered perl 5.
06:15 sorear I just get the impression you're applying a double standard to mono vs parrot
06:16 thowe bonsaikitten, yeah, I imagine it should be.  But so far a version of Rakudo has not come out that builds for my on OpenBSD.
06:16 GlitchMr joined #perl6
06:17 bonsaikitten thowe: one downside of using a "fringe OS", but fixing shouldn't be *that* hard
06:17 thowe No, not really.  I suspect I "should" be able to just build it and some minor bugs are in the way.  I imagine the work to make mono work on OpenBSD is immense and that there is zero interest on the part of mono for it to work.
06:18 bonsaikitten yes
06:18 sorear thowe: s/mono/parrot/?
06:19 sorear I thought you said you never even tried to build mono on openbsd
06:19 thowe Ah, yes, I meant Parrot should just work.
06:19 bonsaikitten thowe: got an error log of it not building?
06:19 thowe But I don't think mono is a good long-term option for me.
06:19 thowe bonsaikitten, I submitted the bug.
06:20 sorear thowe: I don't think the work required to build Parrot on OpenBSD would be particularly immense
06:20 sorear but parrot has approximately 0 full-time developers at the moment
06:20 cotto I'm surprised that it's broken at all.
06:20 thowe I try other OSes, but they are too unpolished compared to openbsd.  Linux man pages are a joke.
06:21 sorear cotto could tell you more about the current state of parrot
06:21 sorear thowe: I don't consider openbsd a fringe OS.  Normally I would say that any software which fails to build on openbsd is fringe software, but I have learned to bite my tounge around here.
06:22 thowe How can it be so neglected if it is the Perl 6 platform?
06:22 sorear now, if you said you were using Haiku, I might tell you to switch. :p
06:22 thowe parrot, I mean
06:22 thowe Heh, I have used Haiku.
06:22 thowe I still have my BeBox in the closet!
06:23 thowe Linux can't even implement a decent ifconfig command compared to OpenBSD.  How do people use it in a real setting?
06:24 thowe maybe ifconfig is a gnu thing...  I guess there is no linux, just distros...  Whatever.
06:24 cotto Don't try to make too much sense of the world.
06:25 sorear thowe: I will not speculate on how Parrot got where it is.  But I will say that 1. Parrot is not "the" Perl 6 platform - Perl 6 is defined by a spec and niecza and perlito have every bit as much right to the name as Rakudo 2. the Rakudo core team is becoming disenchanted with Parrot and there are explicit plans to add a Java backend
06:25 thowe As long as they have Flash I guess they are mainstream
06:26 bonsaikitten sorear: I mean "fringe OS" only in the sense that most people don't use it, so it gets less testing / build system fixes
06:26 thowe sorear, whoa.
06:26 bonsaikitten thowe: ifconfig is deprecated in favour of "ip" for a long time
06:27 thowe Is "ip" a gnu thing?
06:28 thowe sorear, Why all the focus  on VMs?
06:29 sorear thowe: because we're theoretical computer scientists and we see the entire world as a stack of VMs
06:29 thowe Oh.
06:29 sorear there is no such thing as a computer language implementation that is not a VM, although it can take many forms
06:31 bonsaikitten thowe: quite likely. they like to do things in new and exciting ways, like replacing man with nethack
06:31 bonsaikitten (I still cannot navigate info pages without getting eaten by a grue)
06:32 thowe Well.  The theoretical hotness of Perl 6 is what attracted me to "Perl".  Now I've been happily playing with perl 5 for over a year.  It's been fun.
06:32 sorear perl 5 actually has a quite well developed VM inside it
06:32 sorear it's just they don't advertize it
06:32 sorear which helps them hold onto the "VM is a dirty word" crowd
06:33 thowe wish it had a quite well developed repl
06:33 thowe I still miss irb from Ruby land
06:33 araujo joined #perl6
06:33 araujo joined #perl6
06:34 sorear re.pl is an improvement
06:34 sorear but this is one of those "tool support" things that led to ADAMK's defection
06:34 thowe Please explain?
06:35 sorear Perl 6 is very, very hard to statically parse, even for simple things like supporting multiline REPL commands, completion of method names, etc
06:35 sorear I've never used irb but I discovered the node.js repl recently, it's quite impressive
06:35 sorear because Javascript is a dumb statically parsable language, it works
06:36 thowe huh.  So the flexibility of the syntax has a lot to do with it then?
06:37 cotto Simple languages have advantages.  At the extreme, you get lisp.
06:37 sorear yes, exactly (to both)
06:37 thowe yeah.  I've used clisp and guile a little bit.
06:37 sorear perl 6 isn't even easy to syntax highlight
06:38 sorear mostly because of the multiline regexes with non-self-synchronizing brackets
06:38 thowe is this a trade off, or things discovered later in its development?
06:38 sorear it's both
06:38 thowe oh, yeah.  Kinda same for perl 5, no?
06:39 sorear perl 5 isn't that easy either, but on a pragmatic level I have never had a major problem with perl.vim
06:40 sorear the perl6.vim file we're using is unusably slow on files over 500 lines and gets out of sync if you look at it wrong
06:40 sorear no offense to PetDance, perl6.vim works amazingly well for how hard its job is
06:52 thowe so, is Perl 6 really just a toy for crazy-smart theoretical computer scientists to play with, or is the intention to build something that the same crowd that uses perl and ruby today would want to use?
06:54 sorear it is a language for everybody
06:54 sorear is this because of my VM comment?
06:54 thowe Well, yes and no.
06:54 bonsaikitten at the moment it still lacks adoption, but that can be fixed
06:56 sorear it is my opinion that anybody who compares language implementations on the basis of "this one uses a VM, that one doesn't"
06:56 sorear is underinformed about what VMs are
06:58 bonsaikitten sorear: it's funny because people complain about the same thing in python they then appreciate in java - both are interpreted bytecode ...
06:58 thowe I don't have an objection to a vm because it is a vm.  I am cool with installing parrot if it can be installed as easy as compiling perl 5.  But the headache I go through to install the jvm will be a showstapper for me.
06:58 thowe er stopper
07:00 sorear bonsaikitten: as someone who has done FORTH implementation work, I think it's extremely funny when people try to pass off subroutine threaded code as a compiler
07:01 bonsaikitten sorear: hmm? I seem to be missing the obvious
07:01 bonsaikitten thowe: looking at that ticket I'd guess you're using an ancient version of gcc that responds in unexpected ways
07:02 sorear subroutine threaded code is where you turn : moo  foo bar baz ;  into CALL foo;  CALL bar; CALL baz; RET
07:02 sorear basically just sticking a few extra bytes into the "interpreted" representation
07:02 bonsaikitten hmm ok
07:02 sorear can be a win, especially on platforms with no branch prediction
07:03 sorear (FORTH implementors still like to optimize their code for the 6502)
07:04 sorear I am also thinking of things like the old perl "compiler" which did that
07:04 sorear make a list of calls to VM opcode functions, wrap it in C sugar, call it a C version of your perl program
07:05 sorear you're not using Perl_runops anymore so you avoid the stigma of "interpreted code"
07:05 sorear but that's _all_
07:06 sorear performance is unaffected or worse because you're still paying for all the "does overloading apply for this +?  is it adding integers, floats, or strings?" etc checks
07:06 sorear oh and you just blew your icache
07:06 bonsaikitten intriguing
07:07 sorear the social construction of code efficiency
07:08 sorear translators good, VMs bad
07:12 bonsaikitten hmm, that's an amusing perspective
07:27 xenoterracide time ./bin/perl6 -e "42.say"                          slave-iv
07:27 xenoterracide 42
07:27 xenoterracide ./bin/perl6 -e "42.say"  0.32s user 0.18s system 49% cpu 1.000 total
07:27 xenoterracide :(
07:27 tadzik well, I remember when it was 3 seconds ;)
07:31 sorear me too
07:33 aindilis joined #perl6
07:37 sorenso joined #perl6
07:38 aindilis joined #perl6
08:06 domidumont joined #perl6
08:27 domidumont joined #perl6
08:31 domidumont joined #perl6
08:34 sorenso joined #perl6
08:45 cognominal joined #perl6
08:54 flightrecorder joined #perl6
08:56 mtymula joined #perl6
08:56 mtymula HELL o !!
08:58 literal joined #perl6
09:01 dalek niecza: 2bdc586 | sorear++ | / (4 files):
09:01 dalek niecza: Top removal: new_unit
09:01 dalek niecza: review: https://github.com/sorear/niecza/commit/2bdc58656e
09:01 dalek niecza: c5fd4d7 | sorear++ | lib/ (2 files):
09:01 dalek niecza: Top removal: context handlers
09:01 dalek niecza: review: https://github.com/sorear/niecza/commit/c5fd4d7d48
09:03 sorear mtymula: HEAVEN YO
09:03 mtymula nq heaven
09:04 FROGGS joined #perl6
09:05 dalek niecza: ee5dcf1 | sorear++ | lib/ (2 files):
09:05 dalek niecza: MISSION ACCOMPLISHED
09:05 dalek niecza: review: https://github.com/sorear/niecza/commit/ee5dcf1368
09:08 FROGGS \o/
09:08 sorear well that's one huge block of yak hair behind me
09:13 jnthn joined #perl6
09:21 sorear sleep&
09:25 fhelmberger joined #perl6
09:27 rindolf joined #perl6
09:29 xenoterracide ./bin/perl6 -e "my $x;"  what's wrong with that? Malformed my
09:29 PacoAir joined #perl6
09:29 huf try echo "my $x;"
09:29 huf without perl6
09:30 huf and then try with '' instead of ""
09:30 xenoterracide ugh shell interpolation, now I remember why I never use -e *headdesk*
09:31 tadzik just get used to ''
09:31 tadzik less keystrokes
09:31 huf i wish shell had generic quotes like perls do :)
09:32 huf or whatever that feature is called
09:34 rafl joined #perl6
09:41 jnthn morning o/
09:41 mars__ joined #perl6
09:41 wamba joined #perl6
09:42 xenoterracide would write a REPL to avoid this... except I generally find them to be a waste of time, because once writing real code it goes in a file
09:44 xenoterracide does die behave better in perl 6? or does it behave like die in perl 5
09:44 xenoterracide by better I mean reporting a decent call stack
09:46 jnthn Yes, it gives a call stack
09:46 flussence r: -> {die 1}.()
09:46 p6eval rakudo fc349a: OUTPUT«1␤  in block  at /tmp/xEBqTbQZoh:1␤␤»
09:47 jnthn phenny: tell [Coke] Nice ticket/test work! In 115506, the missing block error you got is because you used "" which interpolate closures, rather than '' which don't
09:47 phenny jnthn: I'll pass that on when [Coke] is around.
09:49 jnthn [Coke]++
09:53 dakkar joined #perl6
09:58 rafl joined #perl6
09:59 tipdbmp Why does sprintf('%x', 255) work, but 255.sprintf('%x'), does not?
10:00 tipdbmp It's not a method?
10:00 flussence r: say 255.sprintf('%x')
10:00 p6eval rakudo fc349a: OUTPUT«255␤»
10:01 flussence n: say 255.sprintf('%x')
10:01 p6eval niecza v22-29-g3ffe64c: OUTPUT«Unhandled exception: Unable to resolve method sprintf in type Int␤  at /tmp/BlZCJSZd9b line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4211 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4212 (module-CORE @ 578) ␤  at /hom…
10:01 flussence rn: say 255.fmt('%x')
10:01 p6eval rakudo fc349a, niecza v22-32-gee5dcf1: OUTPUT«ff␤»
10:02 cotto wouldn't you want the inverse?
10:02 cotto rn: "%x".sprintf(255).say
10:02 p6eval rakudo fc349a: OUTPUT«ff␤»
10:02 p6eval ..niecza v22-32-gee5dcf1: OUTPUT«Unhandled exception: Unable to resolve method sprintf in type Str␤  at /tmp/LPDQPHrYOw line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4211 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4212 (module-CORE @ 578) ␤  at /hom…
10:03 circlepuller joined #perl6
10:04 tipdbmp Okay, tnx but how to turn 'ff' to 255, hex doesn't seem to exist.
10:06 tadzik r: :16(ff).perl.say
10:06 p6eval rakudo fc349a: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&ff' called (line 1)␤»
10:06 tadzik r: :16('ff').perl.say
10:06 p6eval rakudo fc349a: OUTPUT«255␤»
10:06 tipdbmp Ah, I c. :<base> works for any base?
10:06 tadzik up to 26, I think :)
10:07 SamuraiJack joined #perl6
10:07 tadzik I'll pour beer behind the collar of someone who invents unicode bases...
10:08 cotto I for one look forward to adding a snowman and a smiley face.
10:12 xenoterracide is use compile time or runtime in perl 6? I'm getting kind of used to doing load_class('foo')->new in p5... similar syntax possible?
10:13 tadzik r: ::('Int').new.perl.say
10:13 p6eval rakudo fc349a: OUTPUT«0␤»
10:14 jnthn use is compile time
10:18 xenoterracide so is there a way to load a module at runtime? and call new on it in one statement?
10:22 jnthn require does the runtime loading, and the lookup is like tadzik showed...so the load_class you had above is probably implemented something like sub load_class($name) { require $name; ::($name) } in Perl 6. I *think* that require maybe should evaluate to the loaded class (if it contains a class of the right name at least), however.
10:23 jnthn So maybe (require "Foo").new should work
10:26 sorenso joined #perl6
10:28 xenoterracide what's the :: for?
10:29 jnthn It starts a package lookup
10:30 xenoterracide my $x = require "test";#  Undefined routine '&require' called (line 4)
10:30 xenoterracide that's such an interesting failure
10:30 cognominal joined #perl6
10:30 buubot_backup joined #perl6
10:30 jnthn r: require "Test";
10:30 p6eval rakudo fc349a:  ( no output )
10:30 jnthn r: my $x = require "Test";
10:30 p6eval rakudo fc349a: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&require' called (line 1)␤»
10:30 jnthn std: my $x = require "Test";
10:31 p6eval std 04216b1: OUTPUT«ok 00:00 42m␤»
10:31 jnthn Oddness. It *was* a statement_control, I thought...
10:32 jnthn Oh. STD has it as a package_declarator...hmm.
10:33 jnthn Anyway, I'm pretty sure trying to use require as an r-value right now won't do much useful. The behavior for that only got spec'd recently, and Rakudo hasn't caught up yet.
10:34 xenoterracide hmm... what's the behavior?
10:34 jnthn https://github.com/perl6/specs/commit/d​46a8abe6b9b4988b1bd31d19fae88fb36144ab1 was the commit that specified it
10:36 xenoterracide cool, so if I read that right, something like load_class ultimately won't be needed
10:36 xenoterracide once rakudo catches up
10:38 jnthn Seems so :)
10:46 fgomez joined #perl6
10:46 xenoterracide can I add methods to the metaclass?
10:47 xenoterracide and are attributes also objects?
10:47 xenoterracide wait that's dumb
10:47 xenoterracide of course they are...
10:48 jnthn r: class A { has $!a; }; A.^add_method('foo', method () { say 'omg an added method' }); A.^compose; A.foo
10:48 p6eval rakudo fc349a: OUTPUT«omg an added method␤»
10:58 bbkr_ r: class A { has $!a; }; A.^add_method('foo', method () { say 'omg an added method' }); A.foo # checking what will happen without compose
10:58 p6eval rakudo fc349a: OUTPUT«omg an added method␤»
11:00 bbkr_ http://perlcabal.org/syn/ link is down
11:07 wamba joined #perl6
11:12 fgomez joined #perl6
11:21 gootle joined #perl6
11:24 * masak mumbles an incoherent "good morning"
11:25 jnthn afternoon, masak :P
11:25 Ulti GOOD MORNING *super happy sunshine smile* <-- dont you hate these people, the ones not addicted to caffeine
11:25 masak actually, I'm not addicted to caffeine either. :)
11:25 masak just up late.
11:26 Ulti then sleep in
11:26 masak effectively that's what I did.
11:26 * masak digs into $dayjob
11:26 Ulti I've just had an espresso and a half litre of diet coke, only now am I capable of smiling :(
11:27 Ulti naw
11:27 Ulti that means I have to now
11:27 jnthn The expresso sounds good...the diet coke less so :)
11:27 * jnthn just did the coffee :)
11:30 masak yeah, stay away from anything that promises to replace sugar with something else. the "something else" is invariably worse.
11:30 masak and sugar isn't that good from the start.
11:30 jnthn Yeah, just eat stuff with real sugar in!
11:30 jnthn oh, dang :P
11:32 masak real sugar is preferrable, but you should attempt to eat it in its original context, such as in an apple, where it's mixed up with fibers and vitamins.
11:33 huf or chocolate, that's made from a plant too! :D
11:37 masak heh :)
11:40 huf or crystal sugar, made from real roots! what could be healthier than roots!
11:43 masak actually, roots are mostly carbohydrates, too... :)
11:44 jnthn .oO( I thought I'd stop eating roots and switch to carrots, but then I realized...they're just mo' roots! )
11:45 xdbr joined #perl6
11:53 masak jnthn: dåligt :)
11:53 masak phenny: sv en "morot"?
11:53 phenny masak: "carrot" (sv to en, translate.google.com)
11:54 jnthn :D
12:02 flussence .oO( carrot, an Old English word for the roots of the car tree... )
12:13 dalek Perlito: 1aa5804 | (Flavio S. Glock)++ | / (7 files):
12:13 dalek Perlito: Perlito5 - parser - autoquote fix
12:13 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/1aa5804f8d
12:17 cognominal joined #perl6
12:19 bowtie joined #perl6
12:35 Psyche^ joined #perl6
12:42 FROGGS btw, in Germany carrots are fruits by law...
12:42 dalek Perlito: 09eb964 | (Flavio S. Glock)++ | t5/01-perlito/04-string.t:
12:42 dalek Perlito: Perlito5 - parser - add failing string interpolation tests
12:42 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/09eb964a89
12:43 FROGGS because jam in germany must be made of fruits, and there is a carrot-jam from spain; if carrots where no fruits they would not be allowed to sell these jam here
13:01 tipdbmp What's the syntax for character classes negation?  How can I match every character that's not a space ' '?
13:02 arnsholt <-[a..z]>
13:02 arnsholt <-[ ]> in your case, that is
13:02 tipdbmp Okay, tnx.
13:03 * arnsholt almost wrote <-[a-z]> but that would be wrong =)
13:05 tipdbmp <-[ ]> gives me an error but <-[\s]> seems to work.
13:05 tipdbmp But I think it's wrong =).
13:06 tipdbmp Or not..
13:06 arnsholt Huh. Dunno why <-[ ]> wouldn't work
13:06 arnsholt std: "test" ~~ /<-[ ]>/
13:06 jnthn Because whitespace isn't significant in regexes.
13:06 p6eval std 04216b1: OUTPUT«ok 00:00 44m␤»
13:06 jnthn r: say ' a ' ~~ /<-[\ ]>/
13:06 p6eval rakudo fc349a: OUTPUT«「a」␤␤»
13:06 jnthn That will do it.
13:06 arnsholt Oh, right. So you need to backslah it
13:07 tipdbmp I've never really used the /x modifier in perl 5, now it's the default so better get used to =).
13:08 dalek Perlito: efdbc04 | (Flavio S. Glock)++ | / (4 files):
13:08 dalek Perlito: Perlito5 - parser - string interpolation fix
13:08 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/efdbc04b06
13:16 brrt joined #perl6
13:21 masak [Coke]++ # RT care
13:25 am0c joined #perl6
13:25 masak [Coke]: you basically made my day by going through the queue and resolving those tickets. it's nice to see sometimes that progress is real and observable.
13:29 am0c_ joined #perl6
13:32 orafu joined #perl6
13:33 cognominal joined #perl6
13:35 flussence r: say ' a ' ~~ /<-[' ']>/
13:35 p6eval rakudo fc349a: OUTPUT«「 」␤␤»
13:36 flussence n: say ' a ' ~~ /<-[' ']>/
13:36 p6eval niecza v22-32-gee5dcf1: OUTPUT«#<match from(0) to(1) text( ) pos([].list) named({}.hash)>␤»
13:37 masak hm? quotes have special meaning in charclasses?
13:37 flussence I guess so, I thought that would've worked...
13:38 masak S05 says nothing about it.
13:38 masak I think <-[' ']> is equivalent to <-[' ]>
13:38 brrt from backlog, i heartily disagree with masak on the subject of sugars and sugar replacements
13:38 brrt not that it matters a bit :-)
13:39 masak indeed. still, nice to hear. :)
13:39 jnthn masak: (char class) yes, it means that
13:39 masak jnthn: still doesn't explain why it matches a space, though.
13:39 masak in both implementations, no less.
13:39 jnthn oh!
13:39 masak oh, are spaces ignored?
13:39 jnthn Well, yes, it *does* mean what you said
13:39 jnthn But spaces aren't significant :)
13:40 masak ah.
13:40 masak flussence: there you go, then.
13:40 jnthn So it's also equivalent to <-[']> :)
13:40 masak flussence: it means what jnthn said.
13:40 flussence oh, ok
13:41 masak rn: say ' ' ~~ / <-[\x20]> /
13:41 p6eval niecza v22-32-gee5dcf1: OUTPUT«Match()␤»
13:41 p6eval ..rakudo fc349a: OUTPUT«#<failed match>␤»
13:55 flussence in S05 where it mentions .match on a Buf uses "ASCII semantics", I don't think that's defined well enough.
13:57 masak you're probably right. I'd apply a patch with a better definition.
13:57 flussence how does this sound? "In ASCII semantics character classes only operate on codepoints 127 and below, everything else requires \xNN notation"
13:58 flussence (or something like that)
13:58 masak I see what you mean by that, but the thing after the comma seems to contradict the thing before.
14:00 flussence yeah, it needs improving on. The gist of it is anything above 0x7F in a Buf is non-ASCII, so a char class can't match it.
14:02 flussence oh hold on, perlre.pod has a pretty decent definition of the /a modifier. Maybe we can just copy that.
14:02 masak sounds like a nice idea.
14:13 flightrecorder joined #perl6
14:16 atrodo joined #perl6
14:25 FROGGS joined #perl6
14:40 skids joined #perl6
15:00 arnsholt Ah, academic prose: "some people occasionally like extra redundancy once in a while" ^_^
15:01 masak autopun.
15:01 arnsholt Oh, indeed it is
15:02 masak also, https://twitter.com/karger​/status/268436849750573056
15:02 arnsholt Heehee
15:05 Gothmog_ joined #perl6
15:06 sorenso joined #perl6
15:07 kaare_ joined #perl6
15:08 [Coke] masak, jnthn: thanks for the pointer. I feel like an idiot now. :)
15:08 phenny [Coke]: 09:47Z <jnthn> tell [Coke] Nice ticket/test work! In 115506, the missing block error you got is because you used "" which interpolate closures, rather than '' which don't
15:08 masak [Coke]: I usually do when I make that mistake, too.
15:09 masak [Coke]: except the times when I rally against that particular feature of qq strings. but I doubt that will change; it's too established.
15:10 masak nowadays my brain simply has a fairly strong negative potential on combining the contepts "code as string" and "interpolating string". because I know I'll hit the blocks thing.
15:10 masak there are other annoying things, as well. HTML and interpolation. something innocent like "<head>$title</head>". boom.
15:11 masak interpolated as a hash lookup.
15:11 PerlJam yeah, that's got to be annoying.
15:11 flussence can we make that a Q: thing? "no postcircumfixes"
15:11 masak the correct solution is to escape the <
15:11 masak "<head>$title\</head>"
15:12 PerlJam I think I'd tend to use {} instead.
15:12 PerlJam "<head>{$title}</head>"
15:12 masak oh right. that's always safe.
15:12 [Coke] I would avoid interpolation at that point.
15:12 [Coke] too much CF & JS.
15:13 flussence oh right, you can do that can't you? interpolate {} but not $...
15:13 PerlJam [Coke]: It's a good thing we all use template toolkit!  :)
15:13 arnsholt masak: The escape solution is visually like unspace as well, which I like =)
15:14 [Coke] (CF is awesome - #foo# is interpolation in strings. but you often see constructs like "if #variable# EQ 3" ... with an extra explicit interpolation outside of strings, where the variable would JFW anyway.
15:14 PerlJam arnsholt: It "chunks" wrong for me. It puts syntactic burden on the part of the string I *don't* want interpolated.
15:14 PerlJam arnsholt: whereas {} makes a nice "chunk" that encapsulates the interpolated thing
15:15 masak PerlJam: good point.
15:15 dalek roast: 3e8347b | coke++ | S06-macros/errors.t:
15:15 dalek roast: Add test for RT #115506
15:15 dalek roast: review: https://github.com/perl6/roast/commit/3e8347b02d
15:15 domidumont joined #perl6
15:15 PerlJam in any case ... tmtowtdi!   :-)
15:15 masak PerlJam: I was about to make the point that $var<key> is an advanced feature which harms beginning users in this case.
15:16 dalek rakudo/nom: c82d103 | coke++ | t/spectest.data:
15:16 dalek rakudo/nom: run new macros test file
15:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c82d103448
15:16 masak er, $var<key> in qq strings, I mean.
15:18 PerlJam Do we have a way to interpolate but with a restricted set of delimiters for hash lookups?
15:20 GlitchMr joined #perl6
15:20 wamba joined #perl6
15:24 masak I'm reading "Adverbs on quotes" in S02, and I don't see any adverbs for controlling hash lookup.
15:24 masak I guess you always get all kinds of hash lookup as soon as you start interpolating variables.
15:35 [Coke] masak; how would one test 115504 ?
15:36 domidumont joined #perl6
15:37 masak r: eval 'macro macro { die 1 }; say macro'; say $!; say "alive"
15:37 p6eval rakudo fc349a: OUTPUT«===SORRY!===␤Missing block␤at eval_0:1␤»
15:37 masak r: eval 'macro marco { die 1 }; say marco'; say $!; say "alive"
15:37 p6eval rakudo fc349a: OUTPUT«===SORRY!===␤1␤»
15:38 masak hrm. :)
15:38 masak r: try eval 'macro marco { die 1 }; say marco'; say $!; say "alive"
15:38 p6eval rakudo fc349a: OUTPUT«1␤  in macro marco at eval_0:1␤  in any marco at src/Perl6/World.pm:750␤  in  at src/Perl6/Actions.pm:3494␤  in any ex-handle at src/Perl6/World.pm:2057␤  in expand_macro at src/Perl6/Actions.pm:3494␤  in  at src/Perl6/Actions.pm:3606␤  in any term:sym<name> at src…
15:38 masak [Coke]: like that, maybe.
15:39 [Coke] r: use Test; eval_lives_ok 'macro m { die 1 }; m';
15:39 p6eval rakudo fc349a: OUTPUT«not ok 1 - ␤# Error: 1␤»
15:39 am0c joined #perl6
15:40 masak it's supposed to die, no?
15:40 [Coke] r: use Test; my $a = try eval 'macro m { die 1 }; m', ~$!; is $a, 1, "eek";
15:41 p6eval rakudo fc349a: OUTPUT«use of uninitialized value of type Any in string context  in block  at /tmp/eQ_GtmfTxO:1␤␤not ok 1 - eek␤#      got: 'Cannot call 'eval'; none of these signatures match:␤# :(Str $code, :lang(:$lang) = { ... }, PseudoStash :context(:$context))␤# '␤# expected: '1'␤»…
15:41 masak [Coke]: you're sending two args to &eval there.
15:41 masak probably not what you mean.
15:42 [Coke] r: use Test; try eval 'macro m { die 1 }; m'; is ~$!, 1, "eek";
15:42 p6eval rakudo fc349a: OUTPUT«ok 1 - eek␤»
15:45 [Coke] hurm. putting that into errors.t fails.
15:46 masak what's the failure?
15:46 GlitchMr http://doc.perl6.org/type/Failure
15:47 [Coke] masak: there is no detail, just "not ok"
15:47 masak GlitchMr: *giggle*. thanks. ;)
15:50 [Coke] ahahahaha. forgot to update the plan.
15:52 dalek roast: ddb7f4f | coke++ | S09-autovivification/autovivification.t:
15:52 dalek roast: unfudge passing tests, tag with RT#
15:52 dalek roast: review: https://github.com/perl6/roast/commit/ddb7f4feff
15:52 dalek roast: e0d25b9 | coke++ | S06-macros/errors.t:
15:52 dalek roast: Add test for RT #115504
15:52 dalek roast: review: https://github.com/perl6/roast/commit/e0d25b9740
15:52 jnthn .oO( Gee, at this rate [Coke]++ will the whole testneeded and I'll have to fix more stuff to fill it up again! )
15:55 [Coke] there are /90/ testneeded left. that is... unlikely.
15:55 jnthn :)
15:55 * jnthn had no idea of the size of it
15:56 jnthn Happy it's getting cut down, though.
16:06 benabik joined #perl6
16:12 dalek roast: ff9539f | coke++ | S12-introspection/meta-class.t:
16:12 dalek roast: Add test for RT #114130
16:12 dalek roast: review: https://github.com/perl6/roast/commit/ff9539fd37
16:12 ifim joined #perl6
16:15 sisar joined #perl6
16:18 [Coke] j
16:19 Gothmog_ joined #perl6
16:24 bbkr_ r: sub circumfix:<"[" "]"> ($a) { };
16:24 p6eval rakudo c82d10: OUTPUT«Null PMC access in find_method('clone')␤  in block  at /tmp/rR8hVl2vAk:1␤␤»
16:24 jnthn ooh.
16:25 * masak submits rakudobug
16:25 masak r: sub circumfix:<[ ]> ($a) { }
16:25 p6eval rakudo c82d10:  ( no output )
16:25 masak r: sub circumfix:<"[" ]> ($a) { }
16:25 jnthn Odd since I'm sure we have passing spectests covering circumfixes...
16:25 p6eval rakudo c82d10: OUTPUT«Null PMC access in find_method('clone')␤  in block  at /tmp/c2eYJd1Kwh:1␤␤»
16:25 masak r: sub circumfix:<" "> ($a) { }
16:25 p6eval rakudo c82d10: OUTPUT«Null PMC access in find_method('clone')␤  in block  at /tmp/75RVmWcslj:1␤␤»
16:25 masak r: sub circumfix:<"> ($a) { }
16:25 p6eval rakudo c82d10: OUTPUT«===SORRY!===␤Unable to find starter and stopper from '"'␤»
16:25 masak r: sub circumfix:<" q> ($a) { }
16:25 p6eval rakudo c82d10: OUTPUT«Null PMC access in find_method('clone')␤  in block  at /tmp/xPoEpmYJJQ:1␤␤»
16:26 masak r: sub circumfix:<w "> ($a) { }
16:26 p6eval rakudo c82d10: OUTPUT«Null PMC access in find_method('clone')␤  in block  at /tmp/QHTUlfVkKE:1␤␤»
16:26 masak so, it doesn't like those double quotes.
16:26 jnthn r: sub circumfix:<w '> ($a) { }
16:26 p6eval rakudo c82d10:  ( no output )
16:26 jnthn wtf
16:26 masak of course single quotes are fine :P
16:26 jnthn That makes even less sense...
16:30 MayDaniel joined #perl6
16:30 dalek Perlito: 70581f0 | (Flavio S. Glock)++ | / (2 files):
16:30 dalek Perlito: Perlito5 - parser - TODO cleanup: deref inside double quotes
16:30 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/70581f0775
16:34 sisar joined #perl6
16:35 alester joined #perl6
16:48 dalek roast: a62d23d | coke++ | S02-types/declare.t:
16:48 dalek roast: note matching RT #75896
16:48 dalek roast: review: https://github.com/perl6/roast/commit/a62d23dfbe
16:48 dalek roast: 69076df | coke++ | S04-statements/repeat.t:
16:48 dalek roast: Add test for RT #114432
16:48 dalek roast: review: https://github.com/perl6/roast/commit/69076dfa82
16:49 masak I'm trying to understand why my implementation of Rakudo's core/Set.pm went away in June 2011, and then when it was added back in March 2012, it was a port of Niecza's Set.
16:49 masak my implementation had ASCII operators, and methods like .intersection
16:49 masak the current one doesn't.
16:50 flussence did the spec change at all in the meantime?
16:50 masak no, and my initial commit admits that my implementation does a fair bit more than the spec demands.
16:51 masak but surely we never intended to have Set in the language without set operations?
16:51 masak (like we do now)
16:51 masak I suppose I'm partly to blame here, since I didn't write any spectests for those methods and operators. :)
16:54 bbkr_ r: sub circumfix:< > { }; # known? it should fail according to STD
16:54 p6eval rakudo c82d10: OUTPUT«===SORRY!===␤Unable to find starter and stopper from ''␤»
16:55 bbkr_ oh, fixed :)
16:55 dalek roast: d61f60f | coke++ | S05-modifier/ignorecase.t:
16:55 dalek roast: Add test for RT #114692
16:55 dalek roast: review: https://github.com/perl6/roast/commit/d61f60ffbf
16:55 benabik joined #perl6
16:56 benabik_ joined #perl6
16:57 jnthn masak: What commit made it go away, ooc?
17:00 masak jnthn: https://github.com/rakudo/rakudo/commit/​cfff0c802d14a2eacd5dde912da0155c162c2fa6
17:00 * PerlJam blames jnthn  ;)
17:01 bbkr_ r: sub infix:<> ( ){}; # misleading message
17:01 p6eval rakudo c82d10: OUTPUT«===SORRY!===␤Unsupported use of <>;  in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty list␤at /tmp/Jjxe80Ci_0:1␤»
17:02 bbkr_ should also complaint about something like "Null operator is not allowed " like STD, right?
17:02 bluescreen10 joined #perl6
17:03 * bbkr_ reports
17:03 masak yes, it should.
17:03 bluescreen100 joined #perl6
17:03 dalek roast: 58bd695 | coke++ | S05-modifier/ignorecase.t:
17:03 dalek roast: Add tests for RT #114362
17:03 dalek roast: review: https://github.com/perl6/roast/commit/58bd695c79
17:06 jnthn std: sub infix:<> ( ){};
17:06 p6eval std 04216b1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Null operator is not allowed at /tmp/YXr4hztpoK line 1:â�¤------> [32msub infix:<>[33mâ��[31m ( ){};[0mâ�¤Other potential difficulties:â�¤  Pair with <> really means a Nil value, not null string; use :('') to represent the null string,â�¤  or…
17:08 jnthn masak: Seems it must have somehow got lost in moving stuff over from b setting to nom setting
17:10 masak yes, that's what I suspected.
17:10 masak no big deal, I can probably copy+paste a few nice things straight into the new version.
17:10 masak jnthn++ # nom transition
17:10 masak tadzik++ # new version of Set
17:11 jnthn Yeah... It certainly wasn't a deliberate vote against your implemenation, just the usual churn of development...
17:12 masak indeed.
17:12 masak as I said, I shoulda written spectests...
17:12 dalek roast: 3203315 | coke++ | S04-statement-parsing/hash.t:
17:12 dalek roast: Add test for RT #78096
17:12 dalek roast: review: https://github.com/perl6/roast/commit/32033154bc
17:14 Chillance joined #perl6
17:15 [Coke] masak: yes, please do. :)
17:15 bluescreen__ joined #perl6
17:16 masak maybe after $dayjob today.
17:17 * [Coke] is burning a vacation day today to be in house with sick kid.
17:17 [Coke] (which is why he's still hacking on roast.)
17:19 am0c joined #perl6
17:23 [Coke] we have tests for https://rt.perl.org/rt3/Ti​cket/Display.html?id=73184 which were rejected. More details about what still needs fixing would be helpful.
17:23 [Coke] (moritz, jnthn, bbkr were all involved)
17:29 rindolf joined #perl6
17:34 dalek roast: d89b5f4 | coke++ | S02-names/pseudo.t:
17:34 dalek roast: Add tests for RT #89706
17:34 dalek roast: review: https://github.com/perl6/roast/commit/d89b5f49ee
17:35 wamba joined #perl6
17:35 SamuraiJack joined #perl6
17:38 azawawi joined #perl6
17:39 azawawi hi #perl6
17:46 masak azawawi! \o/
17:47 sorear hi #perl6
17:49 TimToady re $foo</tag> vs newbie issue, I am tempted to just outlaw literal subscripts starting with </alpha
17:50 TimToady since you an always write .< /alpha > if you mean that
17:50 TimToady I suppose that doesn't help the XMLish <tag/> case though
17:50 TimToady could outlaw that too
17:51 TimToady but that doesn't help with an interpolation before an opening tag, I guess
17:52 azawawi masak: not bad... http://feather.perl6.nl:8080/ is still up :)
17:53 masak azawawi: woot
17:53 masak sorear! \o/
17:53 TimToady maybe it just has to be a DIHWIDT...
17:54 azawawi masak: today i learned about ufo... masak++
17:54 masak azawawi: "ENV{FARABI6_UNSAFE} is not enabled" when I try to run the code as Rakudo.
17:54 TimToady another semi-sane approach would be to outlaw interpolated subscripts entirely on $vars, but keep them on @ and % vars
17:55 masak azawawi: also, the application looks so nice, I'm definitely going to pay more attention to Twitter Bootstrap from now on.
17:55 masak TimToady: I think that's unfairly punishing people who just happen to keep an array or a hash in a $ var.
17:56 TimToady yes, it's just trading one failure mode for another
17:56 masak right.
17:56 PerlJam TimToady: how about outlaw subscripts on $vars except when using $var.<> notation?
17:56 spider-mario joined #perl6
17:56 TimToady well, unfortunately sentences often end with a .
17:56 PerlJam aye
17:57 [Coke] down to 82 testneeded.
17:57 TimToady kablooey at line $line.</endtag>
18:06 sorear whatever you do, I'd prefer it to be a warning, for the sake of not gratuitously breaking working code
18:08 BillySeth joined #perl6
18:08 TimToady warnings only get you so far, especially when the boss and/or customer mandates that warnings be treated like errors...
18:08 benabik ls
18:08 benabik ww
18:08 TimToady ww: command not found
18:10 TimToady maybe the warning on <foo> could be contingent on the string also containing a </foo>, and vice versa (modulo ignoring arguments in <foo>)
18:12 TimToady that might be CTA
18:12 PerlJam Perl should check if the $var does Associative before attempting subscription.  If it doesn't, then interpolate $var, if it does then interpolate $var<...> with a warning.
18:12 TimToady (close to)
18:12 PerlJam :-)
18:12 TimToady um, it makes a difference to the parse
18:13 TimToady and you don't know what's in $var then
18:13 * PerlJam types another :-) just in case
18:13 * TimToady wasn't sure which thing the :-) was for :-)
18:14 * TimToady was hoping (in vain, it would appear) that it was for his CTA :)
18:15 masak I agree that that would be a big improvement.
18:15 PerlJam TimToady: no, I would need a while to warm up to that one.
18:15 TimToady now if we could work it around to GTA, we might get some teenagers interested in Perl 6
18:17 TimToady pity Perl 6 doesn't have a gas pedal...
18:24 masak nr: sub accelerate { say "VROOOM!" }; accelerate
18:24 p6eval rakudo c82d10, niecza v22-32-gee5dcf1: OUTPUT«VROOOM!␤»
18:24 PerlJam your CTA idea seems way too specific to current technologies.  That's the only thing that really bugs me about it.
18:25 PerlJam Also, it seems like we could help future users who define their own subscripts too.  (but I'm not too sure about that)
18:32 masak r: sub postcircumfix:<%% %%>($obj, $key) { $obj{$key} }; my %h = foo => 42; say %h%% "foo" %%
18:32 p6eval rakudo c82d10: OUTPUT«===SORRY!===␤Cannot add tokens of category 'postcircumfix'␤at /tmp/on9BKkqcWN:1␤»
18:32 masak dang. :)
18:33 wamba joined #perl6
18:33 masak std: sub postcircumfix:<%% %%>($obj, $key) { $obj{$key} }; my %h = foo => 42; say %h%% "foo" %%
18:33 p6eval std 04216b1: OUTPUT«[31m===[0mSORRY![31m===[0m�Bogus term at /tmp/lhuQh0_0GA line 1 (EOF):�------> [32m }; my %h = foo => 42; say %h%% "foo" %%[33m�[31m<EOL>[0m�Parse failed�FAILED 00:01 51m�»
18:33 masak TimToady: shouldn't the closing %% win over infix:<%%> there?
18:37 dagerik joined #perl6
18:37 dagerik hey guys. what does this do: use.v6;my.@f=1,1,{$^a+$^b}...*;say.@f[42]~".html";
18:38 masak r: use v6;my @f=1,1,{$^a+$^b}...*;say @f[42]~".html";
18:38 p6eval rakudo c82d10: OUTPUT«433494437.html␤»
18:38 masak it calculates the 43rd fibonacci number and prints it with .html after it.
18:38 bowtie joined #perl6
18:39 masak you had some '.' characters in there that should be spaces. I took the liberty of converting them.
18:43 masak dagerik: the {$^a+$^b} part is the one that does all the work. it's a block which takes two parameters and adds them together. the ^ twigils in those variables mean "this is actually a parameter to the block, declared right here and now". kind of a short form for '-> $a, $b { $a + $b }'.
18:44 dagerik i see
18:44 dagerik thanks
18:48 masak and '-> $a, $b { $a + $b}' blocks are kinda similar to 'sub ($a, $b) { $a + $b }', except that you can return from a sub but not from a block.
18:49 GlitchMr https://gist.github.com/4073963
18:50 GlitchMr I found a "bug" in Ubuntu
18:50 GlitchMr Not like it matters
18:50 GlitchMr But well, it's Python. Smallest errors cause exceptions.
18:56 zby_home joined #perl6
19:04 masak it's a tricky problem.
19:04 masak people have a tendency not to think about the sad paths of applications.
19:05 masak a lenient language with unchecked exceptions will create situations like the above, where two nested components on the call stack can't decide whose fault something was.
19:05 masak a stricter language with checked exceptions will be no fun to use, like Java.
19:28 tipdbmp print q :to 'END_HEREDOC';\nMy "formated" text\nand or something\nEND_HEREDOC     # What's the syntax for here-docs?
19:29 jnthn Something like that...
19:30 tipdbmp Can't get the example: http://rosettacode.org/wiki/Here_document#Perl_6, to work.
19:30 jnthn r: eval qq{print q :to 'END_HEREDOC';\nMy "formated" text\nand or something\nEND_HEREDOC\n}
19:30 p6eval rakudo c82d10: OUTPUT«My "formated" text␤and or something␤»
19:30 sahadev joined #perl6
19:31 * jnthn tries it
19:32 jnthn Hmm
19:32 PerlJam leading whitespace problem?/
19:32 tipdbmp Colons may not be used to delimit quoting constructs at line 121, near ":to 'QUOTE"
19:33 dagerik left #perl6
19:33 dalek Perlito: 1d36762 | (Flavio S. Glock)++ | TODO-perlito5:
19:33 dalek Perlito: perlito5 - parser - TODO cleanup (match, not a bug)
19:33 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/1d367626fe
19:34 jnthn PerlJam: Seems to be something about multiple heredocs.
19:34 jnthn tipdbmp: Hm, are you running Rakudo, and if so what version? :)
19:34 tipdbmp This is perl6 version 2012.10 built on parrot 4.6.0 revision 0
19:34 PerlJam Works fine if the second heredoc is q instead of qq
19:34 tipdbmp perl6 my_script.p6
19:34 PerlJam (obviously without Dylan interpolated)
19:35 jnthn PerlJam: so it does
19:35 jnthn PerlJam: good find
19:35 PerlJam Works fine here if the second heredoc is qq, but with nothing to interpolate.
19:36 jnthn tipdbmp: Ah, then I think your Rakudo is just a bit too old to do heredocs.
19:36 jnthn tipdbmp: They were only implemented in Rakudo within the last month.
19:37 tipdbmp =)
19:37 PerlJam No, it's a bug with interpolation I think.
19:37 jnthn PerlJam: Yeah, it's not a heredoc issue.
19:37 tipdbmp I can't get even a single one to work.
19:37 jnthn PerlJam: I know what it is
19:37 PerlJam It only seems to die if there's a $var at the end of the string.
19:38 jnthn PerlJam: Yes, EXPR ends up swallowing the whitespace after an interpolated thing.
19:38 PerlJam yep.  makes sense.
19:38 jnthn PerlJam: Didn't figure out why yet...
19:40 dalek Perlito: b33a702 | (Flavio S. Glock)++ | TODO-perlito5:
19:40 dalek Perlito: perlito5 - parser - TODO "things that work in perlito5, but which are errors in perl"
19:40 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/b33a702fb3
19:43 erkan joined #perl6
19:43 erkan joined #perl6
19:53 brrt joined #perl6
19:53 raiph joined #perl6
20:01 raiph In response to a comment by me that linked to Patrick's Rakudo Performance slides, the polite and reasonable harbud3 posted "casual timings" that suggest P6 startup time is 100x slower than P5's and P6 arrays are 3000x times slower than P5's. Any comments? http://www.reddit.com/r/perl/comments/12vtbw/i_kn​ow_python_very_well_is_there_any_reason_i/c716bke
20:02 Woodi raiph: tell him P6 is alpha software and at least they work :)
20:03 sirrobert joined #perl6
20:03 diakopter that's the wrong response
20:03 sirrobert lo p6
20:03 masak aye.
20:03 Woodi :)
20:03 masak raiph: only that neither of those two figures surprises me. in the sense that we know already that the speed ratio is two orders of magnitude for most things.
20:03 Woodi but you can't say P6 is faster then P5 :)
20:04 diakopter I don't think it's right to say "at least they work"
20:04 leont joined #perl6
20:04 masak it isn't if our objective is to be fast.
20:04 * PerlJam just notes again how true TimToady's earlier comment about speed was.
20:04 diakopter because obviously the complainer includes performance within "work"
20:04 masak and arguably speed is important to many.
20:05 jnthn s/arguably//
20:05 masak *nod*
20:07 diakopter "it's alpha software; at least it doesn't format your hard disk"
20:07 jnthn Things are a bunch faster (order of magnitude) now than they were a year or two ago. There's little reason to doubt that if Perl 6 devs continue putting time into performance, it'll continue to get faster.
20:07 raiph masak: what about the two specific things I mention? (startup time and arrays) pm's slides suggested a less than 50x difference for 2012.06 and 5.14. Did startup slow down over 100% since? are arrays really 3000x times as slow?
20:08 masak jnthn++
20:08 arnsholt jnthn: It'll be interesting to see how an JVM-backed Rakudo fares in that regard
20:08 jnthn raiph: "arrays are really 3000x times as slow" is so vauge I can't even say anything sensible to it other than, "what did you do with the array"
20:08 masak raiph: I don't have enough data to respond to that. maybe pmichaud does.
20:09 jnthn I mean, what operation is 3000x as slow?
20:09 sirrobert Is there a plan for a JVM-backed Rakudo?
20:09 raiph jnthn: http://www.reddit.com/r/perl/comments/12vtbw/i_kn​ow_python_very_well_is_there_any_reason_i/c716bke
20:09 jnthn sirrobert: Yes, Rakudo will target JVM also in the future.
20:09 sirrobert Cool... near future?
20:10 jnthn sirrobert: Define "near". Things are really too early on with that effort for me to make a guess at when it'll land right now.
20:10 diakopter there are very few developer resources currently allocated
20:11 sirrobert makes sense.  We're beginning to deploy some bits of our stuff on JVM environment
20:11 Woodi ppls, 2012 is year when alpha software is getting awards :) eg. DayZ mod. http://en.wikipedia.org/wiki/DayZ#Reception  Googles permament beta is old school now :)
20:11 sirrobert would be cool to make that cohesive.
20:12 sirrobert with the rest of our stuff, I mean =)  our p6 stuff
20:12 raiph jnthn: i apologize for using such vague wording. harbud3 was not vague. i wanted folk to look at what harbud3 did and said.
20:12 jnthn raiph: Startup time didn't really regress *but* changes to the way things were parsed meant that getting started with the parse became a bunch slower.
20:12 diakopter DayZ has a company backing it
20:12 jnthn raiph: When we switched over to using NFAs, etc.
20:13 Woodi raiph: but serious answer is pointing autor to pm numbers about P6 OO vs Moose
20:14 jnthn raiph: I put in some patches to pre-calculate and persist those; they'll be in 2012.11.
20:14 jnthn So that probably explains the discrepancy somewhat
20:14 bruges_ joined #perl6
20:16 diakopter someone should try to reproduce those timings
20:16 jnthn The array one is the one that stands out
20:17 raiph jnthn: thanks. i thought there'd be a simple explanation for the startup speed regression.  but the array... what u just said
20:19 jnthn fwiw, I *have* used Rakudo to do useful $dayjob stuff. In the last case, it worked out well because 1) I didn't need it to give me answers quickly and 2) Perl 6 grammars made the problem I needed to solve trivial, compared to what most other things I could have turned to would.
20:20 jnthn And my time is a LOT more expensive than CPU time. :)
20:20 masak seconded both on points 1 and 2. I have been in exactly those situations with $dayjob.
20:20 jnthn (When it's just something that gets run a handful of times.)
20:20 jnthn Now, there's a bunch of stuff I would certainly *not* use it for yet.
20:21 * masak .oO( real-time trading )
20:22 diakopter first person shooter
20:23 sirrobert is there any way to compile a complete program right now?  not just libraries
20:24 masak name it .pm and 'use' it from the command line? :)
20:24 diakopter sirrobert: no, none of the compilers targets CPUs yet
20:24 sirrobert diakopter: ok, thanks
20:24 sirrobert masak:  plbth =)
20:28 jnthn oh, ouch
20:28 jnthn I figured out the push thing.
20:29 masak quadratic?
20:29 jnthn Rakudo doesn't do sink context yet.
20:29 masak oh! :(
20:29 jnthn for 1..10000 { push @a, $_ }
20:29 brrt joined #perl6
20:29 masak then it should be possible to post better numbers for that one...
20:29 jnthn Means that it ends up constructing a result list containing all the @a arrays produced along the way.
20:29 sirrobert Is there some way I can have ufo auto-install project dependencies?
20:29 sirrobert not a module project
20:29 masak sirrobert: no, that's not what ufo does.
20:30 sirrobert I don't understand your response, masak =)
20:30 jnthn r: say [+] 1..10000
20:30 p6eval rakudo c82d10: OUTPUT«50005000␤»
20:31 jnthn So you end up making a 5 million element result array...
20:31 masak sirrobert: the purpose of ufo was, and is, to auto-generate a Makefile for a module author.
20:31 diakopter r: say [+] 1..1000000
20:31 masak sirrobert: it's the domain of module installers to install module dependencies; not of ufo.
20:31 p6eval rakudo c82d10: OUTPUT«(timeout)»
20:31 sirrobert ok, fair enough
20:33 diakopter n: say [+] 1..1000000
20:33 p6eval niecza v22-32-gee5dcf1: OUTPUT«(timeout)»
20:33 diakopter ..
20:34 diakopter .>.>
20:35 flussence rn: https://gist.github.com/3007551
20:35 p6eval rakudo c82d10, niecza v22-32-gee5dcf1: OUTPUT«125000250000␤»
20:37 flussence .oO( would be nice if the evalbot accepted an <url> <argv> form )
20:37 masak oh, indeed.
20:40 * flussence finds a 408 char long line in S05 and resists the urge to freak out on a reformatting spree...
20:41 [Coke] rakudo has broken 24200.
20:41 flussence yay
20:41 jnthn o.O
20:41 jnthn [Coke]++
20:42 sirrobert Does panda currently support private ecosystems?
20:43 sirrobert looking through the source, but I don't see where it knows the address of the public ecosystem
20:44 sahadev hello all. I read about the recent addition of is-prime method. came up with this one-liner for problem 10 of Project Euler (find the sum of of all the primes under 2 million):  say [+] 2, 3, -> $p { ($p, $p+2 ... *).first: {$_.is-prime} } ...^ * > 100. Tried it with rakudo star 2012.10. Even with 100 as the limit, it seems to be either very, very slow and I was just being impatient, or just hanging in some infinite-list-land. Is that one
20:45 sirrobert run it with the debugger and check?
20:46 flussence sirrobert: Panda/Ecosystem.pm:83
20:46 sirrobert flussence: thanks
20:47 sirrobert fluessence:  perfect.  I can work with that =)
20:47 masak r: say [+] 2, (3, 5 ... 101).grep(&is_prime)
20:47 p6eval rakudo c82d10: OUTPUT«2␤»
20:47 masak hm.
20:47 brrt left #perl6
20:48 masak r: say (3, 5 ... 101)
20:48 p6eval rakudo c82d10: OUTPUT«3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101␤»
20:48 masak r: say (3, 5 ... 101).grep(&is_prime)
20:48 p6eval rakudo c82d10: OUTPUT«␤»
20:48 masak r: say (3, 5 ... 101).grep(&is-prime)
20:48 p6eval rakudo c82d10: OUTPUT«3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101␤»
20:48 masak :)
20:48 masak r: say [+] 2, (3, 5 ... 101).grep(&is-prime)
20:48 p6eval rakudo c82d10: OUTPUT«1161␤»
20:48 PerlJam weird about is_prime though.
20:48 felher sahadev: isn't the pronlem that you have ($p, $p+2).first: *.is-prime. But since $p is already a prime, $p gets returned all the time and it never reaches 100?
20:48 masak PerlJam: yeah, but it's in RT.
20:48 masak sahadev: that version above seems fast enough (and shorter).
20:49 sahadev felher: you are correct.
20:49 kurahaupo joined #perl6
20:49 masak felher++ # nice catch
20:50 sahadev it should have read: ($p+2, $p+4 ... *).first: {$_.is-prime}
20:50 sahadev felher++
20:50 raiph joined #perl6
20:50 felher maybe, but masak++ 's version is still the nicer one :)
20:51 sorenso joined #perl6
20:51 sahadev masak: indeed your version is shorter. however, I was trying to understand lazy lists.
20:51 masak I see.
20:53 felher sahadev: then it seems you are well on your way to understanding lazy lists. With +2 and +4 your code works just nice :)
20:54 raiph jnthn, masak: thanks for discussion (and resolution afaiac) of the startup and array timings. the string append benchmark is 200x slower. maybe there's nothing to say about that? is parrot an issue with this?
20:54 PerlJam raiph: run it with niecza?
20:57 nebuchadnezzar joined #perl6
20:57 leont left #perl6
21:00 TimToady yes, the postfix should win, but STD doesn't support user-defined postcircumfixes yet
21:05 masak oh.
21:06 raiph rn: my $s=""; for (1..50000) { $s ~= "x" }
21:07 p6eval niecza v22-32-gee5dcf1: OUTPUT«(timeout)»
21:07 p6eval ..rakudo c82d10:  ( no output )
21:07 raiph rn: my $s=""; for (1..500) { $s ~= "x" }
21:07 raiph PerlJam: looks like niecza's slower?
21:07 p6eval rakudo c82d10, niecza v22-32-gee5dcf1:  ( no output )
21:15 masak r: for 0..10 -> $zeroes { my $n = ("1", "0" x $zeroes, "1").join; say "$n: ", is-prime($n) ?? "prime" !! "not prime" }
21:15 p6eval rakudo c82d10: OUTPUT«11: prime␤101: prime␤1001: not prime␤10001: not prime␤100001: not prime␤1000001: not prime␤10000001: not prime␤100000001: not prime␤1000000001: not prime␤10000000001: not prime␤100000000001: not prime␤»
21:15 masak hm.
21:16 masak rn: say 7 * 11 * 13
21:16 p6eval rakudo c82d10, niecza v22-32-gee5dcf1: OUTPUT«1001␤»
21:24 TimToady p5 takes some pains to optimize for repeated appending/pushing, and in any case always allocates more than you asked for when it needs to extend
21:26 wamba joined #perl6
21:27 TimToady in particular, if it notices that you're shifting and pushing the same array, it increases the allocation even further, so the array elements don't have to be copied down to position 0 so often
21:27 TimToady (assuming that hasn't been removed since I did it, of course...)
21:28 PerlJam yeah, p5 allocates space much like a waiter once brought me milk.  I had finished my glass and asked for another, but he brought me 2, so I finished those and asked for another then he brought me 3, so I *had* to finish  those to see if he'd bring 4 (and he did)
21:28 cotto eventually he'd get tired and just bring you a cow
21:29 TimToady or two...
21:29 crazedpsyc joined #perl6
21:33 masak he only brings two cows if you finish the first cow.
21:38 cotto or if you write on the first one
21:38 jnthn *groan*
21:44 geekosaur super cow powers?
21:45 * PerlJam suddenly wonders if this same trick works with bacon.
21:45 felipe joined #perl6
21:47 masak it's messier with bacon. you can do it, but the kitchen'll end up looking like a pigsty.
21:49 * geekosaur managed somehow to interpret "messier" as "Messier"... long day
21:50 masak don't shoot the Messier.
21:50 diakopter what's Messier
21:51 geekosaur catalog of astronomical objects
21:51 masak named after Charles Messier, French astronomer.
21:51 raiph jnthn: before i finish my response to harbud3, do you have anything to add to TimToady's comments about repeated string appends (as per the 200x slower string append benchmark)?
21:54 TimToady also, p5 strings are mutable, which may have some bearing on this
21:55 sirrobert What does "ICU not loaded" mean?
21:56 masak sirrobert: that you didn't install Parrot with icu.
21:56 masak hm, is it libicu-dev or something like that?
21:56 jnthn raiph: Mostly just that they are about the worst case for immutable strings, and a join would almost certainly do a lot better due to needing to do less copying.
21:56 masak sirrobert: it usually happens when you try to do something with Unicode.
21:57 masak jnthn: I guess one could optimize that case to doing stringbuffers or something...
21:57 raiph jnthn: thanks. (so nothing to do with parrot really, right?)
21:58 sirrobert masak: ok, thanks.... I didn't do anything different, except than I'm in a new VM
21:58 sirrobert 64-bit ubuntu 12.10 (which may have caused the issue)
21:59 jnthn raiph: Well, Rakudo uses Parrot's strings fairly directly.
21:59 jnthn masak: Perhaps...or just using a more ropey string implementation :)
22:00 masak or that.
22:00 benabik joined #perl6
22:00 masak sirrobert: http://packages.ubuntu.com/hardy/libicu-dev
22:01 raiph jnthn: ok. i'm trying to figure out if parrot string handling speed is largely positive, negative, or neutral in relation to the repeated append of harbud3's benchmark
22:01 jnthn raiph: And immutable string model has good properties for some uses cases, but is bad in this one.
22:01 grondilu joined #perl6
22:02 jnthn raiph: Note that Java, C#, C and probably many other languages have this same string model.
22:02 jnthn raiph: And expect their users to do something other than repeated concatenation to build up large strings.
22:02 diakopter ropies++
22:02 grondilu rn: my @a = ^3; @a ,= @a.shit; say @a   # is that a safe way to rotate an array?
22:02 jnthn I'm not saying I want this to be the long term reality, just pointing out that the problem is hardly just a Rakudo thing :)
22:03 p6eval niecza v22-32-gee5dcf1: OUTPUT«Unhandled exception: Unable to resolve method shit in type Array␤  at /tmp/DfIB8P2U0i line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4211 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4212 (module-CORE @ 578) ␤  at /home…
22:03 p6eval ..rakudo c82d10: OUTPUT«No such method 'shit' for invocant of type 'Array'␤  in block  at /tmp/wJAMTAhF5h:1␤␤»
22:03 grondilu oops
22:03 jnthn grondilu: no, it's a shit way
22:03 grondilu rn: my @a = ^3; @a ,= @a.shift; say @a   # is that a safe way to rotate an array?
22:03 grondilu lol
22:03 p6eval rakudo c82d10, niecza v22-32-gee5dcf1: OUTPUT«1 2 0␤»
22:03 jnthn Isn't there a rotate method? :)
22:04 jnthn rn: my @a = ^3; @a.rotate; say @a
22:04 grondilu r: my @a = ^3; say @a.rotate: 1;
22:04 p6eval rakudo c82d10, niecza v22-32-gee5dcf1: OUTPUT«0 1 2␤»
22:04 p6eval rakudo c82d10: OUTPUT«1 2 0␤»
22:04 grondilu cool
22:04 jnthn Oh, with an arg :)
22:05 raiph jnthn: lol and thanks
22:05 grondilu r: my @a = ^3; @a.rotate: 1; say @a;  # just checking it operates on place
22:05 p6eval rakudo c82d10: OUTPUT«0 1 2␤»
22:05 diakopter r: my @a = ^3; say @a.rotate: (@a.Int * 999999999999999999999);
22:05 p6eval rakudo c82d10: OUTPUT«0 1 2␤»
22:06 grondilu r: my @a = ^3; @a .= rotate: 1; say @a;
22:06 p6eval rakudo c82d10: OUTPUT«1 2 0␤»
22:07 diakopter r: my @a = ^3; say @a.rotate: (@a.Int * 99999999999999999999999999999999999999999999999​99999999999999999999999999999999999999999999999​9999999999999999999999999999999999999999999);
22:07 p6eval rakudo c82d10: OUTPUT«0 1 2␤»
22:07 * TimToady already change the RC entry to use rotate :)
22:07 TimToady *changed
22:07 grondilu ok thanks
22:08 masak diakopter: trying to picture that last one makes my head spin.
22:08 TimToady modular arithmetic is your friend
22:08 jnthn Big integers too :)
22:09 diakopter r: my @a = ^3; say @a.rotate: (@a.Int * 9**9**9**9);
22:09 p6eval rakudo c82d10: OUTPUT«Nominal type check failed for parameter '$n'; expected Int but got Num instead␤  in method rotate at src/gen/CORE.setting:5862␤  in block  at /tmp/mYPElUjUpE:1␤␤»
22:10 jnthn ...not Cool
22:10 grondilu TimToady: you don't mind if I change it to '@prisoner .= rotate:  $k-1', do you?   I think  .method: @args  looks better than .method(@args)
22:13 TimToady is fine
22:14 TimToady though I tend to prefer spaces around - these days to avoid confusion with hyphenated names
22:15 grondilu anyway on second thouth .rotate($k-1) is fine too
22:15 grondilu *thought
22:24 tadzik hm, I did new version of Set? :)
22:29 masak ported it from Niecza... :)
22:30 tadzik :)
22:37 sorear o/
22:42 masak sorear! \o/
22:48 cognominal joined #perl6
22:50 felher 'night, #perl6 :)
22:52 masak 'night, felher
22:52 sftp_ joined #perl6
22:57 Psyche^ joined #perl6
23:04 [Coke] if I were doing java strings in perl, I'd push things onto an array and then join it at the end.)
23:05 flussence I'd prefer the language to do things like that for me, last time I needed to do that was writing JS for IE6...
23:06 [Coke] I think it's reasonable to expect the users to know what different data types are good for.
23:07 fgomez joined #perl6
23:19 flussence yeah, we have Cat for that (...in the spec), but there's still no good reason for string appending to have quadratic slowdown...
23:23 flussence (after testing it myself, niecza's ~= seems a lot worse than quadratic... :/)
23:24 sorear niecza's ~ is linear time in the combined size of the two operands
23:25 flussence n: sub timer(&a) { my $t = time; &a.(); say time - $t; }; timer { my $a = ''; for ^1000 { $a ~= 'a' } }
23:25 p6eval niecza v22-32-gee5dcf1: OUTPUT«0.072267055511474609␤»
23:26 flussence I'm getting 1000 => 0.03, 10000 => 0.78 and 100000 => 32.5 with that
23:26 jnthn It's not that ~ is quadratic, it's that you're doing an O(n)-y thing n times
23:27 sorear I can fit a quadratic to those three numbers :p
23:27 sorear also - for ^1000 is far from the fastest way to loop N times in niecza
23:28 sorear best way is while $i-- { ... }
23:30 flussence not --$i? :)
23:31 tokuhiro_ joined #perl6
23:31 sorear oh yeah, --$i is marginally better
23:31 masak 'night, #perl6
23:31 sorear bishop, masak.
23:34 flussence (also, I need to use `now` to get useful durations in rakudo and `time` in niecza... what gives?)
23:35 flussence hm, that's interesting. niecza's faster up to 10e3 iterations but then it goes way off the deep end at 10e4...
23:36 sorear times[0] will give you better durations in niecza because it only counts time allotted to your process, ignoring time the CPU spends on other processes
23:40 jnthn sleep &
23:41 flussence I notice niecza's using almost exactly 250% cpu time while running these, why's that? a loop like this doesn't seem all that parallelisable :)
23:41 sorear flussence: you're spending most of the time in the GC I bet
23:41 sorear a 10e4 loop will allocate 50MB of memory
23:41 sorear 10e5, 5GB
23:44 flussence 10e5 is... holding at 100MB for me actually
23:44 flussence mono is weird.
23:45 flussence oh, you mean 5GB *total allocations*...
23:45 sorear yes
23:45 sorear and the GC is partially parallel
23:51 skids joined #perl6
23:55 whiteknight joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs