Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-09-15

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 flussenc1 joined #perl6
00:01 sorear joined #perl6
00:02 chenryn_ joined #perl6
00:03 brother joined #perl6
00:03 baest_ joined #perl6
00:03 hoelzro joined #perl6
00:03 isacloud______ joined #perl6
00:03 integral_ joined #perl6
00:03 integral_ joined #perl6
00:04 ChoHag joined #perl6
00:05 hobbs joined #perl6
00:05 ggherdov__ joined #perl6
00:06 virtualsue_ joined #perl6
00:07 tokuhirom_ joined #perl6
00:08 colomon_ joined #perl6
00:14 jerrycheung joined #perl6
00:14 skarn joined #perl6
00:35 aindilis joined #perl6
00:35 carlin Illegal attempt to pop empty temporary root stack
00:36 carlin sounds... fun
00:42 timotimo https://github.com/MoarVM/MoarVM/blob/master/src/gc/roots.c#L146 - breakpoint this and get us a traceback please
00:47 carlin I'll try and golf the code that causes it tonight
00:48 carlin it involves async and threads, so all the stuff that makes fun things happen
01:00 yeahnoob joined #perl6
01:02 pat_js` joined #perl6
01:12 dayangkun joined #perl6
01:12 slmult0 joined #perl6
01:16 raiph joined #perl6
01:21 FROGGS_ joined #perl6
01:21 BenGoldberg m: my %a; %a{(<12 12a 1>).pick(*).Str.sort} += 1 for 1..1000; %a.say;
01:21 camelia rakudo-moar 351c12: OUTPUT«"1 12 12a" => 2, "1 12a 12" => 2, "12 1 12a" => 2, "12 12a 1" => 2, "12a 1 12" => 2, "12a 12 1" => 2␤»
01:21 * BenGoldberg is confused.
01:21 BenGoldberg Shouldn't all the values add up to 1000?
01:23 BenGoldberg m: my %a; %a{(12, <12a>, 2).pick(*).sort.Str} += 1 for 1..1e3; %a.say;
01:23 camelia rakudo-moar 351c12: OUTPUT«"12 12a 2" => 344, "12a 2 12" => 321, "2 12 12a" => 335␤»
01:24 BenGoldberg That's better, for some definition of better.
01:26 skids joined #perl6
01:35 BenGoldberg m: my %a; %a{($_ %% 2).sort} += 1 for 1..1e3; %a.say;
01:35 camelia rakudo-moar 351c12: OUTPUT«"False" => 2, "True" => 2␤»
01:35 BenGoldberg What is going on there?
01:37 colomon m: .say for 1..1e3
01:37 camelia rakudo-moar 351c12: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤…»
01:38 BenGoldberg n: my %a; %a{($_ %% 2).sort} += 1 for 1..1e3; %a.say;
01:38 camelia niecza : OUTPUT«Cannot open assembly './run/Niecza.exe': No such file or directory.␤»
01:38 BenGoldberg P: my %a; %a{($_ %% 2).sort} += 1 for 1..1e3; %a.say;
01:38 camelia pugs: OUTPUT«/home/p6eval/.cabal/bin/pugs: error while loading shared libraries: libperl.so.5.14: cannot open shared object file: No such file or directory␤»
01:39 colomon what's the .sort meant to be doing?
01:39 rindolf joined #perl6
01:39 BenGoldberg I'd intended to do something with .sort.Str, and accidentally typoed it as .Str.sort ... and then discovered this really strange outcome you see here.
01:40 BenGoldberg m: 1.sort.WHAT.say
01:40 camelia rakudo-moar 351c12: OUTPUT«(List)␤»
01:41 BenGoldberg P: my %a; %a{($_ %% 2).list} += 1 for 1..1e3; %a.say;
01:41 camelia pugs: OUTPUT«/home/p6eval/.cabal/bin/pugs: error while loading shared libraries: libperl.so.5.14: cannot open shared object file: No such file or directory␤»
01:41 BenGoldberg m: my %a; %a{($_ %% 2).list} += 1 for 1..1e3; %a.say;
01:41 camelia rakudo-moar 351c12: OUTPUT«"False" => 2, "True" => 2␤»
01:45 BenGoldberg m: my %a; %a{"blah".list} += 1 for 1..1e3; %a.say;
01:45 camelia rakudo-moar 351c12: OUTPUT«"blah" => 2␤»
01:45 BenGoldberg m: my %a; %a{"blah".list} += 1 for 1..4; %a.say;
01:45 camelia rakudo-moar 351c12: OUTPUT«"blah" => 2␤»
01:45 BenGoldberg That's golfed enough, I suppose...
01:45 colomon oh!
01:47 * colomon has theories, but none of them actually explain what we're seeing
01:48 colomon m: my %a; for 1..4 { %a{"blah".list} += 1; }; %a.say
01:48 camelia rakudo-moar 351c12: OUTPUT«"blah" => 2␤»
01:48 colomon m: my %a; for 1..4 { %a{"blah"} += 1; }; %a.say
01:48 camelia rakudo-moar 351c12: OUTPUT«"blah" => 4␤»
01:50 colomon m: my %a; for 1..4 { %a{"blah".list} += 1; %a.say }; %a.say
01:50 camelia rakudo-moar 351c12: OUTPUT«"blah" => 2␤"blah" => 2␤"blah" => 2␤"blah" => 2␤"blah" => 2␤»
01:52 colomon m: my %a; say %a{"blah".list}.WHAT
01:52 camelia rakudo-moar 351c12: OUTPUT«(Parcel)␤»
01:52 colomon m: my %a; say %a{"blah".list}.perl
01:52 camelia rakudo-moar 351c12: OUTPUT«(Any,)␤»
01:53 colomon m: my %a; say (%a{"blah".list} += 1).perl
01:53 camelia rakudo-moar 351c12: OUTPUT«(2,)␤»
02:01 colomon m: my %a; say %a{"blah"}.perl
02:01 camelia rakudo-moar 351c12: OUTPUT«Any␤»
02:01 colomon m: my %a; say %a{"blah"}.WHAT
02:01 camelia rakudo-moar 351c12: OUTPUT«(Any)␤»
02:19 chenryn joined #perl6
02:22 Guest43064 joined #perl6
02:48 noganex_ joined #perl6
02:48 kaleem joined #perl6
02:48 rindolf joined #perl6
02:50 hagiri joined #perl6
03:03 slavik joined #perl6
03:12 PZt joined #perl6
03:16 chenryn joined #perl6
03:31 dalek specs: a7e69b5 | (L. Grondin)++ | S99-glossary.pod:
03:31 dalek specs: FIFO is a queue and LIFO is a stack
03:31 dalek specs: review: https://github.com/perl6/specs/commit/a7e69b5bad
03:48 kaare joined #perl6
03:57 jerrycheung joined #perl6
04:36 circ-user-41MtE joined #perl6
04:36 circ-user-41MtE helloo
04:43 circ-user-oppkc joined #perl6
04:45 hagiri joined #perl6
04:59 chenryn joined #perl6
05:05 grondilu joined #perl6
05:20 Alina-malina joined #perl6
05:20 kaare joined #perl6
05:24 molaf joined #perl6
05:26 grondilu m: class A { has @.i; multi method new(*@i) { self.new: :i(Mu) }; }; say A.new();
05:29 grondilu ^ this almost crashes my computer locally.
05:30 grondilu seems to be an infinite recursive loop but that seems wrong to me.  self.new(:i(Mu)) should not call new(*@), should it?
05:37 kaleem joined #perl6
05:38 Sqirrel joined #perl6
05:39 grondilu m: class A { has @.i; multi method new(@i) { self.new: :i(Mu) }; }; say A.new();
05:39 grondilu p6: say "hi"
05:45 nine .tell lizmat: and true enough comes the morning I'm a bit more positive. Allowing - in identifiers is not the only incompatible change. Perl 5 doesn't support real named arguments for example so there's got to be some workarounds anyway. And one can always call $foo->call_method('perl6-method', ...) anyway...
05:45 yoleaux nine: What kind of a name is "lizmat:"?!
05:45 nine .tell lizmat[3~: and true enough comes the morning I'm a bit more positive. Allowing - in identifiers is not the only incompatible change. Perl 5 doesn't support real named arguments for example so there's got to be some workarounds anyway. And one can always call $foo->call_method('perl6-method', ...) anyway...
05:45 yoleaux nine: What kind of a name is "lizmat[3~:"?!
05:46 nine .tell lizmat and true enough comes the morning I'm a bit more positive. Allowing - in identifiers is not the only incompatible change. Perl 5 doesn't support real named arguments for example so there's got to be some workarounds anyway.  And one can always call $foo->call_method('perl6-method', ...) anyway...
05:46 yoleaux nine: I'll pass your message to lizmat.
06:00 chenryn joined #perl6
06:09 vendethiel o/
06:10 SamuraiJack joined #perl6
06:10 cognome joined #perl6
06:10 [Sno] joined #perl6
06:21 mr-foobar joined #perl6
06:24 rindolf joined #perl6
06:31 slmult0 joined #perl6
06:42 slmult0 joined #perl6
06:42 jack_rabbit joined #perl6
06:47 cognome joined #perl6
06:56 zakharyas joined #perl6
07:00 FROGGS joined #perl6
07:03 dalek rakudo/match: 510e68d | (Tobias Leich)++ | src/core/Cursor.pm:
07:03 dalek rakudo/match: attempt to patch Cursor.MATCH like in nqp
07:03 dalek rakudo/match: review: https://github.com/rakudo/rakudo/commit/510e68d0c0
07:09 denis_boyun_ joined #perl6
07:18 slmult0 joined #perl6
07:20 FROGGS jnthn: can you please take a look at https://github.com/rakudo/rakudo/commit/510e68d0c0#commitcomment-7780349 ?
07:21 FROGGS jnthn: I guess you spot my error easily
07:28 chenryn joined #perl6
07:28 virtualsue joined #perl6
07:37 FROGGS nine: and you won't be able to access dynamic variables or compile time constants... and we also don't know how Perl 6 code will really be used in ten years
07:37 FROGGS so there might be bigger problems coming that we do not know yet (wrt. Perl 5 interop)
07:44 * moritz will be offline the next ~9 days (the good kind of offline :-)
07:45 cognome joined #perl6
07:45 nwc10 mr-foobar: h
07:45 nwc10 er
07:45 nwc10 fat fingers
07:45 nwc10 moritz: have fun
07:46 FROGGS moritz: enjoy it :o)
07:48 mberends +1
07:48 lizmat moritz: enjoy!
07:48 yoleaux 05:46Z <nine> lizmat: and true enough comes the morning I'm a bit more positive. Allowing - in identifiers is not the only incompatible change. Perl 5 doesn't support real named arguments for example so there's got to be some workarounds anyway.  And one can always call $foo->call_method('perl6-method', ...) anyway...
07:48 lizmat nine: good morning   :-)
07:49 moritz thanks nwc10, FROGGS, lizmat
07:54 fhelmberger joined #perl6
07:59 darutoko joined #perl6
07:59 dayangkun joined #perl6
07:59 telex joined #perl6
07:59 vikeOne joined #perl6
07:59 ggoebel1111117 joined #perl6
08:00 telex joined #perl6
08:04 ggherdov__ joined #perl6
08:04 isacloud_____ joined #perl6
08:07 erkan joined #perl6
08:16 camelia joined #perl6
08:18 dalecooper joined #perl6
08:26 pmurias joined #perl6
08:26 pmurias shouldn't we have runinstead and shellinstead?
08:29 lizmat_ joined #perl6
08:30 pmurias hmm, what's a good way to create a temporary file in nqp?
08:31 kurahaupo joined #perl6
08:32 dwarring joined #perl6
08:33 lizmat joined #perl6
08:35 lizmat__ joined #perl6
08:37 lizmat joined #perl6
08:39 dwarring I've bisected parrot failures affecting advent2010-07.t and other advent tests...
08:40 dwarring (test suite had been out of action on parrot for about a week)
08:40 kjs_ joined #perl6
08:41 FROGGS dwarring: and?
08:41 dwarring looks like this test started hanging around rakudo commit 3e96fe51a29fd3758fe774b5e3e95aae9e7196dd
08:41 FROGGS dwarring: I am about checking panda on parrot again
08:42 FROGGS dwarring: yes, that seems also to be the panda problem
08:42 sergot hi o/
08:42 FROGGS hi
08:42 lizmat dwarring: going to check that now
08:42 lizmat (as that commit was my doing)
08:43 dwarring there's also a second regression at df2f8b4954477f02f2481f981a7d7c564a959544
08:43 dwarring hoping this gist explains things a bit more - https://gist.github.com/dwarring/12c1e32440a8aea43337
08:43 dwarring (see comments)
08:44 lizmat dwarring: I'm on it
08:45 cognome joined #perl6
08:45 dwarring ok lizmat++
08:46 dwarring hope that helps
08:47 FROGGS is there a reason to prefer nqp::box_s("foo", Str) over nqp::p6box_s("foo")? and, is there a difference in the resulting thing?
08:49 lizmat hmmm... p6box_s isn't even documented ?
08:50 * dwarring zzzz&
08:50 FROGGS lizmat: where are you looking?
08:51 lizmat https://github.com/perl6/nqp/blob/master/docs/ops.markdown
08:51 FROGGS lizmat: it is not an nqp op, it is an rakudo ext-op
08:51 FROGGS all nqp::p6* are
08:51 lizmat eh, then why has it the nqp:: prefix ?
08:51 lizmat good night, dwarring!
08:51 FROGGS because we register it that way :o)
08:52 FROGGS I think because we can access it is Perl6/Action.nqp this way
08:52 FROGGS in*
08:53 FROGGS so, I've build all backends now, in case I should test something
08:53 lizmat m: my str $a= "a"; say nqp::p6box_s($a)
08:53 camelia rakudo-moar 351c12: OUTPUT«a␤»
08:53 lizmat I don't see a difference from this end: to me it's just another (undocumented) nqp:: operation
08:53 daxim__ <http://www.wilfred.me.uk/blog/2014/09/15/comparative-macrology/> "there’s a huge design space of how macro systems can be implemented"  (via HN)
08:54 lizmat (still building parrot, my is it slow compared to moar)
08:54 FROGGS lizmat: yes, now wonder features get more quickly implemented nowadays :o)
08:56 Ven joined #perl6
08:56 Ven .tell masak http://www.wilfred.me.uk/blog/2014/09/15/comparative-macrology/
08:56 yoleaux Ven: I'll pass your message to masak.
08:57 dalek nqp-js: 351cae7 | (Pawel Murias)++ | tools/build/ (2 files):
08:57 dalek nqp-js: Make the Makefile install the required support js modules.
08:57 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/351cae723b
09:01 dakkar joined #perl6
09:06 ClarusCogitatio joined #perl6
09:07 lizmat rebuilding rakudo on parrot: real4m27.370s  = 267 seconds
09:08 lizmat on moar: 0m43.920s = about 6x as fast
09:23 lizmat looks like parrot has a problem with basic math
09:23 lizmat 1 + 1 + 0 = 0
09:23 sjn joined #perl6
09:24 virtualsue joined #perl6
09:29 lizmat more specifically: $moving = $chars + 1 + nqp::eqat($ns, $CRLF, $nextpos);
09:29 lizmat seems to come out as 0 always on parrot
09:31 FROGGS m: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 3)
09:31 camelia rakudo-moar 351c12: OUTPUT«1␤»
09:31 FROGGS p: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 3)
09:31 camelia rakudo-parrot 351c12: OUTPUT«1␤»
09:31 FROGGS p: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 4)
09:31 camelia rakudo-parrot 351c12: OUTPUT«0␤»
09:31 FROGGS m: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 4)
09:31 camelia rakudo-moar 351c12: OUTPUT«0␤»
09:31 FROGGS m: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), -1)
09:31 camelia rakudo-moar 351c12: OUTPUT«0␤»
09:31 FROGGS p: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), -1)
09:31 camelia rakudo-parrot 351c12: OUTPUT«0␤»
09:31 FROGGS p: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 55)
09:31 camelia rakudo-parrot 351c12: OUTPUT«0␤»
09:31 FROGGS m: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 55)
09:31 camelia rakudo-moar 351c12: OUTPUT«0␤»
09:31 FROGGS hmmm
09:32 FROGGS lizmat: what is the test case you're using?
09:33 donaldh joined #perl6
09:33 lizmat say "a\r\nb\nc\n".lines.elems
09:33 FROGGS k
09:33 lizmat that hangs on parrot atm
09:34 lizmat if I put the result of nqp::eqat in a temp variable, it works ok
09:35 lizmat something like my int $extra = nqp::eqat; $moving = $chars +1 $ extra;
09:35 lizmat s/$/+/
09:35 FROGGS eww
09:36 lizmat some code gen, maybe optimization issue ?
09:36 FROGGS I would say that a code-gen bug on parrot is very unlikely
09:37 FROGGS and we cannot change the optimization level for perl6-p because some stuff relies on optimization and will break without
09:37 * lizmat hates it when she can only try 12 hypotheses an hour
09:37 lizmat I'll put in some conditional parrot code then, yuck  :-(
09:38 FROGGS I recompile right now with some debugging output...
09:38 nwc10 do we know which OSes/distributions package Rakudo (on Parrot)?
09:39 nwc10 eg does macports? does cygwin have a packaging system, and does it? which BSD ports? (etc)
09:42 FROGGS nwc10: I only know about daxim++'s work for opensuse
09:42 nwc10 I know that I've installed it on debian, and on ubnutu we have
09:42 nwc10 This is perl6 version 2013.12 built on parrot 5.9.0 revision 0
09:43 FROGGS p: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 3)
09:43 camelia rakudo-parrot 351c12: OUTPUT«1␤»
09:43 FROGGS p: say 0 + nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 3)
09:43 camelia rakudo-parrot 351c12: OUTPUT«1␤»
09:43 FROGGS p: say 0 + 1 + nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 4)
09:43 camelia rakudo-parrot 351c12: OUTPUT«1␤»
09:44 FROGGS why does that work here?
09:44 lizmat because you're not using variables?
09:45 pmurias lizmat: reducing the bug to an nqp level test that we could put into the nqp test suit would be great
09:45 FROGGS then it might be really a code-gen bug
09:45 cognome joined #perl6
09:45 FROGGS it could be that eqat uses a hard coded register
09:45 FROGGS lemme look
09:45 lizmat but one that exists on parrot only
09:45 lizmat jvm is also clean, I just checked
09:46 FROGGS lizmat: code-gen is backend specific
09:48 lizmat hnmmm...  scratch that: jvm seems also infected  :-(
09:48 lizmat oops, no, I just wasn't patient enough  :-(
09:49 pmurias all the code-gen in jvm, moar, parrot is a very similiar manner
09:52 dalek rakudo/nom: bac255d | (Elizabeth Mattijsen)++ | src/core/Str.pm:
09:52 dalek rakudo/nom: initial fix for hanging Str.lines on parrot
09:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bac255d89d
09:56 FROGGS p: my str $CRLF = nqp::unbox_s("\r\n"); my int $chars; say $chars + 1 + nqp::eqat(nqp::unbox_s("a\r\nb"), $CRLF, 0) # here is the bug
09:56 camelia rakudo-parrot 351c12: OUTPUT«0␤»
09:57 FROGGS it vanishes when I make $chars an Int, and also when I replace nqp::eqat by a literal 0
09:59 anaeem1 joined #perl6
10:01 lizmat shall I rakudobug it ?
10:02 FROGGS yes...
10:02 FROGGS in the meantime I try to understand it
10:07 lizmat RT #122783
10:07 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122783
10:07 dalek rakudo/nom: dc83803 | (Elizabeth Mattijsen)++ | src/core/Str.pm:
10:07 dalek rakudo/nom: Temp fix for other candidates, RT #122783
10:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dc83803101
10:07 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122783
10:11 FROGGS eww:
10:11 FROGGS p: sub infix:<+>(int $a, int $b) { nqp::add_i($a, $b) }; my int $chars; say $chars + 1 + nqp::eqat(nqp::unbox_s("a"), nqp::unbox_s("b"), 0)
10:11 camelia rakudo-parrot 351c12: OUTPUT«0␤»
10:11 FROGGS p: sub infix:<+>(int $a, int $b) { 7; nqp::add_i($a, $b) }; my int $chars; say $chars + 1 + nqp::eqat(nqp::unbox_s("a"), nqp::unbox_s("b"), 0)
10:11 camelia rakudo-parrot 351c12: OUTPUT«1␤»
10:12 FROGGS I guess it is an optimization problem with infix:<+> on natives
10:17 lizmat guess so: well at least the parrot spec test is not hanging anymore
10:22 virtualsue joined #perl6
10:22 dalek rakudo/nom: 9c3634d | (Elizabeth Mattijsen)++ | src/core/Str.pm:
10:22 dalek rakudo/nom: Mention #122783 for posterity
10:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9c3634dcca
10:22 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122783
10:34 leont joined #perl6
10:34 lizmat leont: I'm thinking about changing the API of Proc::Async.new
10:34 lizmat will that be a big problem for you?
10:34 lizmat instead of :path, :args, use positionals
10:35 lizmat also allow direct %ENV setting  :-)
10:35 lizmat (with .start)
10:35 leont I don't really care about the API, I'll adapt to it
10:35 lizmat ok
10:36 leont Just warn me when flag day comes ;-)
10:38 ribasushi joined #perl6
10:41 leont Direct %*ENV setting would be sensible too, yes. Not that I've needed it so far.
10:45 dalek specs: 5123177 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
10:45 dalek specs: Make .stdout/.stderr suppliers more generic
10:45 dalek specs: review: https://github.com/perl6/specs/commit/5123177528
10:45 cognome joined #perl6
10:45 * lizmat first waits for any reactions to spec changes ^^^
10:47 FROGGS lizmat: other methods usually use the :bin colonpair to switch between strings and bufs
10:47 lizmat aha, an extra reason not to call it "stdout_bytes"  :-
10:47 lizmat )
10:47 FROGGS :o)
10:52 dalek specs: d21d857 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
10:52 dalek specs: Be more like other IO: :bytes -> :bin  FROGGS++
10:52 dalek specs: review: https://github.com/perl6/specs/commit/d21d857467
10:52 lizmat does Win have an "echo" ?
10:53 denis_boyun_ joined #perl6
10:53 lizmat .oO( portable Proc::Async tests )
10:53 FROGGS lizmat: yes
10:53 lizmat ok, cool
10:53 FROGGS C:\MoarVM>echo 42
10:53 FROGGS 42
10:55 leont lizmat: those changes look very sensible to me
10:58 leont Also, implementation was with underscores, spec with hyphens…
10:58 lizmat yes, I didn't change the implemented API yet
10:58 lizmat pending feedback on the spec
10:59 chenryn joined #perl6
11:15 dalek roast: 47c637e | (Elizabeth Mattijsen)++ | S17-procasync/basic.t:
11:15 dalek roast: Add basic Proc::Async test
11:15 dalek roast: review: https://github.com/perl6/roast/commit/47c637e09f
11:28 dalek rakudo/nom: f48eb19 | (Elizabeth Mattijsen)++ | t/spectest.data:
11:28 dalek rakudo/nom: Add basic Proc::Async test for moar only
11:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f48eb1983d
11:38 raiph joined #perl6
11:44 mberends joined #perl6
11:45 cognome joined #perl6
11:45 brrt joined #perl6
11:58 kurahaupo joined #perl6
12:00 anaeem1 joined #perl6
12:00 leont How do I do the equivalent of \1 in a rule?
12:01 brrt ehm, i'm not sure, but if i recall correctly, a rule is a token with autmatic whitespace ignoring or something, and neither supports backtracking. but i'm not sure if that's what you mean
12:04 brrt in which case there wouldn't be an equivalent. but you'd have to ask somebody else to be sure
12:06 leont Ah, it seems "$1" did the trick.
12:19 brrt then i'm wrong :-)
12:21 leont Hmmm, no I may have been wrong, I think my test passed by accident
12:23 timotimo i'm just now running into some hard drive trouble :\
12:26 * nine suddenly remembers to make a backup....
12:26 * lizmat loves her Time Machine
12:27 u-ou joined #perl6
12:28 raiph p5-to-p6: $_ = "ab"; s/(a)/b\1/
12:28 lizmat leont: $0 maybe, they start at 0 in Perl 6
12:32 timotimo i should really do backups, too ...
12:37 SamuraiJack joined #perl6
12:42 timotimo FROGGS: you most probably need to keep the hllize in the match code
12:45 cognome joined #perl6
12:48 * leont was looking for the problem in all the wrong places, again
12:48 muraiki joined #perl6
12:49 raiph .seen Ulti
12:49 yoleaux I saw Ulti 12 Sep 2014 16:19Z in #perl6: <Ulti> TimToady what would your bacon number have been?
12:50 pmurias how is p5-to-p6 implemented?
13:02 guru joined #perl6
13:03 FROGGS timotimo: hllize does not change anything though
13:05 FROGGS Bisecting: 358 revisions left to test after this (roughly 9 steps)
13:05 FROGGS >.<
13:05 FROGGS bisecting rakudo@parrot
13:05 FROGGS this will take months!
13:06 brrt ... :-o
13:06 leont 9 steps, that isn't that bad, is it?
13:06 * brrt wonders if that is worth the trouble
13:08 FROGGS brrt: I think it is
13:08 FROGGS brrt: because that can pop up everywhere
13:09 FROGGS good that I don't have to recompile parrot... "only" nqp and rakudo :o)
13:11 kaleem joined #perl6
13:13 bowtie joined #perl6
13:14 firnsy joined #perl6
13:14 firnsy joined #perl6
13:16 fhelmberger_ joined #perl6
13:17 mike121 joined #perl6
13:19 pmurias how hard would it be to add nqp-js to camelia?
13:19 dalek nqp-js: 7d08260 | (Pawel Murias)++ | src/vm/js/ (2 files):
13:19 dalek nqp-js: Implement hashes partially.
13:19 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/7d08260200
13:19 dalek nqp-js: 917dbb0 | (Pawel Murias)++ | / (5 files):
13:19 dalek nqp-js: Implement nqp::const::* and nqp::stat.
13:19 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/917dbb08e2
13:19 dalek nqp-js: 1ea4ff2 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
13:19 dalek nqp-js: Fix bug.
13:19 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/1ea4ff23cf
13:19 dalek nqp-js: 80f126d | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
13:19 dalek nqp-js: Implement nqp::existskey
13:19 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/80f126de9d
13:19 dalek nqp-js: 2e2538d | (Pawel Murias)++ | src/vm/js/ (2 files):
13:19 dalek nqp-js: Implement nqp::existspos
13:19 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/2e2538d8c9
13:19 dalek nqp-js: 9a076b1 | (Pawel Murias)++ | src/vm/js/ (3 files):
13:19 dalek nqp-js: Implement nqp::radix.
13:19 dalek nqp-js:
13:19 dalek nqp-js: Pass test 83.
13:19 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/9a076b1bba
13:19 dalek nqp-js: 54745dc | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
13:19 dalek nqp-js: Fix indentation.
13:19 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/54745dcd6a
13:20 carlin Illegal attempt to pop empty temporary root stack - https://gist.github.com/carbin/595b569fb120657eda8a
13:25 dalek roast: 9e5f4bc | (Elizabeth Mattijsen)++ | S17-procasync/print.t:
13:25 dalek roast: Add .print/.say test: needs TODO  :-(
13:25 dalek roast: review: https://github.com/perl6/roast/commit/9e5f4bc854
13:25 dalek rakudo/nom: 8002629 | (Elizabeth Mattijsen)++ | t/spectest.data:
13:25 dalek rakudo/nom: Add Proc::Async .print test, for moar only
13:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8002629ee3
13:28 [Coke] is nqp-js standalone or does it require a cross compiler still?
13:30 brrt FROGSS++ for very awesome persistence
13:33 nwc10 brrt: what did FROGGS do this time?
13:33 jnthn evening, #perl6
13:33 lizmat jnthn o/
13:33 nwc10 good UGT heresey, jnthn
13:34 * lizmat hopes jnthn had dinner and beer
13:34 * [Coke] wonders if nwc10 means "heresy"
13:34 nwc10 [Coke]: almost certainly
13:35 * jnthn discovered Sichuanese bacon rice! o.O
13:35 dalek nqp-js: 78ed2ac | (Pawel Murias)++ | src/vm/js/ (3 files):
13:35 dalek nqp-js: Pass test 40.
13:35 dalek nqp-js:
13:35 dalek nqp-js: Implement nqp::ishash, converting "foobar" to a number gives 0 now.
13:35 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/78ed2ac514
13:36 FROGGS pmurias: I've no idea how to do that... so it would be very hard for *me* :/
13:38 fhelmberger joined #perl6
13:38 masak aww, too bad the "Perl 6" example last in http://www.frantic.com/notes/Perl-6---Is-it-there-yet--151.html doesn't actually work as intended in Perl 6 :/
13:38 yoleaux 08:56Z <Ven> masak: http://www.wilfred.me.uk/blog/2014/09/15/comparative-macrology/
13:38 * masak looks
13:39 pmurias [Coke]: currently cross compiling on top of moarvm
13:40 brrt FROGGS is apparantly disecting a parakudo bug
13:40 brrt nwc10 ^
13:41 kaleem joined #perl6
13:43 * lizmat wonders what the "PSA" stands for at S01:82
13:43 * synopsebot Link: http://perlcabal.org/syn/S01.html#line_82
13:43 tadzik Public Service Announcement?
13:44 lizmat "RFCs are rated on "PSA"   ?
13:44 FROGGS P is for Problem I think
13:44 jnthn Problem, Solution, Acceptabnce
13:44 FROGGS yeah
13:44 FROGGS was about to say
13:44 FROGGS :o)
13:44 firnsy joined #perl6
13:45 [Coke] S99:PSA
13:45 synopsebot Link: http://perlcabal.org/syn/S99.html#PSA
13:45 Timbus_ masak, 4 ~~ @array doesn't work?
13:45 cognome joined #perl6
13:45 [Coke] there's some S99:LHF
13:45 synopsebot Link: http://perlcabal.org/syn/S99.html#LHF
13:46 masak m: my @array = <a b c d>; say 4 ~~ @array
13:46 camelia rakudo-moar f48eb1: OUTPUT«False␤»
13:46 dalek specs: ed4cd1e | (Elizabeth Mattijsen)++ | S99-glossary.pod:
13:46 dalek specs: Add PSA lemma
13:46 dalek specs: review: https://github.com/perl6/specs/commit/ed4cd1effb
13:47 masak m: my @array = 4, 4, 4, 4; say 4 ~~ @array
13:47 camelia rakudo-moar f48eb1: OUTPUT«False␤»
13:47 jnthn lizmat: https://github.com/perl6/specs/commit/5123177528 feels like a step backwards, in so far as I'd rther we tried to eliminate cases where an adverb changes the return type of things, not add more of them...
13:47 masak Timbus_: is that "doesn't work" enough for you? :)
13:47 Timbus_ i see
13:47 masak Timbus_: in Perl 6, the rhs decides on the matching semantics.
13:47 masak Timbus_: this is the thing that got realized/corrected after Perl 5 amicably side-stole smartmatching.
13:47 lizmat jnthn: but they both return a Supply, regardless of named param ?
13:48 masak Timbus_: before then, the ideal was a misguided aim for symmetry.
13:48 [Coke] lizmat++
13:48 jnthn lizmat: Supply isn't the real type
13:48 masak Timbus_: but even under that interpretation, it was kind of a stretch to have $elem ~~ @array mean "is it in the array?"
13:48 Timbus_ yeah, ~~ has been quite a problem for both 5 and 6
13:48 jnthn lizmat: I mean, it *is*, but it's not the type the programmer cares about.
13:48 lizmat S17:1024
13:48 synopsebot Link: http://perlcabal.org/syn/S17.html#line_1024
13:48 masak Timbus_: I wouldn't say it's been a problem for 6.
13:49 nine But all people really wanted from ~~ was Python's "in" operator.
13:49 lizmat "Getting information back from the external process's C<STDOUT> or C<STDERR>, is done by a C<Supply> that either gets characters or bytes."
13:49 PerlJam nine: you mean "P5 people"?
13:49 nine PerlJam: yes.
13:49 masak m: say 3 (in) [2, 3, 5, 6]
13:49 camelia rakudo-moar f48eb1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/AdiZDD3eZ4â�¤Two terms in a rowâ�¤at /tmp/AdiZDD3eZ4:1â�¤------> [32msay 3 [33mâ��[31m(in) [2, 3, 5, 6][0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or me…»
13:49 masak m: say 3 (elem) [2, 3, 5, 6]
13:49 camelia rakudo-moar f48eb1: OUTPUT«True␤»
13:49 masak \o/
13:50 nine PerlJam: I'm sure smartmatch is a lot smarter in Perl 6. But on the other hand "in" is all I ever really missed in P5.
13:50 masak m: say 3 ∈ [2, 3, 5, 6]
13:50 Timbus_ well in perl5 people use 'grep' to mean 'in', knowing it might be suboptimal. in perl 6 you can do the same and it works
13:50 camelia rakudo-moar f48eb1: OUTPUT«True␤»
13:50 PerlJam nine: aye.
13:50 PerlJam (me too :)
13:50 jnthn lizmat: It's kinda like arguing that something returning a Buf or a Str dependin gon adverb is OK because both are storable in a Scalar...
13:50 Timbus_ and last i tested its optimal, due to laziness
13:51 masak well, those of you who missed "in", see ∈  and (elem) above.
13:51 jnthn lizmat: Supply and Promise are just asynchronous container types rather than the type of data involved in the operation, so I tend to consider them "transparent"
13:51 nine masak: that's cute :) Would be even better if there was a ∈ key on my keyboard...
13:52 lizmat jnthn: I guess I look at it differently then
13:52 nine But (elem) is just fine as well
13:52 lizmat it's more like an addition to $, @ and % to me
13:52 pmurias http://research.microsoft.com/en-us/projects/liveprogramming/typography.aspx - one way to handle stuff that's not typable on a keyboard
13:52 lizmat also transparant, but the same for both cases
13:53 pmurias in the Operators section
13:54 jnthn lizmat: Well, that's not a bad wy to look at it, given that I think if we had things where you get an Array[Int] back normally, but an Array[Str] if you wrote an adverb, we'd likely consider it LTA design
13:55 pmurias jnthn: do we have something in nqp land to create a temporary file?
13:55 jnthn pmurias: No
13:56 lizmat jnthn: and what about :bin on open() ?
13:56 jnthn pmurias: If you mean the "unique name" part
13:56 lizmat how is that different from Proc::Async.new.stdout(:bin) ?
13:56 pmurias a "unique name" part is what I'm looking for
13:57 lizmat from the IO::Handle\'s outside youc can't see it's in bin mode
13:57 jnthn lizmat: You get a file handle back either way. What's more notable is that you use .get and .lines for a chars view, and .read for a Buf view
13:57 jnthn Opening a file as :bin and doing .get is probably erroneous.
13:58 jnthn I ain't defending :bin there, though]
13:58 lizmat agree....
13:58 jnthn That's not a particularly great bit of design either.
13:58 pmurias jnthn: I want add a --target=node, so "nqp-js --target=node -e 'Hello'" would work like "nqp-js --target=js -e 'Hello' | node"
13:59 lizmat jntthn: hysterical raisins, yes
13:59 jnthn For chewing through binary data it'd be much nicer to have an API that was good for reading in binary data
13:59 pmurias jnthn: but writing to a tmp file and the calling "node tmp" would be fine too
14:00 jnthn pmurias: Yeah. Well, I think PID and nqp::time_n() together would give you a sufficienlty unique thing.
14:02 bcode joined #perl6
14:03 firnsy joined #perl6
14:07 brrt left #perl6
14:08 lizmat jnthn: by the way, when testing this functionality, I found problems:
14:08 lizmat t/spec/S17-procasync/print.t   # has 3 todo tests because the .print is not arriving in the async process apparently
14:09 lizmat If I'm doing something wrong, let me know
14:11 Rotwang joined #perl6
14:14 jnthn lizmat: I assume you are await'ing the Promise that print returns?
14:15 lizmat checking if that makes a diff
14:15 jnthn isa_ok $pc.print( "Hello World" ), Promise;
14:15 jnthn Looks like it's being thrown away
14:17 lizmat yes, as I'm waiting for the proc's start Promise at the end
14:18 lizmat hmmm... getting "This process is not opened for write" now
14:19 jnthn Right, meaning you were discarding that error beforehand, I guess?
14:19 lizmat the promise for print is roken
14:19 lizmat broken
14:19 lizmat I guess so
14:19 lizmat hmmm...
14:19 jnthn Hm, does the test open the process with :w?
14:19 jnthn ah, seems not
14:20 lizmat ah...
14:20 jnthn So it doesn't open the handle to its stdin.
14:20 jnthn So, quite accurate error :)
14:20 lizmat indeed, so that's what :w is for
14:20 lizmat not specced yet  :-)
14:20 lizmat will do in a mo
14:21 jnthn Cool
14:21 jnthn Happy ot see tests/spec :)
14:21 lizmat hmmm... it appears that the note is not going to STDERR
14:23 skids joined #perl6
14:24 kaare_ joined #perl6
14:24 lizmat isn't the Promise of the P::A.start supposed to return the Proc::Status object ?
14:24 jnthn yes
14:25 lizmat ok
14:25 lizmat ah, I see what's wrong
14:26 jnthn errand, bbi10
14:33 anaeem1 joined #perl6
14:38 treehug88 joined #perl6
14:39 fhelmberger joined #perl6
14:42 kjs_ joined #perl6
14:43 * jnthn back
14:43 dalek roast: 34cf39f | (Elizabeth Mattijsen)++ | S17-procasync/print.t:
14:43 dalek roast: Properly wait for .print/.say, jnthn++
14:43 dalek roast: review: https://github.com/perl6/roast/commit/34cf39f6e8
14:43 lizmat jnthn: the stdout test is flapping
14:43 lizmat if it flaps, it only contains "Hello World"
14:44 lizmat and misses the "Started" and "Done"
14:44 lizmat now, the "Done" I can sort of understand, maybe
14:44 lizmat hmmm....
14:44 lizmat but losing the "Started"  ?
14:44 guru joined #perl6
14:45 jnthn Sounds odd
14:45 jnthn lemme look at latest
14:45 cognome joined #perl6
14:47 jnthn lizmat: Yes, something odd must be going on :S
14:48 Ven joined #perl6
14:48 Ven pmurias: https://github.com/pmurias/nqp-js/commit/2e2538d8c9 are you sure that's the correct behavior?
14:48 Ven m: say (1, 2, 3)[-1]; # no negative
14:48 camelia rakudo-moar 800262: OUTPUT«Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1]␤  in method gist at src/gen/m-CORE.setting:13496␤  in sub say at src/gen/m-CORE.setting:15106␤  in block <unit> at /tmp/G6LLqQULMJ:1␤␤»
14:48 dalek specs: 59a1d61 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
14:48 dalek specs: Better spec :ENV and :w for Proc::Async.new
14:48 dalek specs: review: https://github.com/perl6/specs/commit/59a1d61759
14:48 Ven pmurias: Also, you might want to use a Map rather than just an object for p6hashes
14:49 Ven m: class A{}; my %h; %h{A.new} = 5; say %h
14:49 camelia rakudo-moar 800262: OUTPUT«"A<140474676297232>" => 5␤»
14:49 Ven ^ in JS, keys have to be strings (though we're doing something similar in p6?)
14:52 * Ven backlogs once in a while
14:58 hoelzro o/ #perl6
14:58 PerlJam greetings hoelzro
15:02 ajr joined #perl6
15:02 mberends joined #perl6
15:04 lizmat cycling&
15:07 brrt joined #perl6
15:13 pmurias Ven: generally speaking nqp::existpos should die
15:13 pmurias * existspos
15:13 Ven pmurias: should it?
15:13 pmurias die as in be removed
15:14 bjz joined #perl6
15:14 pmurias the whole "sparse" array behavior can be just implemented in the Perl 6 layer without a low-level nqp::existspos support
15:15 pmurias Ven: but there is a test for negative indexes being passed to nqp
15:16 Ven oh, I see.
15:16 pmurias https://github.com/perl6/nqp/blob/master/t/nqp/59-nqpop.t#L141
15:17 pmurias as far as I know in nqp hash keys are strings, and the objects as keys support in done in the Perl 6 setting
15:17 Woodi joined #perl6
15:17 pmurias but good to know someone is reading the commits ;)
15:20 Ven Always :).
15:20 Ven sorry for the noise
15:22 dalek nqp: db41176 | jonathan++ | tools/build/MOAR_REVISION:
15:22 dalek nqp: Get a MoarVM with profiling improvements.
15:22 dalek nqp: review: https://github.com/perl6/nqp/commit/db41176363
15:23 firnsy joined #perl6
15:23 firnsy joined #perl6
15:23 dalek rakudo/nom: 90288f9 | jonathan++ | / (2 files):
15:23 dalek rakudo/nom: Mark various extops up as allocating.
15:23 dalek rakudo/nom:
15:23 dalek rakudo/nom: We missed these in the allocation profile before now, and they can be
15:23 dalek rakudo/nom: very significant sources of objects. Includes version bump to get the
15:23 dalek rakudo/nom: MoarVM additions to support this.
15:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/90288f9e5f
15:24 chenryn joined #perl6
15:27 mr-foobar joined #perl6
15:36 eternaleye joined #perl6
15:36 FROGGS jnthn: can you take a look into that please before you go to bed? https://github.com/rakudo/rakudo/commit/510e68d0c0#commitcomment-7780349
15:41 jnthn FROGGS: Not sure what you're meaning on the hllize bit off hand; a method call includes emitting a hllize
15:41 brrt left #perl6
15:41 FROGGS ahh, okay, nice :o)
15:42 FROGGS jnthn: I guess I am asking how to sneak a Parcel into $!list instead of the Array
15:42 FROGGS as seen in the .DUMP
15:42 anaeem1_ joined #perl6
15:44 jnthn FROGGS: Hmm, is that not coming from the @EMPTY_LIST?
15:44 jnthn FROGGS: In which case, my @EMPT_LIST := infix:<,>() may do it
15:44 FROGGS jnthn: ohh, that could be it indeed
15:45 FROGGS I've not thought about @EMPTY_LIST at all :o)
15:45 cognome joined #perl6
15:48 jnthn :)
15:48 jnthn Hope it helps a bit
15:48 * jnthn should rest now...
15:49 pat_js joined #perl6
15:50 FROGGS jnthn: thank you :o)   and sleep well
15:51 FROGGS[mobile] joined #perl6
15:56 ajr_ Is this  http://www.theregister.co.uk/2014/09/15/freenode_irc_users_warned_breach/  relevant?
16:02 pmurias virtualsue: if you have any questions about nqp-js don't hesitate to ask, I tend to backlog the channel (or at least skim the log for mention of my name / nqp-js)
16:03 jnthn pmurias: Was that for Ven? :)
16:03 virtualsue probably :)
16:05 pmurias yes
16:05 pmurias virtualsue: sorry
16:05 virtualsue no worries
16:05 pmurias virtualsue: but if you have any questions about nqp-js feel free to ask anyway ;)
16:09 [Sno] joined #perl6
16:09 * jnthn drops http://jnthn.net/tmp/hk.jpg for anybody who likes city views by night (was from this weekend in hong kong :))
16:09 jnthn 'night, #perl6
16:14 FROGGS joined #perl6
16:18 telex joined #perl6
16:19 eternaleye joined #perl6
16:22 dalek nqp-js: 41259ee | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
16:22 dalek nqp-js: Remove considered TODO.
16:22 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/41259ee6e2
16:22 dalek nqp-js: 1c41a1e | (Pawel Murias)++ | src/vm/js/ (3 files):
16:22 dalek nqp-js: Pass test 41.
16:22 dalek nqp-js:
16:22 dalek nqp-js: Implement foo(|%named).
16:22 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/1c41a1ee73
16:23 cognome joined #perl6
16:23 araujo joined #perl6
16:33 eternaleye joined #perl6
16:35 jaffa4 joined #perl6
16:39 jaffa4 hi all
16:39 jaffa4 it is the same: Calling 'Print_c' will never work with argument types (Draw, RichText, Rect, IntTypedCArray[int32])
16:39 jaffa4 Expected: :(Draw $w, RichText $text, Rect $page, IntTypedCArray[int32] $pagelist)
16:39 jaffa4 when the same is not the same
16:45 kaleem joined #perl6
16:47 Timbus_ m: Thread.new(code => {IO::Socket::Async.listen('127.0.0.1', 1234)}).run; say "Ok";
16:47 camelia rakudo-moar 90288f: OUTPUT«Ok␤Illegal attempt to pop empty temporary root stack␤»
16:47 Timbus_ narrowed it down for you, carlin
16:47 eternaleye joined #perl6
16:48 liztormato joined #perl6
16:49 liztormato jaffa4: Pretty sure that Type[int32] is not completely implemented
16:55 Timbus_ i dont know for sure but, isn't the typecheck here meant for the perl6 side of things?
16:56 Timbus_ like, you could use IntTypedCArray[Int] and it should be fine?
16:58 ggoebel1111118 joined #perl6
16:59 FROGGS[mobile] liztormato: these types do work in nativecall
16:59 FROGGS jaffa4: can you provide a short script that shows the problem?
17:00 FROGGS jaffa4: the problem might be about how you create that array or so
17:00 jaffa4 IntTypedCArray[Int] comes in as an argument as passed in as an arguement
17:01 FROGGS I don't understand that sentence
17:01 tony-oo timotimo: whats up
17:02 FROGGS jaffa4: ahh, you are literally passing IntTypedCArray[Int] ?
17:03 eternaleye joined #perl6
17:04 jaffa4 froggs... http://pastebin.com/4BctuHNR
17:05 guru joined #perl6
17:09 jaffa4 how can I initialise a CArray with a perl array?
17:09 FROGGS jaffa4: loop over the elems and .push to the CArray or set the values by index
17:10 jaffa4 FROGGS:  can you see the paste?
17:11 denis_boyun_ joined #perl6
17:11 FROGGS jaffa4: yes, and I think you should not pass a CArray[int32] type object, only pass instances
17:12 jaffa4 is it a bug, right/
17:12 FROGGS so, you sub should be like: multi sub Print(Draw $w,RichText $text,Rect $page,CArray[int32]:D $pagelist)
17:12 FROGGS jaffa4: yes, sort of
17:12 jaffa4 It cannot be multi , it is not implemented yet
17:13 spider-mario joined #perl6
17:13 jaffa4 CArray[int32]:D?
17:13 jaffa4 D?
17:13 FROGGS for Defined
17:16 denis_boyun joined #perl6
17:18 FROGGS jaffa4: okay, I can confirm it is a bug
17:19 FROGGS jaffa4: it looks like removing the type annotation (CArray[int32]) of the Print sub helps...
17:20 jaffa4 not sure what you mean
17:20 eternaleye joined #perl6
17:20 jaffa4 What is the final look for both functinos?
17:20 liztormato left #perl6
17:23 FROGGS -multi sub Print(Draw $w,RichText $text,Rect $page,CArray[int32] $pagelist) {
17:23 FROGGS +multi sub Print(Draw $w,RichText $text,Rect $page, $pagelist) {
17:23 FROGGS change sub Print like that
17:28 zakharyas joined #perl6
17:30 jaffa4 yes, that is effective
17:32 eternaleye joined #perl6
17:36 FROGGS joined #perl6
17:43 eternaleye joined #perl6
17:56 [Coke] moritz, diakopter: I can't ssh to host08: ssh_exchange_identification: Connection closed by remote host
17:57 [Coke] looks like 7 is still up, though.
17:59 timotimo hey tony-o
17:59 timotimo nice to see you're here; i'll have to be AFK for a bit before we can talk
17:59 timotimo tony-o: the core of my problem is i don't want there to be a $data ~= $read_character loop when i turn a http connection into a websocket one
18:00 timotimo also, that connection wants to handle binary data properly, as websockets also support binary frames
18:00 timotimo (and the framing itself uses binary data in the headers)
18:03 guru joined #perl6
18:08 slmult0 joined #perl6
18:09 dwarring joined #perl6
18:16 tphilipp joined #perl6
18:17 joescript joined #perl6
18:19 tphilipp left #perl6
18:19 tphilipp joined #perl6
18:20 btyler joined #perl6
18:23 baest_ joined #perl6
18:24 tphilipp left #perl6
18:26 denis_boyun joined #perl6
18:26 slmult0 joined #perl6
18:34 [Sno] joined #perl6
18:35 * rindolf thinks that TimToady should totally do an http://www.reddit.com/r/IAmA .
18:38 PerlJam rindolf: What good would that serve exactly?
18:40 huf he could talk about rampart
18:40 jack_rabbit joined #perl6
18:42 rindolf PerlJam: publicity.
18:42 rindolf PerlJam: and fame and fortune.
18:43 rindolf PerlJam: Larry Wall is a star.
18:44 PerlJam rindolf: he's also a finite resource that we should be careful about "over-spending"
18:45 rindolf PerlJam: well, it's worth it.
18:49 nine rindolf: looks more like a place for attention whores. Which is the diametrical opposite of TimToady :)
18:52 rindolf nine: well , it'll be good  for Perl and Perl 6.
18:54 nine rindolf: [citation needed]
18:55 rindolf nine: good publicity.
18:57 kjs_ joined #perl6
19:03 slmult0 joined #perl6
19:07 brrt joined #perl6
19:09 brrt why... don't you just ask him? he's here often enough :-)
19:10 huf i think it would just descend into a "more than 10 years huehuehue"-fest
19:20 * lizmat is surprised to see rindolf is worrying about Perl 6
19:20 lizmat none of his essays / blog posts / show this concern
19:20 lizmat is he changing is opinion ?
19:20 lizmat *his
19:21 brrt well, no surprise given perl6 awesomeness
19:21 brrt :-)
19:23 brrt i'm never on reddit anymore. and hacker news has gotten boring too
19:24 dalek Inline-Perl5: 086acaa | nine++ | / (3 files):
19:24 dalek Inline-Perl5: Translate Perl 5 exceptions to Perl 6 exceptions in run()
19:24 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/086acaaa7c
19:24 dalek Inline-Perl5: 23f8ee1 | nine++ | / (3 files):
19:24 dalek Inline-Perl5: Handle Perl 5 exceptions when calling Perl 5 functions
19:24 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/23f8ee1d31
19:24 dalek Inline-Perl5: fc91c47 | nine++ | / (3 files):
19:24 dalek Inline-Perl5: Handle exceptions when calling Perl 5 package methods
19:24 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/fc91c471af
19:24 dalek Inline-Perl5: 2c8211e | nine++ | / (3 files):
19:24 dalek Inline-Perl5: Handle exceptions when calling Perl 5 object methods
19:24 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/2c8211e718
19:24 FROGGS brrt: thedailywtf is still good though :o)
19:24 dalek specs: 4559fe7 | (Elizabeth Mattijsen)++ | S01-overview.pod:
19:24 dalek specs: Emphasize the letters of the acronym PSA
19:24 dalek specs: review: https://github.com/perl6/specs/commit/4559fe7ec1
19:24 * brrt hasn't visited that in long
19:27 FROGGS brrt: don't do that now! you'll just waste time!! :P
19:28 brrt true :-)
19:28 dalek specs: aebbc76 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
19:28 dalek specs: Add lemma for PPI
19:28 dalek specs: review: https://github.com/perl6/specs/commit/aebbc76a8f
19:29 mattp_ joined #perl6
19:29 eternaleye joined #perl6
19:30 nine brrt: better write awesome code instead so others can write about your deeds :)
19:31 kurahaupo joined #perl6
19:32 dalek specs: 581b3d2 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
19:32 dalek specs: Add lemma stub for pragma
19:32 dalek specs: review: https://github.com/perl6/specs/commit/581b3d2603
19:32 timotimo I forgot to take into account the size differences between eu and us when telling the gsoc my shirt size...
19:32 virtualsue joined #perl6
19:33 FROGGS timotimo: common mistake *g*
19:34 FROGGS I almost got mine today
19:35 treehug88 joined #perl6
19:37 lizmat hmmm...t/spec/integration/advent2009-day04.t hangs on HEAD on OSX
19:38 lizmat but only when run from make ?
19:38 brrt timotimo: too large or too small
19:38 * hoelzro parsed that as "bangs HEAD on OSX"
19:38 brrt bbiab
19:39 lizmat hoelzro  o/  and :-)
19:39 hoelzro o/ lizmat!
19:39 lizmat well, that test file is not really special...  :-(
19:40 mattp_ joined #perl6
19:42 slmult0 joined #perl6
19:44 lizmat apparently only hangs when done in the spectest  :-(
19:52 diakopter m: say 3
19:52 lizmat three
19:53 diakopter aw, I guess host08 is offline; boo
19:53 lizmat yup, no camelia
19:54 diakopter hm, java caused out of memory
19:54 diakopter bad rakudo-jvm/evalserver
19:55 lizmat I guess it wasn't properly limited
19:56 diakopter rebuted
19:58 lizmat diakopter++
20:02 dalek specs: 0f271d7 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
20:02 dalek specs: Steal the first line for P5's perlpragma
20:02 dalek specs: review: https://github.com/perl6/specs/commit/0f271d74ea
20:03 camelia joined #perl6
20:03 diakopter bleh
20:03 diakopter m: say 3
20:04 lizmat Camelia still not online  :-(
20:04 diakopter she's waking up
20:04 camelia rakudo-moar 90288f: OUTPUT«(timeout)»
20:04 diakopter m: say 3
20:04 camelia rakudo-moar 90288f: OUTPUT«(timeout)»
20:04 diakopter heh
20:05 xragnar_ joined #perl6
20:05 diakopter m: say 3
20:05 camelia rakudo-moar 90288f: OUTPUT«3␤»
20:05 dalek Inline-Perl5: 1dd6c2f | nine++ | / (3 files):
20:05 dalek Inline-Perl5: Handle exceptions thrown in Perl 6 code called from Perl 5
20:05 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/1dd6c2fcaa
20:06 nine Darn....I actually didn't want to implement this ^^^ today, but I couldn't stop once I was coding :)
20:06 lizmat nine: so how do we call P6 code from P5 (inside P6) ?
20:07 cognome joined #perl6
20:07 timotimo brrmake an educated guess :)
20:07 nine lizmat: $p5.run(q/ sub foo { my $foo = shift; $foo->bar } /); class Foo { method bar { say "hello"; } }; $p5.call('foo', Foo.new);
20:08 brrt joined #perl6
20:08 timotimo maybe it's time to write that weekly now ...
20:09 lizmat :-)
20:09 lizmat ++timotimo
20:09 brrt lizmat: one of the differences between spectest and direct runningis the handling of file handles
20:09 timotimo nine: can you give me a little summary of what Inline::Perl5 can already do?
20:09 timotimo or is there perhaps a showcase example program that tries to show off everything?
20:09 tony-o timotimo: let me look at my source again so i can get some context
20:09 yoleaux 4 Sep 2014 21:17Z <timotimo> tony-o: i'm going to play around with your HTTP::Server::Async for a bit :)
20:09 yoleaux 4 Sep 2014 21:29Z <timotimo> tony-o: it seems like your documentation and implementation disagree on the handling of the responsestack; your documentation says the sub should return True or False to influence further processing on the request, but the implementation seems to ignore the return value
20:09 yoleaux 12 Sep 2014 09:53Z <timotimo> tony-o: i'm looking more into perl6-http-server-async and i'm not entirely sure how request.parse works. also, is it a good idea to try to re-parse the whole request string every time a new byte arrives?
20:09 yoleaux 12 Sep 2014 09:58Z <timotimo> tony-o: i get it now; this is just because i asked you to make data lazy, and since we still need to handle chunked encoding, that still has to run every time ...
20:09 yoleaux 12 Sep 2014 10:00Z <timotimo> tony-o: i think this is wrong, though: the chunked encoding thingie looks at %headers, but if $!headercomplete is set, it'll never assign anything to %headers. in fact, i see no code at all that assigns to %.headers in Request.pm6 ?!
20:09 timotimo spam spam spam :)
20:09 timotimo .botsnack
20:09 yoleaux :D
20:10 tony-o oops
20:10 diakopter .bostonack
20:10 nine timotimo: the README has examples of everything but the exception handling I just added: https://github.com/niner/Inline-Perl5
20:11 nine timotimo: and exception handling works just like you'd expect in both languages. Use eval { } in Perl 5 and try/CATCH in Perl 6 :)
20:11 eternaleye joined #perl6
20:11 timotimo fuck yeah :)
20:11 timotimo exception handling works in both directions already?
20:11 nine timotimo: yes
20:12 timotimo cool
20:13 tony-o timotimo: the request only reparses headers if it didn't receive a \r\n\r\n
20:13 brrt which uhm, if i recall correctly was also the issue of blocking restricted.setting
20:14 * brrt isn't doing much here but retelling information he vaguely heard
20:14 virtualsue joined #perl6
20:14 dalek Inline-Perl5: 60097f0 | nine++ | t/exceptions.t:
20:14 dalek Inline-Perl5: Add a test for P6 exception passed through P5 back to P6 to catch.
20:14 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/60097f0b2b
20:14 timotimo tony-o: it's not the re-parsing i'm worried about
20:15 timotimo nothing is untapping the piece of code that does $data ~= $received
20:15 PerlJam nine: Are you going to make Inline::Perl6 for P5 too?  :)
20:15 tony-o it also doesn't assign anything to the request or mark it complete if it doesn't get \r\n\r\n
20:15 timotimo i'm not entirely sure, but i think that's quadratic
20:15 nine PerlJam: I'm....not sure :)
20:16 nine PerlJam: Inline::Perl6 would have to decide which Perl6 to actually embed.
20:16 PerlJam moarvm is reasonably small  ;)
20:17 lizmat nine: the same applies for installations with multiple versions of perllib
20:17 tony-o timotimo: does the untap need to happen when i close the connection?
20:18 tony-o or are you talking about before hand
20:18 tony-o before i realize that it might be a websock
20:18 nine lizmat: Inline::Perl5 will build with the perl you have in your $PATH. That's easy. But there is no _one_ Perl 6. There's Rakudo and maybe others. And even Rakudo comes with different backends with widely different embedding options.
20:19 lizmat but there *could* be just one perl6 in your path, no?
20:19 lizmat you would just need to find out from there where the lib lives
20:20 tony-o timotimo: the documentation is wrong now for the registered callback, i'm updating the readme
20:20 PerlJam nine: you should just bundle rakudo+nqp+moarvm with Inline::Perl6
20:20 PerlJam (at least for the first approximation)
20:21 nine lizmat: the problem is, you need to support different backends. Or just require Rakudo MoarVM. Though I've no idea if there is even some embedding support for MoarVM. Right now it might even be easier to embed Rakduo+JVM since there's already an Inline::Java for Perl 5.
20:21 PerlJam nine: oh, that's a good point too.
20:21 diakopter yes, moarvm builds a shared library by default
20:22 b2gills joined #perl6
20:22 nine I'm not 100 % sure if it's even worth it. One can just wrap the existing code in an Inline::Perl5::run call and set up some hooks to get back to Perl 6. It's how I wrote a Catalyst action in Perl 6 for one of our existing code bases.
20:22 kjs_ joined #perl6
20:22 nine diakopter: then I guess all it needs is some documentation on how to use it :)
20:23 diakopter it supports only one MVMInstance per process, though it's meant to support more someday, probably
20:23 PerlJam nine: the "worth it" part for me is that Inline::Perl6 lets the P5 programmer ease into P6 in a highly controlled manner without stepping too far outside of the P5 box.
20:23 denis_boyun___ joined #perl6
20:24 PerlJam nine: at least, if I had the gumption to do it, that would be why.
20:24 diakopter the only tricky part of it would be getting the right headers included properly, though if you look at the Makefile for the main entry point in the moar executable, you'd simply copy how that does it
20:25 diakopter (and load the perl6.moarvm from the right place)
20:25 nine PerlJam: depends on if "use Inline::Perl5; use My::Hooks; my $p5 = Inline::Perl5.new; My::Hooks::setup_hooks($p5); $p5.run(q/ ... your P5 code here ... /);" in your main script is too far outside your P5 box.
20:26 diakopter so you'd need to configure/incorporate the proper libpath entries when loading the perl6.moarvm
20:26 nine diakopter: I really like how perl tells you exactly how you have to compile your code so you can embed it.
20:27 PerlJam nine: Say I'm a P5 programmer with a largist app already written in P5 and I learn about some neat P6 feature that I want to use.   I think I'd rather leave my app mostly as-is and add a little piece that calls Inline::Perl6.
20:27 diakopter well, it could be made easier, but moarvm is _just_ _as_ flexible as parrot when it comes to multilanguage, so it's just as flexible when embedding...
20:27 PerlJam s/ist/ish/
20:28 diakopter nine: thing is, such embedding instructions would be not much less involved than making Inline::Perl6 (the way you've described it) itself, imho
20:32 dolmen joined #perl6
20:35 kst joined #perl6
20:38 dalek roast: 9781ce0 | (Elizabeth Mattijsen)++ | S02-magicals/KERNEL.t:
20:38 dalek roast: Properly skip signal related tests on parrot/jvm
20:38 dalek roast: review: https://github.com/perl6/roast/commit/9781ce0484
20:42 * [Coke] sees that 08 is back for 42 minutes and has what looks like dead cron jobs on it. Coke re-runs today's runs.
20:43 [Coke] diakopter++, probably.
20:43 diakopter something like that
20:44 diakopter moritz will probably restart the evalbot the proper way later ;)
20:44 lizmat indeed, but you might want to check with diakopter whether it was the cronjob that killed 08
20:44 * diakopter doesn't know and doesn't know how to find out
20:44 diakopter [with available time/attention resources]
20:45 [Coke] they've been running on 07 for months with no issues.
20:45 [Coke] and 08 is a bigger box.
20:45 lizmat [Coke]: ok
20:46 PerlJam .oO( maybe it just looks bigger from the outside )
20:46 lizmat m: class A { has constant $.pi = 22/7 }; say A.new.pi   # from S03:5176
20:46 synopsebot Link: http://perlcabal.org/syn/S03.html#line_5176
20:46 camelia rakudo-moar 90288f: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/owyMOn1gYIâ�¤Virtual call $.pi may not be used on partially constructed objectsâ�¤at /tmp/owyMOn1gYI:1â�¤------> [32mclass A { has constant $.pi[33mâ��[31m = 22/7 }; say A.new.pi   # from S03:517…»
20:46 synopsebot Link: http://perlcabal.org/syn/S03.html#line_517
20:46 lizmat std: class A { has constant $.pi = 22/7 }
20:46 lizmat :-(
20:47 lizmat that was a shortlived butterfly  :-(
20:47 camelia joined #perl6
20:48 [Coke] more cores, anyway
20:48 [Coke] (and I didn't expand to use more I'm being good. everything is ulimited, so if a spec test goes crazy, it'll get killed eventually)
20:49 [Coke] diakopter: I've completely moved off 07, btw.
20:49 camelia std : OUTPUT«Can't chdir to '/home/p6eval/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 163.␤     EvalbotExecuter::_auto_execute('HASH(0x1944cf0)', 'class A { has constant $.pi = 22/7 }', 'GLOB(0x184c470)', '/tmp/DQv85VayPN', 'std') called at lib/EvalbotExecuter.…»
20:49 dalek rakudo/nom: de16265 | (Elizabeth Mattijsen)++ | src/core/Num.pm:
20:49 dalek rakudo/nom: We have empty set ∅, then why not have π as well?
20:49 dalek rakudo/nom:
20:49 dalek rakudo/nom: Not for parrot, to prevent heat death parsing times.
20:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/de1626553c
20:49 lizmat std: class A { has constant $.pi = 22/7 }
20:49 diakopter [Coke]: ok cool, thanks
20:50 diakopter camelia reports Lost connection to server irc.freenode.org.
20:50 lizmat ok, seems doing something with std: kills camelia
20:50 timotimo tony-o: the point is that we can't close the connection when we turn the connection into a websocket
20:50 lizmat seems like an oversight in the move to 08
20:50 camelia joined #perl6
20:51 [Coke] r: say π
20:51 lizmat [Coke]: will need some time
20:52 camelia std : OUTPUT«Can't chdir to '/home/p6eval/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 163.␤     EvalbotExecuter::_auto_execute('HASH(0x1944cf0)', 'class A { has constant $.pi = 22/7 }', 'GLOB(0x1b9fcc0)', '/tmp/axmfKHx9Ko', 'std') called at lib/EvalbotExecuter.…»
20:52 camelia rakudo-jvm 90288f: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
20:52 camelia ..rakudo-{parrot,moar} 90288f: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    Ï€ used at line 1â�¤â�¤Â»
20:53 eternaleye joined #perl6
20:56 btyler (backlogging) RE '-' usage in names, it's something that started to stick to my fingers very quickly. I was writing hyphenated names in p5 without thinking about it until the compiler barked at me
20:58 timotimo can someone see if the pull request for perl6/modules.perl6.org works properly and merge it if it does?
21:00 [Coke] another install-related borkage. If you rebuild rakudo in your build directory and cause new versions of your vm & nqp to be installed, you have a period of time where your installed perl6 isn't valid, right? (since there's a mismatch of the installed versions of the 3 tiers)
21:01 FROGGS [Coke]: only for parrot and nqp-*
21:01 lizmat [Coke]: maybe the same trick as the empty_set can be used to create π
21:02 [Coke] FROGGS: also moar.
21:02 FROGGS [Coke]: no, usually not
21:02 [Coke] just verified. i reconfig'd, which installed nqp... which means my globally installed "perl6" is now borked until I happen to finish building rakudo-moar (here's hoping HEAD builds!) :(
21:02 tony-o timotimo got ya- i'll look at how that would work
21:02 [Coke] FROGGS: it's happening right now.
21:02 [Coke] I run my installed perl6, I get:
21:02 [Coke] $ perl6
21:02 [Coke] Unhandled exception: Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp' at <unknown>:1  (/Users/williamcoleda/perl6/languages/nqp/lib/Perl6/Pod.moarvm:<dependencies+deserialize>:237)
21:03 timotimo thanks :)
21:03 FROGGS [Coke]: correct, you have an nqp<->rakudo mismatch
21:03 [Coke] FROGGS: THAT IS WHAT I AM SAYING, YES.
21:03 timotimo but i'm discovering i was only really using that as a reason to procrastinate work on my project
21:03 [Coke] that the build/install process is borked that it allows that.
21:03 FROGGS [Coke]: though, you can happily pull and reconfigure and make install moar without such a problem
21:04 [Coke] ... which I am not complaining about.
21:05 PerlJam [Coke]: you would have it build everything in a temp dir and then copy/mode when the rakudo build was successful?
21:05 FROGGS [Coke]: ahh, so you are always trigger the rebuild in the rakudo dir... that's the difference to what I do :o)
21:05 PerlJam s/mode/move/
21:05 [Coke] I did say "also moar". apologies. I haven't tried that particular combination.
21:05 [Coke] PerlJam: yes.
21:07 cognome joined #perl6
21:08 dalek roast: f696a6f | coke++ | S32-num/pi.t:
21:08 dalek roast: add test for literal π
21:08 dalek roast:
21:08 dalek roast: lizmat++
21:08 dalek roast: review: https://github.com/perl6/roast/commit/f696a6fcc7
21:09 [Coke] timotimo: i love jquery.
21:10 [Coke] please use it wherever javascript is sold.
21:11 timotimo http://vanilla-js.com/
21:14 gtodd either in my testing of the perlmonks logfile pattern matching "benchmark"   ( http://perlmonks.org/?node_id=1099617 )... perl6-m has got 40% faster ... or I wasn't careful to check what was running on my machine the first few times I ran the "benchmark" ....
21:14 tadzik http://eleks.github.io/js2js/
21:14 gtodd has anyone else noticed a speed up ?
21:14 timotimo gtodd: could be jit vs no jit
21:15 gtodd doh!
21:15 gtodd yeah that's it
21:15 gtodd forgot I added that
21:15 [Coke] the vanilla js documentation link is going to a straight js documention link.
21:15 timotimo yes
21:16 gtodd timotimo:  oh well ... so the "Great List Refactor" willl even be better than this ;-)
21:16 tadzik thatsthejoke.jpg :P
21:16 gtodd haha
21:16 timotimo [Coke]: also check out where the "plugins" link leads
21:16 [Coke] Idon'tgetit.com
21:16 gtodd chocolatejs.org
21:16 gtodd :P
21:16 [Coke] So you are not making a serious recommendation of technology I should look at?
21:16 timotimo oh, that exists, gtodd
21:16 gtodd so fat I use pure vanilla perl6
21:17 [Coke] ok. in that case, I stick by jQuery. :P
21:17 timotimo [Coke]: i was saying "jquery's features are partially supplanted by stuff that's natively available in js by now"
21:17 timotimo and "jquery is bloat and people learn jquery instead of learning js"
21:18 timotimo http://youmightnotneedjquery.com/
21:18 [Coke] (natively available) ... do you support IE8 anywhere?
21:18 leont Perl6 doesn't have a monotonic timer yet, right?
21:18 timotimo no, when i detect an IE8, i display a huge overlay asking the user to upgrade
21:18 timotimo :P
21:18 timotimo leont: instant is monotonic
21:18 timotimo m: say now.WHAT
21:18 camelia rakudo-moar 90288f: OUTPUT«(Instant)␤»
21:18 timotimo m: say now
21:18 camelia rakudo-moar 90288f: OUTPUT«Instant:1410815962.589945␤»
21:19 eternaleye joined #perl6
21:19 [Coke] those samples are all much more verbose in IE than in jQuery.
21:19 [Coke] and no note of whether the code is the same across browsers.
21:20 [Coke] so, I'll continue with jquery. definitely makes my job easier.
21:20 leont timotimo: are you sure? That looks like a wallclock time to me…
21:21 leont S32/Temporal doesn't contain the word monotonic
21:21 timotimo m: say now - time
21:21 camelia rakudo-moar 90288f: OUTPUT«Instant:35.956720␤»
21:21 timotimo that's the amount of duplicate seconds
21:21 leont Wallclocks are notoriously unreliable for benchmarking purposes
21:22 leont Right. That's taking out once source of non-monotonicity, but that's not giving monotonic guarantees
21:22 leont AFAICT
21:22 [Coke] Anyway, if someone wants to use jquery in the future on web stuff, it's fine with me; we have people who can support it if needs be.
21:23 kjs_ joined #perl6
21:23 timotimo ok :)
21:23 [Coke] still lots of failures in rakudo-star dailies.
21:24 [Coke] what can we do to get fixes out to the modules that are failing?
21:24 timotimo poke the module owners or people with too much time
21:24 timotimo speaking of people with too much time
21:24 timotimo should get started on that weekly ...
21:25 [Coke] just a pita since I cannot easily mark a failure as "I already reported that".
21:26 nine [Coke]: jquery is thankfully more and more obsolete. Its emphasis on making code easier to write completely missed that code is much more often read than written.
21:26 timotimo [Coke]: oh damn, that's right
21:36 eternaleye joined #perl6
21:36 [Coke] nine: I find jquery MUCH easier to read.
21:37 [Coke] "did they copy all this boilerplate required to do an ajax call with no library?" vs. "make an ajax call".
21:39 * lizmat just realized that Str.lines is also recognizing unicode line endings
21:39 timotimo "oh no!"?
21:40 lizmat S02:63 says: "Perl can count Unicode line and paragraph separators as line markers, but that behavior had better be configurable so that Perl's idea of line numbers matches what your editor thinks about Unicode lines.
21:40 synopsebot Link: http://perlcabal.org/syn/S02.html#line_63
21:40 nine [Coke]: speaking names vs. a function that has two names without any meaning at all and no less than 6 (!!) completely different uses.
21:40 lizmat to make it configurable, I think we need a CCLASS_CRLF
21:40 lizmat I tried a diff for that: https://gist.github.com/lizmat/4f31120e7ca6bbebc16d
21:40 diakopter I think there was supposed to be some record separator (and maybe already there?)
21:40 lizmat does that make sense ?
21:41 nine sleep &
21:42 lizmat good night nine!
21:43 timotimo gnite nine :)
21:45 timotimo which person in here is perlpilot on github again?
21:46 diakopter PerlJam methinks
21:46 timotimo ah, that makes sense
21:46 lizmat it does?
21:47 timotimo it doesn't?
21:48 lizmat the names share the prefix Perl (case insensitively)
21:48 lizmat but that's about it  :-)
21:51 pmurias joined #perl6
21:53 timotimo well, i meant it more like "that rings a bell"
21:54 lizmat ah, well it rang a bell for me as well, fwiw  :-)
21:55 diakopter PerlJam always reminds me of ToeJam & Earl
21:56 timotimo http://p6weekly.wordpress.com/?p=232&amp;shareadraft=54176083d3297 - feedback pleez
21:57 tony-o timotimo: it looks like i could just add an untap if i see the header 'Upgrade: websocket'
21:58 timotimo tony-o: that's easy enough, but do you know how re-tapping it in order to read the rest of the headers will allow us to keep all data?
21:58 timotimo or will we be losing data in between?
21:59 lizmat timotimo: seems to be one <li> too many at the end?
21:59 tony-o timotimo: i can untap after headers are complete
22:00 timotimo lizmat: that's something i can fix by myself ;)
22:00 timotimo also the extroduction pararaph is missing
22:00 tony-o oh i see what you mean, i can pass the headers to a handler after untapping or we can handle websockets via a 'register'ed sub
22:01 lizmat timotimo: moritz fixed the segfault when sending on a closes socket
22:01 timotimo ah, nice
22:01 lizmat also: Bags and Mixes now return pairs, as per spec change
22:02 timotimo "return pairs"?
22:02 lizmat m: say @(<a a b c c>.Bag)
22:02 camelia rakudo-moar de1626: OUTPUT«"a" => 2 "b" => 1 "c" => 2␤»
22:02 timotimo ah, when coerced to a list
22:02 lizmat unlike Set, which only returns keys in that case
22:02 lizmat m: say @(<a a b c c>.Set)
22:02 camelia rakudo-moar de1626: OUTPUT«a b c␤»
22:03 lizmat this used to be keys for all Set/Bag/Mixes
22:03 timotimo ah
22:03 timotimo that's something you implemented?
22:03 lizmat yes
22:03 timotimo thank you :)
22:03 lizmat TimToady did a some reification work that I think, made the spectest at least 5% faster
22:03 jack_rabbit joined #perl6
22:04 lizmat 02db739a82874e
22:05 pmurias it's awesome that rakudo keeps getting faster, rather then the usual route of a Perl 6 implementation getting slower as features are added
22:05 tony-o timotimo: how are you implementing web sockets?
22:05 tony-o as a module or some kind of native p6 thing?
22:06 timotimo a module, of course
22:06 tony-o are you extending it into the http-server-async space ?
22:07 lizmat timotimo: that's about it from my end, I think
22:08 timotimo thank you :)
22:08 timotimo tony-o: i have not yet started, actually
22:08 timotimo just read the rfc and thought about things, checked out if all our dependencies are good enough yet (base64, sha1)
22:10 tony-o timotimo: i'll put together a skeleton for the 'upgrade' header and include that as an example -
22:11 tony-o and fix the readme
22:11 timotimo cool, thanks :)
22:11 timotimo any good ideas for how to best handle static file serving?
22:11 slavik joined #perl6
22:12 tony-o probably another plugin - i'll put that together as the example of how to handle websockets too :-)
22:14 carlin how should I test code that says/prints?
22:14 * lizmat also calls it a night
22:14 lizmat sleep&
22:21 tony-o carlin: what are you testing that says/prints?
22:21 tony-o anyone have output of what the separate is for windows @*INC ?
22:24 carlin tony-o: perl6 code, it's a command-line interface, so I want to test that output is what is expected
22:25 tony-o you could probably run it in a process or hijack stdout
22:26 alexghacker m: %t = a => 1; say !%t{"a"}:exists
22:26 camelia rakudo-moar de1626: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/hzVCR3YvxKâ�¤Variable '%t' is not declaredâ�¤at /tmp/hzVCR3YvxK:1â�¤------> [32m%t[33mâ��[31m = a => 1; say !%t{"a"}:exists[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
22:26 alexghacker m: %t = a => 1; say !(%t{"a"}:exists)
22:26 camelia rakudo-moar de1626: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/IdLqG6DqgKâ�¤Variable '%t' is not declaredâ�¤at /tmp/IdLqG6DqgK:1â�¤------> [32m%t[33mâ��[31m = a => 1; say !(%t{"a"}:exists)[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
22:26 alexghacker m: my %t = a => 1; say !%t{"a"}:exists
22:26 camelia rakudo-moar de1626: OUTPUT«Unexpected named parameter 'exists' passed␤  in sub prefix:<!> at src/gen/m-CORE.setting:4217␤  in block <unit> at /tmp/uQCwyixzmX:1␤␤»
22:26 alexghacker m: my %t = a => 1; say !(%t{"a"}:exists)
22:26 camelia rakudo-moar de1626: OUTPUT«False␤»
22:27 alexghacker as a perl6 newbie and many year perl5 veteran, it seems odd to me that unary ! binds more tightly than an adverb
22:27 alexghacker can someone please explain that to me?
22:28 TimToady operator adverbs are just tighter than comma
22:28 TimToady however...
22:28 TimToady m: my %t = a => 1; say %t{"a"}:!exists
22:28 camelia rakudo-moar de1626: OUTPUT«False␤»
22:28 TimToady you can negate the adverb in this case
22:28 alexghacker oooo.... shiny
22:28 timotimo good day, TimToady :)
22:28 alexghacker tyvm
22:28 tony-o m: my %t = a => 1; say so %t{"a"}:exists
22:28 camelia rakudo-moar de1626: OUTPUT«True␤»
22:29 tony-o m: my %t = a => 1; say !so %t{"a"}:exists
22:29 camelia rakudo-moar de1626: OUTPUT«False␤»
22:29 tony-o i like negative the adverb, didn't know that worked
22:29 timotimo "!so" is equivalent to "not" :P
22:29 TimToady m: my %t = a => 1; say not %t{"a"}:exists
22:29 camelia rakudo-moar de1626: OUTPUT«False␤»
22:29 TimToady or you can just use the ! that's looser
22:29 tony-o if i'm in a role, how do i get the class that the role is in?
22:30 TimToady ::?CLASS or so
22:30 timotimo TimToady: http://p6weekly.wordpress.com/?p=232&amp;shareadraft=54176867710ec ← looks good to you?
22:32 tony-o Could not locate compile-time value for symbol ::?OUTER
22:32 timotimo that would be OUTER::
22:32 TimToady I also finished adding .plan, so it works right now
22:32 timotimo oooh!
22:33 timotimo i read that and thought "i need to note this!", but forgot >_<
22:33 TimToady and made require return True, but failed to get it to declare its symbol yet (though I added a test)
22:34 TimToady the specchange of Bag and Mix returning pairs was also this week
22:34 TimToady not just the implementation :)
22:35 TimToady but mostly I've been studying up for the GLR
22:36 tony-o m: role T { method t(){ say OUTER::?CLASS; }; }; class U does T { }; U.new.t();
22:36 camelia rakudo-moar de1626: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/2iseSS2E7zâ�¤Two terms in a rowâ�¤at /tmp/2iseSS2E7z:1â�¤------> [32mrole T { method t(){ say OUTER::[33mâ��[31m?CLASS; }; }; class U does T { }; U.new.[0mâ�¤    expecting any of:â�¤        post…»
22:36 tony-o sorry, i've been out of the loop on p6 for a little while writing an ios app
22:37 TimToady you shouldn't need OUTER there
22:37 tony-o m: role T { method t(){ say ::?CLASS; }; }; class U does T { }; U.new.t();
22:37 camelia rakudo-moar de1626: OUTPUT«(U)␤»
22:38 tony-o thank you
22:38 exixt joined #perl6
22:38 kjs_ joined #perl6
22:42 * TimToady and Mrs TimToady have been married 35 years today!  That's longer than many of you are old. :)
22:43 diakopter barley
22:43 timotimo cool! :)
22:45 cognome joined #perl6
22:48 tony-o 5 years older than i am :-) congrats!
22:50 * carlin wonders who the youngest here is
22:52 TimToady of the active contributors, probably Mouq++
23:02 BenGoldberg joined #perl6
23:03 tony-o how old is mouq?
23:05 * TimToady does not feel that that information is his to give out :)
23:05 BenGoldberg m: my %a; %a{"b"}.WHAT.say;
23:05 camelia rakudo-moar de1626: OUTPUT«(Any)␤»
23:05 BenGoldberg m: my %a; %a{"b".list}.WHAT.say;
23:05 camelia rakudo-moar de1626: OUTPUT«(Parcel)␤»
23:06 BenGoldberg m: my %a; %a{"b"} += 1; %a.say;
23:06 camelia rakudo-moar de1626: OUTPUT«"b" => 1␤»
23:06 BenGoldberg m: my %a; %a{"b".list} += 1; %a.say;
23:06 camelia rakudo-moar de1626: OUTPUT«"b" => 2␤»
23:07 BenGoldberg m: my %a; say %a{"b".list} + 1; # AHA!
23:07 camelia rakudo-moar de1626: OUTPUT«2␤»
23:08 BenGoldberg m: my %a; %a{"b".list}.say
23:08 camelia rakudo-moar de1626: OUTPUT«(Any)␤»
23:08 tony-o TimToady: looking at ::?CLASS, how do i get that into a string?
23:08 timotimo you mean {::?CLASS}?
23:09 cognome joined #perl6
23:09 tony-o yea
23:09 TimToady .^name maybe?
23:10 tony-o m: class t { method y { {::?CLASS}.name.say; }; }; t.y;
23:10 camelia rakudo-moar de1626: OUTPUT«␤»
23:11 TimToady no, no, timotimo was talking about interpolating inside ""
23:11 timotimo aye
23:11 TimToady and I was talking about calling into the metaobject
23:11 tony-o oic, that doesn't work either
23:11 TimToady which needs a ^
23:11 timotimo m: class t { method y { say "{::?CLASS}"; }; }; t.y;
23:11 camelia rakudo-moar de1626: OUTPUT«use of uninitialized value of type t in string context  in method y at /tmp/lPD722ZcDI:1␤␤␤»
23:11 tony-o m: class t { method y { "{::?CLASS}".say }; }; t.y;
23:11 camelia rakudo-moar de1626: OUTPUT«use of uninitialized value of type t in string context  in method y at /tmp/_FluJEIQ26:1␤␤␤»
23:11 timotimo m)
23:11 timotimo m: class t { method y { say "{::?CLASS.^name}"; }; }; t.y;
23:11 camelia rakudo-moar de1626: OUTPUT«t␤»
23:12 TimToady or .gist if you don't mind the parens
23:12 tony-o damn, getting lessons in p6 (again) after the break :-)
23:12 tony-o ty
23:13 timotimo yw
23:26 telex joined #perl6
23:30 camelia joined #perl6
23:45 cognome joined #perl6
23:48 telex joined #perl6
23:51 leont Git a double free in moar, no idea how to make this case small though :-/
23:53 erkan joined #perl6
23:53 erkan joined #perl6
23:53 leont It involved trying if @<foo> DWIMed (guess not)
23:53 Alina-malina joined #perl6
23:54 camelia joined #perl6
23:55 Alina-malina joined #perl6
23:55 davido_ joined #perl6
23:57 u-ou joined #perl6

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

Perl 6 | Reference Documentation | Rakudo