»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:01 flussenc1 joined, sorear joined 00:02 flussence left, flussenc1 is now known as flussence, chenryn_ joined 00:03 brother joined, baest_ joined, hoelzro joined, isacloud______ joined, integral_ joined, integral_ left, integral_ joined 00:04 ChoHag joined, erkan left 00:05 hobbs joined, ggherdov__ joined 00:06 virtualsue_ joined 00:07 tokuhirom_ joined 00:08 colomon_ joined 00:13 chenryn left, virtualsue left, colomon left, ChoHag_ left, vike1 left, hoelzro_ left, baest left, Pleiades` left, no-doz left, tokuhirom left, ggherdov_ left, isacloud_____ left, hobbified left, sorear_ left, brother| left, skarn left, integral left, ggoebel1111117 left, colomon_ is now known as colomon, virtualsue_ is now known as virtualsue, tokuhirom_ is now known as tokuhirom 00:14 jerrycheung joined, skarn joined 00:15 skarn is now known as Guest43064, isacloud______ is now known as isacloud_____ 00:35 Alina-malina left, aindilis left, aindilis joined
carlin Illegal attempt to pop empty temporary root stack 00:35
sounds... fun 00:36
00:39 chenryn_ left
timotimo github.com/MoarVM/MoarVM/blob/mast...ots.c#L146 - breakpoint this and get us a traceback please 00:42
carlin I'll try and golf the code that causes it tonight 00:47
it involves async and threads, so all the stuff that makes fun things happen 00:48
00:51 virtualsue left 01:00 yeahnoob joined 01:02 pat_js` joined 01:12 dayangkun joined, slmult0 joined 01:16 raiph joined 01:21 FROGGS_ joined
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␤»
BenGoldberg is confused.
Shouldn't all the values add up to 1000?
01:23 Sqirrel left
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␤»
BenGoldberg That's better, for some definition of better. 01:24
01:24 FROGGS left 01:26 skids joined
BenGoldberg m: my %a; %a{($_ %% 2).sort} += 1 for 1..1e3; %a.say; 01:35
camelia rakudo-moar 351c12: OUTPUT«"False" => 2, "True" => 2␤»
BenGoldberg What is going on there?
01:36 dayangkun left
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␤…»
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.␤»
BenGoldberg P: my %a; %a{($_ %% 2).sort} += 1 for 1..1e3; %a.say;
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␤»
colomon what's the .sort meant to be doing? 01:39
01:39 rindolf joined
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:39
m: 1.sort.WHAT.say 01:40
camelia rakudo-moar 351c12: OUTPUT«(List)␤»
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␤»
BenGoldberg m: my %a; %a{($_ %% 2).list} += 1 for 1..1e3; %a.say;
camelia rakudo-moar 351c12: OUTPUT«"False" => 2, "True" => 2␤»
BenGoldberg m: my %a; %a{"blah".list} += 1 for 1..1e3; %a.say; 01:42
camelia rakudo-moar 351c12: OUTPUT«"blah" => 2␤»
BenGoldberg m: my %a; %a{"blah".list} += 1 for 1..4; %a.say;
camelia rakudo-moar 351c12: OUTPUT«"blah" => 2␤»
BenGoldberg That's golfed enough, I suppose... 01:43
colomon oh! 01:45
01:47 raiph left
colomon has theories, but none of them actually explain what we're seeing 01:47
01:48 kurahaupo left
colomon m: my %a; for 1..4 { %a{"blah".list} += 1; }; %a.say 01:48
camelia rakudo-moar 351c12: OUTPUT«"blah" => 2␤»
colomon m: my %a; for 1..4 { %a{"blah"} += 1; }; %a.say
camelia rakudo-moar 351c12: OUTPUT«"blah" => 4␤»
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 slmult0 left
colomon m: my %a; say %a{"blah".list}.WHAT 01:52
camelia rakudo-moar 351c12: OUTPUT«(Parcel)␤»
colomon m: my %a; say %a{"blah".list}.perl
camelia rakudo-moar 351c12: OUTPUT«(Any,)␤»
colomon m: my %a; say (%a{"blah".list} += 1).perl 01:53
camelia rakudo-moar 351c12: OUTPUT«(2,)␤»
colomon m: my %a; say %a{"blah"}.perl 02:01
camelia rakudo-moar 351c12: OUTPUT«Any␤»
colomon m: my %a; say %a{"blah"}.WHAT
camelia rakudo-moar 351c12: OUTPUT«(Any)␤»
02:04 pat_js` left 02:05 rindolf left 02:13 telex left 02:19 chenryn joined 02:22 Guest43064 left, Guest43064 joined, Guest43064 is now known as skarn 02:48 noganex_ joined, kaleem joined, rindolf joined 02:50 slavik left, hagiri joined 02:51 noganex left 03:03 slavik joined, hagiri left 03:10 jerrycheung left 03:12 PZt joined 03:14 chenryn left 03:16 chenryn joined 03:27 kaleem left
dalek ecs: a7e69b5 | (L. Grondin)++ | S99-glossary.pod:
FIFO is a queue and LIFO is a stack
03:31
03:48 kaare joined, kaare is now known as Guest14887 03:57 jerrycheung joined 04:02 araujo left 04:25 [Sno] left 04:31 BenGoldberg left 04:32 chenryn left 04:36 circ-user-41MtE joined
circ-user-41MtE helloo 04:36
04:42 circ-user-41MtE left 04:43 circ-user-oppkc joined, circ-user-oppkc is now known as joescript 04:45 hagiri joined 04:46 hagiri left 04:48 camelia left, Guest14887 left 04:59 chenryn joined 05:05 grondilu joined 05:08 joescript left 05:20 Alina-malina joined, kaare joined, kaare is now known as Guest85393 05:21 Guest85393 is now known as kaare__ 05:24 molaf joined
grondilu m: class A { has @.i; multi method new(*@i) { self.new: :i(Mu) }; }; say A.new(); 05:26
^ this almost crashes my computer locally. 05:29
seems to be an infinite recursive loop but that seems wrong to me. self.new(:i(Mu)) should not call new(*@), should it? 05:30
05:37 kaleem joined 05:38 Sqirrel joined
grondilu m: class A { has @.i; multi method new(@i) { self.new: :i(Mu) }; }; say A.new(); 05:39
p6: say "hi"
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:"?!
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...
yoleaux nine: What kind of a name is "lizmat[3~:"?!
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.
05:49 chenryn left 06:00 chenryn joined
vendethiel o/ 06:09
06:09 molaf left, cognome left 06:10 SamuraiJack joined, cognome joined, [Sno] joined 06:13 vendethiel left, cbk1090 left 06:14 cognome left 06:21 mr-foobar joined 06:23 jerrycheung left 06:24 rindolf left, rindolf joined 06:27 FROGGS_ left 06:31 slmult0 joined 06:32 Sqirrel left 06:41 slmult0 left 06:42 slmult0 joined, jack_rabbit joined 06:46 slmult0 left 06:47 cognome joined 06:51 cognome left 06:56 zakharyas joined 07:00 FROGGS joined
dalek kudo/match: 510e68d | (Tobias Leich)++ | src/core/Cursor.pm:
attempt to patch Cursor.MATCH like in nqp
07:03
07:09 denis_boyun_ joined, jack_rabbit left 07:18 slmult0 joined 07:19 Maddingu1 is now known as Maddingue
FROGGS jnthn: can you please take a look at github.com/rakudo/rakudo/commit/51...nt-7780349 ? 07:20
jnthn: I guess you spot my error easily 07:21
07:25 chenryn left 07:28 chenryn joined, virtualsue joined
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
so there might be bigger problems coming that we do not know yet (wrt. Perl 5 interop)
moritz will be offline the next ~9 days (the good kind of offline :-) 07:44
07:45 cognome joined
nwc10 mr-foobar: h 07:45
er
fat fingers
moritz: have fun
FROGGS moritz: enjoy it :o) 07:46
mberends +1 07:48
lizmat moritz: enjoy!
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...
lizmat nine: good morning :-)
moritz thanks nwc10, FROGGS, lizmat 07:49
07:50 cognome left, denis_boyun_ left 07:54 fhelmberger joined 07:59 darutoko joined, dayangkun joined, telex joined, vikeOne joined, ggoebel1111117 joined, telex left 08:00 telex joined 08:04 ggherdov__ left, ggherdov__ joined, isacloud_____ left, isacloud_____ joined 08:05 virtualsue left 08:07 erkan joined 08:10 dwarring left 08:16 camelia joined 08:17 ChanServ sets mode: +v camelia 08:18 dalecooper joined 08:26 pmurias joined
pmurias shouldn't we have runinstead and shellinstead? 08:26
08:29 lizmat_ joined, lizmat left
pmurias hmm, what's a good way to create a temporary file in nqp? 08:30
08:31 kurahaupo joined 08:32 dwarring joined 08:33 lizmat joined 08:35 lizmat__ joined, lizmat left, lizmat_ left, dalecooper left 08:37 lizmat joined, lizmat__ left
dwarring I've bisected parrot failures affecting advent2010-07.t and other advent tests... 08:39
(test suite had been out of action on parrot for about a week) 08:40
08:40 kjs_ joined
FROGGS dwarring: and? 08:41
dwarring looks like this test started hanging around rakudo commit 3e96fe51a29fd3758fe774b5e3e95aae9e7196dd
FROGGS dwarring: I am about checking panda on parrot again
dwarring: yes, that seems also to be the panda problem 08:42
sergot hi o/
FROGGS hi
lizmat dwarring: going to check that now
(as that commit was my doing)
dwarring there's also a second regression at df2f8b4954477f02f2481f981a7d7c564a959544 08:43
hoping this gist explains things a bit more - gist.github.com/dwarring/12c1e32440a8aea43337
(see comments)
lizmat dwarring: I'm on it 08:44
08:45 cognome joined
dwarring ok lizmat++ 08:45
hope that helps 08:46
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:47
lizmat hmmm... p6box_s isn't even documented ? 08:49
08:49 cognome left
dwarring zzzz& 08:50
FROGGS lizmat: where are you looking?
08:50 SamuraiJack left
lizmat github.com/perl6/nqp/blob/master/d...s.markdown 08:51
FROGGS lizmat: it is not an nqp op, it is an rakudo ext-op
all nqp::p6* are
08:51 sjn left
lizmat eh, then why has it the nqp:: prefix ? 08:51
good night, dwarring!
FROGGS because we register it that way :o)
I think because we can access it is Perl6/Action.nqp this way 08:52
in*
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)
camelia rakudo-moar 351c12: OUTPUT«a␤»
lizmat I don't see a difference from this end: to me it's just another (undocumented) nqp:: operation
daxim__ <www.wilfred.me.uk/blog/2014/09/15/c...ology/> "there’s a huge design space of how macro systems can be implemented" (via HN)
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
Ven .tell masak www.wilfred.me.uk/blog/2014/09/15/c...macrology/ 08:56
yoleaux Ven: I'll pass your message to masak.
08:56 Ven left
dalek p-js: 351cae7 | (Pawel Murias)++ | tools/build/ (2 files):
Make the Makefile install the required support js modules.
08:57
09:01 dakkar joined 09:03 slmult0 left 09:04 ClarusCogitatio left 09:06 ClarusCogitatio joined
lizmat rebuilding rakudo on parrot: real4m27.370s = 267 seconds 09:07
on moar: 0m43.920s = about 6x as fast 09:08
09:13 Celelibi left
lizmat looks like parrot has a problem with basic math 09:23
1 + 1 + 0 = 0
09:23 sjn joined 09:24 virtualsue joined
lizmat more specifically: $moving = $chars + 1 + nqp::eqat($ns, $CRLF, $nextpos); 09:29
seems to come out as 0 always on parrot
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␤»
FROGGS p: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 3)
camelia rakudo-parrot 351c12: OUTPUT«1␤»
FROGGS p: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 4)
camelia rakudo-parrot 351c12: OUTPUT«0␤»
FROGGS m: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 4)
camelia rakudo-moar 351c12: OUTPUT«0␤»
FROGGS m: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), -1)
camelia rakudo-moar 351c12: OUTPUT«0␤»
FROGGS p: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), -1)
camelia rakudo-parrot 351c12: OUTPUT«0␤»
FROGGS p: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 55)
camelia rakudo-parrot 351c12: OUTPUT«0␤»
FROGGS m: say nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 55)
camelia rakudo-moar 351c12: OUTPUT«0␤»
FROGGS hmmm
lizmat: what is the test case you're using? 09:32
09:33 donaldh joined
lizmat say "a\r\nb\nc\n".lines.elems 09:33
FROGGS k
lizmat that hangs on parrot atm
if I put the result of nqp::eqat in a temp variable, it works ok 09:34
something like my int $extra = nqp::eqat; $moving = $chars +1 $ extra; 09:35
s/$/+/
FROGGS eww
lizmat some code gen, maybe optimization issue ? 09:36
FROGGS I would say that a code-gen bug on parrot is very unlikely
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
I'll put in some conditional parrot code then, yuck :-(
FROGGS I recompile right now with some debugging output... 09:38
nwc10 do we know which OSes/distributions package Rakudo (on Parrot)?
eg does macports? does cygwin have a packaging system, and does it? which BSD ports? (etc) 09:39
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
This is perl6 version 2013.12 built on parrot 5.9.0 revision 0
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␤»
FROGGS p: say 0 + nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 3)
camelia rakudo-parrot 351c12: OUTPUT«1␤»
FROGGS p: say 0 + 1 + nqp::eqat(nqp::unbox_s("foo\r\nbar"), nqp::unbox_s("\r\n"), 4)
camelia rakudo-parrot 351c12: OUTPUT«1␤»
FROGGS why does that work here? 09:44
lizmat because you're not using variables?
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
FROGGS it could be that eqat uses a hard coded register 09:45
lemme look
lizmat but one that exists on parrot only
jvm is also clean, I just checked
FROGGS lizmat: code-gen is backend specific 09:46
lizmat hnmmm... scratch that: jvm seems also infected :-( 09:48
oops, no, I just wasn't patient enough :-(
pmurias all the code-gen in jvm, moar, parrot is a very similiar manner 09:49
09:49 cognome left
dalek kudo/nom: bac255d | (Elizabeth Mattijsen)++ | src/core/Str.pm:
initial fix for hanging Str.lines on parrot
09:52
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␤»
FROGGS it vanishes when I make $chars an Int, and also when I replace nqp::eqat by a literal 0 09:57
09:59 anaeem1 joined
lizmat shall I rakudobug it ? 10:01
FROGGS yes... 10:02
in the meantime I try to understand it
lizmat RT #122783 10:07
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122783
dalek kudo/nom: dc83803 | (Elizabeth Mattijsen)++ | src/core/Str.pm:
Temp fix for other candidates, RT #122783
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122783
10:08 yeahnoob left 10:10 ribasushi left
FROGGS eww: 10:11
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)
camelia rakudo-parrot 351c12: OUTPUT«0␤»
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)
camelia rakudo-parrot 351c12: OUTPUT«1␤»
10:12 mberends left
FROGGS I guess it is an optimization problem with infix:<+> on natives 10:12
10:14 virtualsue left
lizmat guess so: well at least the parrot spec test is not hanging anymore 10:17
10:22 virtualsue joined
dalek kudo/nom: 9c3634d | (Elizabeth Mattijsen)++ | src/core/Str.pm:
Mention #122783 for posterity
10:22
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122783
10:34 leont joined
lizmat leont: I'm thinking about changing the API of Proc::Async.new 10:34
will that be a big problem for you?
instead of :path, :args, use positionals
also allow direct %ENV setting :-) 10:35
(with .start)
leont I don't really care about the API, I'll adapt to it
lizmat ok
leont Just warn me when flag day comes ;-) 10:36
10:37 Woodi left 10:38 ribasushi joined
leont Direct %*ENV setting would be sensible too, yes. Not that I've needed it so far. 10:41
dalek ecs: 5123177 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Make .stdout/.stderr suppliers more generic
10:45
10:45 cognome joined
lizmat first waits for any reactions to spec changes ^^^ 10:45
10:46 dayangkun left
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" :-
)
FROGGS :o)
10:50 cognome left 10:51 chenryn left
dalek ecs: d21d857 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Be more like other IO: :bytes -> :bin FROGGS++
10:52
lizmat does Win have an "echo" ?
10:53 denis_boyun_ joined
lizmat
.oO( portable Proc::Async tests )
10:53
FROGGS lizmat: yes
lizmat ok, cool
FROGGS C:\MoarVM>echo 42
42
leont lizmat: those changes look very sensible to me 10:55
Also, implementation was with underscores, spec with hyphens… 10:58
lizmat yes, I didn't change the implemented API yet
pending feedback on the spec
10:59 chenryn joined
dalek ast: 47c637e | (Elizabeth Mattijsen)++ | S17-procasync/basic.t:
Add basic Proc::Async test
11:15
11:16 baest_ is now known as baest 11:22 skids left
dalek kudo/nom: f48eb19 | (Elizabeth Mattijsen)++ | t/spectest.data:
Add basic Proc::Async test for moar only
11:28
11:38 raiph joined 11:40 kurahaupo left 11:44 mberends joined 11:45 cognome joined, brrt joined 11:50 cognome left 11:58 kurahaupo joined 11:59 anaeem1 left 12:00 anaeem1 joined
leont How do I do the equivalent of \1 in a rule? 12:00
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:01
in which case there wouldn't be an equivalent. but you'd have to ask somebody else to be sure 12:04
leont Ah, it seems "$1" did the trick. 12:06
brrt then i'm wrong :-) 12:19
leont Hmmm, no I may have been wrong, I think my test passed by accident 12:21
timotimo i'm just now running into some hard drive trouble :\ 12:23
nine suddenly remembers to make a backup.... 12:26
lizmat loves her Time Machine
12:27 u-ou joined, u-ou is now known as Guest85949
raiph p5-to-p6: $_ = "ab"; s/(a)/b\1/ 12:28
camelia p5-to-p6 : OUTPUT«$_ = 'ab';␤s:P5!(a)!b!␤»
lizmat leont: $0 maybe, they start at 0 in Perl 6
timotimo i should really do backups, too ... 12:32
12:37 SamuraiJack joined
timotimo FROGGS: you most probably need to keep the hllize in the match code 12:42
12:45 cognome joined 12:47 anaeem1 left
leont was looking for the problem in all the wrong places, again 12:48
12:48 muraiki joined
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 cognome left
pmurias how is p5-to-p6 implemented? 12:50
12:57 bowtie_ left 13:02 guru joined 13:03 guru is now known as Guest15375, Guest15375 is now known as ajr_
FROGGS timotimo: hllize does not change anything though 13:03
Bisecting: 358 revisions left to test after this (roughly 9 steps) 13:05
>.<
bisecting rakudo@parrot
this will take months!
brrt ... :-o 13:06
leont 9 steps, that isn't that bad, is it?
brrt wonders if that is worth the trouble
FROGGS brrt: I think it is 13:08
brrt: because that can pop up everywhere
good that I don't have to recompile parrot... "only" nqp and rakudo :o) 13:09
13:09 firnsy left 13:10 kaare__ left, kaleem left 13:11 kaleem joined 13:13 bowtie joined, bowtie is now known as Guest89424 13:14 firnsy joined, kurahaupo left 13:16 bcode left, fhelmberger_ joined 13:17 mike121 joined 13:19 firnsy left
pmurias how hard would it be to add nqp-js to camelia? 13:19
dalek p-js: 7d08260 | (Pawel Murias)++ | src/vm/js/ (2 files):
Implement hashes partially.
p-js: 917dbb0 | (Pawel Murias)++ | / (5 files):
Implement nqp::const::* and nqp::stat.
p-js: 1ea4ff2 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Fix bug.
p-js: 80f126d | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Implement nqp::existskey
p-js: 2e2538d | (Pawel Murias)++ | src/vm/js/ (2 files):
Implement nqp::existspos
13:19 fhelmberger left
p-js: 9a076b1 | (Pawel Murias)++ | src/vm/js/ (3 files):
Implement nqp::radix.

Pass test 83.
p-js: 54745dc | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
Fix indentation.
carlin Illegal attempt to pop empty temporary root stack - gist.github.com/carbin/595b569fb120657eda8a
13:21 fhelmberger_ left
dalek ast: 9e5f4bc | (Elizabeth Mattijsen)++ | S17-procasync/print.t:
Add .print/.say test: needs TODO :-(
13:25
kudo/nom: 8002629 | (Elizabeth Mattijsen)++ | t/spectest.data:
Add Proc::Async .print test, for moar only
13:27 mike121 left
[Coke] is nqp-js standalone or does it require a cross compiler still? 13:28
brrt FROGSS++ for very awesome persistence 13:30
nwc10 brrt: what did FROGGS do this time? 13:33
jnthn evening, #perl6
lizmat jnthn o/
nwc10 good UGT heresey, jnthn
lizmat hopes jnthn had dinner and beer 13:34
[Coke] wonders if nwc10 means "heresy"
nwc10 [Coke]: almost certainly
jnthn discovered Sichuanese bacon rice! o.O 13:35
dalek p-js: 78ed2ac | (Pawel Murias)++ | src/vm/js/ (3 files):
Pass test 40.

Implement nqp::ishash, converting "foobar" to a number gives 0 now.
FROGGS pmurias: I've no idea how to do that... so it would be very hard for *me* :/ 13:36
13:38 fhelmberger joined
masak aww, too bad the "Perl 6" example last in www.frantic.com/notes/Perl-6---Is-i...--151.html doesn't actually work as intended in Perl 6 :/ 13:38
yoleaux 08:56Z <Ven> masak: www.wilfred.me.uk/blog/2014/09/15/c...macrology/
masak looks
pmurias [Coke]: currently cross compiling on top of moarvm 13:39
13:39 kaleem left
brrt FROGGS is apparantly disecting a parakudo bug 13:40
nwc10 ^
13:41 kaleem joined 13:43 donaldh left
lizmat wonders what the "PSA" stands for at S01:82 13:43
synopsebot Link: perlcabal.org/syn/S01.html#line_82
tadzik Public Service Announcement?
lizmat "RFCs are rated on "PSA" ? 13:44
FROGGS P is for Problem I think
jnthn Problem, Solution, Acceptabnce
FROGGS yeah
was about to say
:o)
13:44 firnsy joined
[Coke] S99:PSA 13:45
synopsebot Link: perlcabal.org/syn/S99.html#PSA
Timbus_ masak, 4 ~~ @array doesn't work?
13:45 cognome joined
[Coke] there's some S99:LHF 13:45
synopsebot Link: perlcabal.org/syn/S99.html#LHF
masak m: my @array = <a b c d>; say 4 ~~ @array 13:46
camelia rakudo-moar f48eb1: OUTPUT«False␤»
dalek ecs: ed4cd1e | (Elizabeth Mattijsen)++ | S99-glossary.pod:
Add PSA lemma
masak m: my @array = 4, 4, 4, 4; say 4 ~~ @array 13:47
camelia rakudo-moar f48eb1: OUTPUT«False␤»
jnthn lizmat: 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...
masak Timbus_: is that "doesn't work" enough for you? :)
Timbus_ i see
masak Timbus_: in Perl 6, the rhs decides on the matching semantics.
Timbus_: this is the thing that got realized/corrected after Perl 5 amicably side-stole smartmatching.
lizmat jnthn: but they both return a Supply, regardless of named param ?
masak Timbus_: before then, the ideal was a misguided aim for symmetry. 13:48
[Coke] lizmat++
jnthn lizmat: Supply isn't the real type
masak Timbus_: but even under that interpretation, it was kind of a stretch to have $elem ~~ @array mean "is it in the array?"
Timbus_ yeah, ~~ has been quite a problem for both 5 and 6
jnthn lizmat: I mean, it *is*, but it's not the type the programmer cares about.
lizmat S17:1024
synopsebot Link: perlcabal.org/syn/S17.html#line_1024
masak Timbus_: I wouldn't say it's been a problem for 6.
13:48 firnsy left
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."
PerlJam nine: you mean "P5 people"?
nine PerlJam: yes.
masak m: say 3 (in) [2, 3, 5, 6]
camelia rakudo-moar f48eb1: OUTPUT«===SORRY!=== Error while compiling /tmp/AdiZDD3eZ4␤Two terms in a row␤at /tmp/AdiZDD3eZ4:1␤------> say 3 ⏏(in) [2, 3, 5, 6]␤ expecting any of:␤ postfix␤ infix stopper␤ infix or me…»
masak m: say 3 (elem) [2, 3, 5, 6]
camelia rakudo-moar f48eb1: OUTPUT«True␤»
masak \o/
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
13:50 cognome left
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
camelia rakudo-moar f48eb1: OUTPUT«True␤»
PerlJam nine: aye.
(me too :)
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...
Timbus_ and last i tested its optimal, due to laziness
masak well, those of you who missed "in", see ∈ and (elem) above. 13:51
13:51 chenryn left
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...
lizmat jnthn: I guess I look at it differently then 13:52
nine But (elem) is just fine as well
lizmat it's more like an addition to $, @ and % to me
pmurias research.microsoft.com/en-us/projec...raphy.aspx - one way to handle stuff that's not typable on a keyboard
lizmat also transparant, but the same for both cases
pmurias in the Operators section 13:53
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:54
pmurias jnthn: do we have something in nqp land to create a temporary file? 13:55
jnthn pmurias: No
lizmat jnthn: and what about :bin on open() ? 13:56
jnthn pmurias: If you mean the "unique name" part
lizmat how is that different from Proc::Async.new.stdout(:bin) ?
pmurias a "unique name" part is what I'm looking for
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
Opening a file as :bin and doing .get is probably erroneous.
I ain't defending :bin there, though] 13:58
lizmat agree....
jnthn That's not a particularly great bit of design either.
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"
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
pmurias jnthn: but writing to a tmp file and the calling "node tmp" would be fine too
jnthn pmurias: Yeah. Well, I think PID and nqp::time_n() together would give you a sufficienlty unique thing. 14:00
14:02 bcode joined 14:03 firnsy joined 14:05 mberends left 14:07 brrt left
lizmat jnthn: by the way, when testing this functionality, I found problems: 14:08
14:08 firnsy left
lizmat t/spec/S17-procasync/print.t # has 3 todo tests because the .print is not arriving in the async process apparently 14:08
If I'm doing something wrong, let me know 14:09
14:09 kjs_ left 14:11 Rotwang joined 14:13 mr-foobar left
jnthn lizmat: I assume you are await'ing the Promise that print returns? 14:14
lizmat checking if that makes a diff 14:15
jnthn isa_ok $pc.print( "Hello World" ), Promise;
Looks like it's being thrown away
lizmat yes, as I'm waiting for the proc's start Promise at the end 14:17
hmmm... getting "This process is not opened for write" now 14:18
jnthn Right, meaning you were discarding that error beforehand, I guess? 14:19
lizmat the promise for print is roken
broken
I guess so
hmmm...
jnthn Hm, does the test open the process with :w?
ah, seems not
lizmat ah... 14:20
jnthn So it doesn't open the handle to its stdin.
So, quite accurate error :)
lizmat indeed, so that's what :w is for
not specced yet :-)
will do in a mo
jnthn Cool 14:21
Happy ot see tests/spec :)
lizmat hmmm... it appears that the note is not going to STDERR
14:23 skids joined 14:24 kaare_ joined
lizmat isn't the Promise of the P::A.start supposed to return the Proc::Status object ? 14:24
jnthn yes
lizmat ok 14:25
ah, I see what's wrong
jnthn errand, bbi10 14:26
14:33 anaeem1 joined 14:38 treehug88 joined, fhelmberger left 14:39 fhelmberger joined 14:42 kjs_ joined
jnthn back 14:43
dalek ast: 34cf39f | (Elizabeth Mattijsen)++ | S17-procasync/print.t:
Properly wait for .print/.say, jnthn++
lizmat jnthn: the stdout test is flapping
14:43 ajr_ left, fhelmberger left
lizmat if it flaps, it only contains "Hello World" 14:43
and misses the "Started" and "Done" 14:44
now, the "Done" I can sort of understand, maybe
hmmm....
but losing the "Started" ?
14:44 guru joined 14:45 guru is now known as Guest54884, Guest54884 is now known as ajr_
jnthn Sounds odd 14:45
lemme look at latest
14:45 cognome joined
jnthn lizmat: Yes, something odd must be going on :S 14:47
14:48 Ven joined
Ven pmurias: github.com/pmurias/nqp-js/commit/2e2538d8c9 are you sure that's the correct behavior? 14:48
m: say (1, 2, 3)[-1]; # no negative
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␤␤»
dalek ecs: 59a1d61 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Better spec :ENV and :w for Proc::Async.new
Ven pmurias: Also, you might want to use a Map rather than just an object for p6hashes
m: class A{}; my %h; %h{A.new} = 5; say %h 14:49
camelia rakudo-moar 800262: OUTPUT«"A<140474676297232>" => 5␤»
Ven ^ in JS, keys have to be strings (though we're doing something similar in p6?)
14:50 cognome left
Ven backlogs once in a while 14:52
14:53 Rotwang left
hoelzro o/ #perl6 14:58
PerlJam greetings hoelzro
15:02 ajr joined, ajr_ left, mberends joined, ajr is now known as Guest20373, Guest20373 is now known as ajr_
lizmat cycling& 15:04
15:07 brrt joined 15:10 bjz left
pmurias Ven: generally speaking nqp::existpos should die 15:13
* existspos
Ven pmurias: should it?
pmurias die as in be removed
15:14 bjz joined
pmurias the whole "sparse" array behavior can be just implemented in the Perl 6 layer without a low-level nqp::existspos support 15:14
Ven: but there is a test for negative indexes being passed to nqp 15:15
Ven oh, I see. 15:16
pmurias github.com/perl6/nqp/blob/master/t...pop.t#L141
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
15:17 Woodi joined
pmurias but good to know someone is reading the commits ;) 15:17
Ven Always :). 15:20
sorry for the noise
dalek p: db41176 | jonathan++ | tools/build/MOAR_REVISION:
Get a MoarVM with profiling improvements.
15:22
15:23 firnsy joined, firnsy left, firnsy joined
dalek kudo/nom: 90288f9 | jonathan++ | / (2 files):
Mark various extops up as allocating.

We missed these in the allocation profile before now, and they can be very significant sources of objects. Includes version bump to get the MoarVM additions to support this.
15:23
15:24 chenryn joined 15:27 mr-foobar joined 15:31 eternaleye left 15:35 denis_boyun_ left 15:36 eternaleye joined
FROGGS jnthn: can you take a look into that please before you go to bed? github.com/rakudo/rakudo/commit/51...nt-7780349 15:36
15:37 zakharyas left, Ven left
jnthn FROGGS: Not sure what you're meaning on the hllize bit off hand; a method call includes emitting a hllize 15:41
15:41 brrt left, kaleem left
FROGGS ahh, okay, nice :o) 15:41
15:41 anaeem1 left
FROGGS jnthn: I guess I am asking how to sneak a Parcel into $!list instead of the Array 15:42
as seen in the .DUMP
15:42 anaeem1_ joined
jnthn FROGGS: Hmm, is that not coming from the @EMPTY_LIST? 15:44
FROGGS: In which case, my @EMPT_LIST := infix:<,>() may do it
FROGGS jnthn: ohh, that could be it indeed
I've not thought about @EMPTY_LIST at all :o) 15:45
15:45 cognome joined 15:48 chenryn left
jnthn :) 15:48
Hope it helps a bit
jnthn should rest now...
15:49 pat_js joined
FROGGS jnthn: thank you :o) and sleep well 15:50
15:50 cognome left 15:51 FROGGS[mobile] joined
ajr_ Is this www.theregister.co.uk/2014/09/15/fr...ed_breach/ relevant? 15:56
16:01 FROGGS left
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? :)
virtualsue probably :)
pmurias yes 16:05
virtualsue: sorry
virtualsue no worries
pmurias virtualsue: but if you have any questions about nqp-js feel free to ask anyway ;)
16:08 [Sno] left 16:09 [Sno] joined
jnthn drops jnthn.net/tmp/hk.jpg for anybody who likes city views by night (was from this weekend in hong kong :)) 16:09
'night, #perl6
16:09 eternaleye left 16:10 [Sno] left 16:14 FROGGS joined 16:16 telex left 16:18 telex joined 16:19 dwarring left, eternaleye joined
dalek p-js: 41259ee | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Remove considered TODO.
16:22
p-js: 1c41a1e | (Pawel Murias)++ | src/vm/js/ (3 files):
Pass test 41.

Implement foo(|%named).
16:23 cognome joined, araujo joined 16:31 eternaleye left 16:33 eternaleye joined 16:35 jaffa4 joined
jaffa4 hi all 16:39
it is the same: Calling 'Print_c' will never work with argument types (Draw, RichText, Rect, IntTypedCArray[int32])
Expected: :(Draw $w, RichText $text, Rect $page, IntTypedCArray[int32] $pagelist)
16:39 eternaleye left
jaffa4 when the same is not the same 16:39
16:40 raiph left 16:45 kaleem joined 16:46 virtualsue left
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␤»
Timbus_ narrowed it down for you, carlin
16:47 eternaleye joined 16:48 liztormato joined 16:49 pmurias left
liztormato jaffa4: Pretty sure that Type[int32] is not completely implemented 16:49
Timbus_ i dont know for sure but, isn't the typecheck here meant for the perl6 side of things? 16:55
16:56 eternaleye left
Timbus_ like, you could use IntTypedCArray[Int] and it should be fine? 16:56
16:58 ggoebel1111118 joined
FROGGS[mobile] liztormato: these types do work in nativecall 16:59
16:59 skids left
FROGGS jaffa4: can you provide a short script that shows the problem? 16:59
jaffa4: the problem might be about how you create that array or so 17:00
17:00 ggoebel1111117 left
jaffa4 IntTypedCArray[Int] comes in as an argument as passed in as an arguement 17:00
FROGGS I don't understand that sentence 17:01
tony-oo timotimo: whats up
17:01 tony-oo is now known as tony-o
FROGGS jaffa4: ahh, you are literally passing IntTypedCArray[Int] ? 17:02
17:02 dakkar left 17:03 eternaleye joined, ajr_ left
jaffa4 froggs... pastebin.com/4BctuHNR 17:04
17:05 guru joined, guru is now known as Guest79464 17:06 Guest79464 is now known as ajr_
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 Akagi201 left
jaffa4 FROGGS: can you see the paste? 17:10
17:11 denis_boyun_ joined
FROGGS jaffa4: yes, and I think you should not pass a CArray[int32] type object, only pass instances 17:11
17:11 eternaleye left
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)
jaffa4: yes, sort of
jaffa4 It cannot be multi , it is not implemented yet
17:13 spider-mario joined
jaffa4 CArray[int32]:D? 17:13
D?
FROGGS for Defined
17:15 denis_boyun_ left 17:16 denis_boyun joined
FROGGS jaffa4: okay, I can confirm it is a bug 17:18
jaffa4: it looks like removing the type annotation (CArray[int32]) of the Print sub helps... 17:19
17:19 kaleem left
jaffa4 not sure what you mean 17:20
17:20 eternaleye joined
jaffa4 What is the final look for both functinos? 17:20
17:20 liztormato left
FROGGS -multi sub Print(Draw $w,RichText $text,Rect $page,CArray[int32] $pagelist) { 17:23
+multi sub Print(Draw $w,RichText $text,Rect $page, $pagelist) {
change sub Print like that
17:26 eternaleye left 17:28 zakharyas joined
jaffa4 yes, that is effective 17:30
17:31 FROGGS left 17:32 eternaleye joined 17:35 ajr_ left 17:36 FROGGS joined 17:38 camelia left 17:41 eternaleye left 17:43 eternaleye joined 17:49 kjs_ left 17:51 FROGGS[mobile] left
[Coke] moritz, diakopter: I can't ssh to host08: ssh_exchange_identification: Connection closed by remote host 17:56
looks like 7 is still up, though. 17:57
timotimo hey tony-o 17:59
nice to see you're here; i'll have to be AFK for a bit before we can talk
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
also, that connection wants to handle binary data properly, as websockets also support binary frames 18:00
(and the framing itself uses binary data in the headers)
18:03 guru joined, guru is now known as Guest68614 18:04 Guest68614 is now known as ajr_ 18:07 treehug88 left 18:08 slmult0 joined 18:09 dwarring joined 18:16 tphilipp joined 18:17 joescript joined 18:19 tphilipp left, tphilipp joined 18:20 btyler joined 18:23 baest_ joined, baest left 18:24 tphilipp left, joescript left 18:25 denis_boyun left 18:26 slmult0 left, denis_boyun joined, slmult0 joined 18:34 [Sno] joined
rindolf thinks that TimToady should totally do an www.reddit.com/r/IAmA . 18:35
PerlJam rindolf: What good would that serve exactly? 18:38
18:38 SamuraiJack left
huf he could talk about rampart 18:40
18:40 jack_rabbit joined
rindolf PerlJam: publicity. 18:42
PerlJam: and fame and fortune.
PerlJam: Larry Wall is a star. 18:43
PerlJam rindolf: he's also a finite resource that we should be careful about "over-spending" 18:44
rindolf PerlJam: well, it's worth it. 18:45
nine rindolf: looks more like a place for attention whores. Which is the diametrical opposite of TimToady :) 18:49
18:49 slmult0 left
rindolf nine: well , it'll be good for Perl and Perl 6. 18:52
nine rindolf: [citation needed] 18:54
rindolf nine: good publicity. 18:55
18:56 darutoko left 18:57 kjs_ joined 19:02 eternaleye left 19:03 slmult0 joined 19:06 mattp_ left 19:07 brrt joined 19:08 zakharyas left
brrt why... don't you just ask him? he's here often enough :-) 19:09
huf i think it would just descend into a "more than 10 years huehuehue"-fest 19:10
lizmat is surprised to see rindolf is worrying about Perl 6 19:20
none of his essays / blog posts / show this concern
is he changing is opinion ?
*his
brrt well, no surprise given perl6 awesomeness 19:21
:-)
i'm never on reddit anymore. and hacker news has gotten boring too 19:23
dalek line-Perl5: 086acaa | nine++ | / (3 files):
Translate Perl 5 exceptions to Perl 6 exceptions in run()
19:24
line-Perl5: 23f8ee1 | nine++ | / (3 files):
Handle Perl 5 exceptions when calling Perl 5 functions
line-Perl5: fc91c47 | nine++ | / (3 files):
Handle exceptions when calling Perl 5 package methods
line-Perl5: 2c8211e | nine++ | / (3 files):
Handle exceptions when calling Perl 5 object methods
FROGGS brrt: thedailywtf is still good though :o)
dalek ecs: 4559fe7 | (Elizabeth Mattijsen)++ | S01-overview.pod:
Emphasize the letters of the acronym PSA
brrt hasn't visited that in long
FROGGS brrt: don't do that now! you'll just waste time!! :P 19:27
brrt true :-) 19:28
dalek ecs: aebbc76 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
Add lemma for PPI
19:29 mattp_ joined, eternaleye joined
nine brrt: better write awesome code instead so others can write about your deeds :) 19:30
19:31 kurahaupo joined
dalek ecs: 581b3d2 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
Add lemma stub for pragma
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
FROGGS timotimo: common mistake *g* 19:33
I almost got mine today 19:34
19:35 treehug88 joined
lizmat hmmm...t/spec/integration/advent2009-day04.t hangs on HEAD on OSX 19:37
but only when run from make ? 19:38
brrt timotimo: too large or too small
19:38 mattp_ left
hoelzro parsed that as "bangs HEAD on OSX" 19:38
brrt bbiab
lizmat hoelzro o/ and :-) 19:39
hoelzro o/ lizmat!
lizmat well, that test file is not really special... :-(
19:40 mattp_ joined 19:41 slmult0 left 19:42 slmult0 joined 19:43 brrt left
lizmat apparently only hangs when done in the spectest :-( 19:44
diakopter m: say 3 19:52
lizmat three
diakopter aw, I guess host08 is offline; boo 19:53
lizmat yup, no camelia
diakopter hm, java caused out of memory 19:54
bad rakudo-jvm/evalserver
lizmat I guess it wasn't properly limited 19:55
diakopter rebuted 19:56
lizmat diakopter++ 19:58
dalek ecs: 0f271d7 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
Steal the first line for P5's perlpragma
20:02
20:03 camelia joined
diakopter bleh 20:03
m: say 3
20:03 rindolf left
lizmat Camelia still not online :-( 20:04
diakopter she's waking up
20:04 ChanServ sets mode: +v camelia
camelia rakudo-moar 90288f: OUTPUT«(timeout)» 20:04
diakopter m: say 3
camelia rakudo-moar 90288f: OUTPUT«(timeout)»
diakopter heh
20:05 xragnar_ joined, xragnar is now known as Guest7687, xragnar_ is now known as xragnar
diakopter m: say 3 20:05
camelia rakudo-moar 90288f: OUTPUT«3␤»
dalek line-Perl5: 1dd6c2f | nine++ | / (3 files):
Handle exceptions thrown in Perl 6 code called from Perl 5
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:06 cognome left 20:07 jack_rabbit left, cognome joined
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:07 eternaleye left 20:08 brrt joined
timotimo maybe it's time to write that weekly now ... 20:08
lizmat :-) 20:09
++timotimo
brrt lizmat: one of the differences between spectest and direct runningis the handling of file handles
20:09 Guest7687 left
timotimo nine: can you give me a little summary of what Inline::Perl5 can already do? 20:09
or is there perhaps a showcase example program that tries to show off everything?
tony-o timotimo: let me look at my source again so i can get some context
yoleaux 4 Sep 2014 21:17Z <timotimo> tony-o: i'm going to play around with your HTTP::Server::Async for a bit :)
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
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?
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 ...
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 ?!
timotimo spam spam spam :)
.botsnack
yoleaux :D
tony-o oops 20:10
diakopter .bostonack
nine timotimo: the README has examples of everything but the exception handling I just added: github.com/niner/Inline-Perl5
20:10 kjs_ left
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
20:11 eternaleye joined
timotimo fuck yeah :) 20:11
exception handling works in both directions already?
20:11 cognome left
nine timotimo: yes 20:11
timotimo cool 20:12
20:13 virtualsue left
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
brrt isn't doing much here but retelling information he vaguely heard 20:14
20:14 virtualsue joined
dalek line-Perl5: 60097f0 | nine++ | t/exceptions.t:
Add a test for P6 exception passed through P5 back to P6 to catch.
20:14
timotimo tony-o: it's not the re-parsing i'm worried about
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? :)
tony-o it also doesn't assign anything to the request or mark it complete if it doesn't get \r\n\r\n
timotimo i'm not entirely sure, but i think that's quadratic
20:15 eternaleye left
nine PerlJam: I'm....not sure :) 20:15
PerlJam: Inline::Perl6 would have to decide which Perl6 to actually embed. 20:16
PerlJam moarvm is reasonably small ;)
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?
or are you talking about before hand 20:18
before i realize that it might be a websock
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.
lizmat but there *could* be just one perl6 in your path, no? 20:19
you would just need to find out from there where the lib lives
tony-o timotimo: the documentation is wrong now for the registered callback, i'm updating the readme 20:20
20:20 spider-mario left
PerlJam nine: you should just bundle rakudo+nqp+moarvm with Inline::Perl6 20:20
(at least for the first approximation)
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.
diakopter yes, moarvm builds a shared library by default
20:22 b2gills joined
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
20:22 kjs_ joined, slmult0 left
nine diakopter: then I guess all it needs is some documentation on how to use it :) 20:22
diakopter it supports only one MVMInstance per process, though it's meant to support more someday, probably 20:23
20:23 firnsy left
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
20:23 denis_boyun___ joined
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
(and load the perl6.moarvm from the right place) 20:25
20:25 denis_boyun left
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:25
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.
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...
PerlJam s/ist/ish/
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:28
20:32 dolmen joined 20:35 kst joined, kjs_ left
dalek ast: 9781ce0 | (Elizabeth Mattijsen)++ | S02-magicals/KERNEL.t:
Properly skip signal related tests on parrot/jvm
20:38
20:40 virtualsue left
[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:42
20:42 grondilu left, mst left
[Coke] diakopter++, probably. 20:43
diakopter something like that
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
diakopter doesn't know and doesn't know how to find out
[with available time/attention resources]
[Coke] they've been running on 07 for months with no issues. 20:45
and 08 is a bigger box.
lizmat [Coke]: ok
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
synopsebot Link: perlcabal.org/syn/S03.html#line_5176
camelia rakudo-moar 90288f: OUTPUT«===SORRY!=== Error while compiling /tmp/owyMOn1gYI␤Virtual call $.pi may not be used on partially constructed objects␤at /tmp/owyMOn1gYI:1␤------> class A { has constant $.pi⏏ = 22/7 }; say A.new.pi # from S03:517…»
synopsebot Link: perlcabal.org/syn/S03.html#line_517
lizmat std: class A { has constant $.pi = 22/7 }
20:46 camelia left
lizmat :-( 20:47
that was a shortlived butterfly :-(
20:47 camelia joined
[Coke] more cores, anyway 20:48
20:48 kaare_ left
[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:48
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 ChanServ sets mode: +v camelia
dalek kudo/nom: de16265 | (Elizabeth Mattijsen)++ | src/core/Num.pm:
We have empty set ∅, then why not have π as well?

Not for parrot, to prevent heat death parsing times.
20:49
lizmat std: class A { has constant $.pi = 22/7 }
20:49 camelia left
diakopter [Coke]: ok cool, thanks 20:49
camelia reports Lost connection to server irc.freenode.org. 20:50
lizmat ok, seems doing something with std: kills camelia
timotimo tony-o: the point is that we can't close the connection when we turn the connection into a websocket
lizmat seems like an oversight in the move to 08
20:50 camelia joined
[Coke] r: say π 20:51
lizmat [Coke]: will need some time
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
20:52 ChanServ sets mode: +v camelia
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
..rakudo-{parrot,moar} 90288f: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ π used at line 1␤␤»
20:52 jaffa4 left 20:53 eternaleye joined
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:56
20:56 denis_boyun___ left
timotimo can someone see if the pull request for perl6/modules.perl6.org works properly and merge it if it does? 20:58
[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:00
FROGGS [Coke]: only for parrot and nqp-* 21:01
lizmat [Coke]: maybe the same trick as the empty_set can be used to create π
[Coke] FROGGS: also moar. 21:02
FROGGS [Coke]: no, usually not
[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!) :(
tony-o timotimo got ya- i'll look at how that would work
[Coke] FROGGS: it's happening right now.
I run my installed perl6, I get:
$ perl6
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 :)
FROGGS [Coke]: correct, you have an nqp<->rakudo mismatch
[Coke] FROGGS: THAT IS WHAT I AM SAYING, YES.
timotimo but i'm discovering i was only really using that as a reason to procrastinate work on my project
[Coke] that the build/install process is borked that it allows that.
FROGGS [Coke]: though, you can happily pull and reconfigure and make install moar without such a problem
[Coke] ... which I am not complaining about. 21:04
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)
PerlJam s/mode/move/
[Coke] I did say "also moar". apologies. I haven't tried that particular combination.
PerlJam: yes.
21:07 cognome joined 21:08 eternaleye left, anaeem1_ left
dalek ast: f696a6f | coke++ | S32-num/pi.t:
add test for literal π

  lizmat++
21:08
[Coke] timotimo: i love jquery. 21:09
please use it wherever javascript is sold. 21:10
timotimo vanilla-js.com/ 21:11
21:12 cognome left
gtodd either in my testing of the perlmonks logfile pattern matching "benchmark" ( 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 eleks.github.io/js2js/
gtodd has anyone else noticed a speed up ?
timotimo gtodd: could be jit vs no jit
gtodd doh! 21:15
yeah that's it
forgot I added that
21:15 dolmen left
[Coke] the vanilla js documentation link is going to a straight js documention link. 21:15
timotimo yes
gtodd timotimo: oh well ... so the "Great List Refactor" willl even be better than this ;-) 21:16
tadzik thatsthejoke.jpg :P
gtodd haha
timotimo [Coke]: also check out where the "plugins" link leads
[Coke] Idon'tgetit.com
gtodd chocolatejs.org
:P
[Coke] So you are not making a serious recommendation of technology I should look at?
timotimo oh, that exists, gtodd
gtodd so fat I use pure vanilla perl6
[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"
and "jquery is bloat and people learn jquery instead of learning js"
youmightnotneedjquery.com/ 21:18
[Coke] (natively available) ... do you support IE8 anywhere?
leont Perl6 doesn't have a monotonic timer yet, right?
timotimo no, when i detect an IE8, i display a huge overlay asking the user to upgrade
:P
leont: instant is monotonic
m: say now.WHAT
camelia rakudo-moar 90288f: OUTPUT«(Instant)␤»
timotimo m: say now
camelia rakudo-moar 90288f: OUTPUT«Instant:1410815962.589945␤»
21:19 eternaleye joined
[Coke] those samples are all much more verbose in IE than in jQuery. 21:19
and no note of whether the code is the same across browsers.
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…
S32/Temporal doesn't contain the word monotonic 21:21
timotimo m: say now - time
camelia rakudo-moar 90288f: OUTPUT«Instant:35.956720␤»
timotimo that's the amount of duplicate seconds
leont Wallclocks are notoriously unreliable for benchmarking purposes
Right. That's taking out once source of non-monotonicity, but that's not giving monotonic guarantees 21:22
AFAICT
[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
timotimo ok :) 21:23
[Coke] still lots of failures in rakudo-star dailies.
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
speaking of people with too much time
should get started on that weekly ...
[Coke] just a pita since I cannot easily mark a failure as "I already reported that". 21:25
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:31 eternaleye left 21:36 eternaleye joined
[Coke] nine: I find jquery MUCH easier to read. 21:36
"did they copy all this boilerplate required to do an ajax call with no library?" vs. "make an ajax call". 21:37
lizmat just realized that Str.lines is also recognizing unicode line endings 21:39
timotimo "oh no!"?
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: perlcabal.org/syn/S02.html#line_63
nine [Coke]: speaking names vs. a function that has two names without any meaning at all and no less than 6 (!!) completely different uses.
lizmat to make it configurable, I think we need a CCLASS_CRLF
I tried a diff for that: gist.github.com/lizmat/4f31120e7ca6bbebc16d
diakopter I think there was supposed to be some record separator (and maybe already there?)
lizmat does that make sense ?
nine sleep & 21:41
lizmat good night nine! 21:42
timotimo gnite nine :) 21:43
which person in here is perlpilot on github again? 21:45
diakopter PerlJam methinks 21:46
timotimo ah, that makes sense
lizmat it does?
timotimo it doesn't? 21:47
lizmat the names share the prefix Perl (case insensitively) 21:48
but that's about it :-)
21:51 pmurias joined
timotimo well, i meant it more like "that rings a bell" 21:53
lizmat ah, well it rang a bell for me as well, fwiw :-) 21:54
diakopter PerlJam always reminds me of ToeJam & Earl 21:55
timotimo p6weekly.wordpress.com/?p=232&s...76083d3297 - feedback pleez 21:56
tony-o timotimo: it looks like i could just add an untap if i see the header 'Upgrade: websocket' 21:57
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
or will we be losing data in between?
lizmat timotimo: seems to be one <li> too many at the end? 21:59
tony-o timotimo: i can untap after headers are complete
21:59 slavik left
timotimo lizmat: that's something i can fix by myself ;) 22:00
also the extroduction pararaph is missing
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
lizmat timotimo: moritz fixed the segfault when sending on a closes socket 22:01
timotimo ah, nice
lizmat also: Bags and Mixes now return pairs, as per spec change
timotimo "return pairs"? 22:02
lizmat m: say @(<a a b c c>.Bag)
camelia rakudo-moar de1626: OUTPUT«"a" => 2 "b" => 1 "c" => 2␤»
timotimo ah, when coerced to a list
lizmat unlike Set, which only returns keys in that case
m: say @(<a a b c c>.Set)
camelia rakudo-moar de1626: OUTPUT«a b c␤»
lizmat this used to be keys for all Set/Bag/Mixes 22:03
timotimo ah
that's something you implemented?
lizmat yes
timotimo thank you :)
lizmat TimToady did a some reification work that I think, made the spectest at least 5% faster
22:03 jack_rabbit joined
lizmat 02db739a82874e 22:04
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?
as a module or some kind of native p6 thing?
timotimo a module, of course 22:06
tony-o are you extending it into the http-server-async space ?
lizmat timotimo: that's about it from my end, I think 22:07
timotimo thank you :) 22:08
tony-o: i have not yet started, actually
just read the rfc and thought about things, checked out if all our dependencies are good enough yet (base64, sha1)
22:09 brrt left
tony-o timotimo: i'll put together a skeleton for the 'upgrade' header and include that as an example - 22:10
and fix the readme 22:11
timotimo cool, thanks :)
any good ideas for how to best handle static file serving?
22:11 slavik joined
tony-o probably another plugin - i'll put that together as the example of how to handle websockets too :-) 22:12
carlin how should I test code that says/prints? 22:14
lizmat also calls it a night
sleep&
tony-o carlin: what are you testing that says/prints? 22:21
anyone have output of what the separate is for windows @*INC ?
22:22 kjs_ left
carlin tony-o: perl6 code, it's a command-line interface, so I want to test that output is what is expected 22:24
22:24 exixt left
tony-o you could probably run it in a process or hijack stdout 22:25
alexghacker m: %t = a => 1; say !%t{"a"}:exists 22:26
camelia rakudo-moar de1626: OUTPUT«===SORRY!=== Error while compiling /tmp/hzVCR3YvxK␤Variable '%t' is not declared␤at /tmp/hzVCR3YvxK:1␤------> %t⏏ = a => 1; say !%t{"a"}:exists␤ expecting any of:␤ postfix␤»
alexghacker m: %t = a => 1; say !(%t{"a"}:exists)
camelia rakudo-moar de1626: OUTPUT«===SORRY!=== Error while compiling /tmp/IdLqG6DqgK␤Variable '%t' is not declared␤at /tmp/IdLqG6DqgK:1␤------> %t⏏ = a => 1; say !(%t{"a"}:exists)␤ expecting any of:␤ postfix␤»
alexghacker m: my %t = a => 1; say !%t{"a"}:exists
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␤␤»
alexghacker m: my %t = a => 1; say !(%t{"a"}:exists)
camelia rakudo-moar de1626: OUTPUT«False␤»
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
can someone please explain that to me?
TimToady operator adverbs are just tighter than comma 22:28
however...
m: my %t = a => 1; say %t{"a"}:!exists
camelia rakudo-moar de1626: OUTPUT«False␤»
TimToady you can negate the adverb in this case
alexghacker oooo.... shiny
timotimo good day, TimToady :)
alexghacker tyvm
tony-o m: my %t = a => 1; say so %t{"a"}:exists
camelia rakudo-moar de1626: OUTPUT«True␤»
tony-o m: my %t = a => 1; say !so %t{"a"}:exists 22:29
camelia rakudo-moar de1626: OUTPUT«False␤»
tony-o i like negative the adverb, didn't know that worked
timotimo "!so" is equivalent to "not" :P
TimToady m: my %t = a => 1; say not %t{"a"}:exists
camelia rakudo-moar de1626: OUTPUT«False␤»
TimToady or you can just use the ! that's looser
tony-o if i'm in a role, how do i get the class that the role is in?
TimToady ::?CLASS or so 22:30
timotimo TimToady: p6weekly.wordpress.com/?p=232&s...76867710ec ← looks good to you?
22:31 treehug88 left
tony-o Could not locate compile-time value for symbol ::?OUTER 22:32
timotimo that would be OUTER::
TimToady I also finished adding .plan, so it works right now
timotimo oooh!
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)
the specchange of Bag and Mix returning pairs was also this week 22:34
not just the implementation :)
but mostly I've been studying up for the GLR 22:35
tony-o m: role T { method t(){ say OUTER::?CLASS; }; }; class U does T { }; U.new.t(); 22:36
camelia rakudo-moar de1626: OUTPUT«===SORRY!=== Error while compiling /tmp/2iseSS2E7z␤Two terms in a row␤at /tmp/2iseSS2E7z:1␤------> role T { method t(){ say OUTER::⏏?CLASS; }; }; class U does T { }; U.new.␤ expecting any of:␤ post…»
tony-o sorry, i've been out of the loop on p6 for a little while writing an ios app
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();
camelia rakudo-moar de1626: OUTPUT«(U)␤»
tony-o thank you 22:38
22:38 exixt joined, kjs_ joined
TimToady and Mrs TimToady have been married 35 years today! That's longer than many of you are old. :) 22:42
diakopter barley 22:43
timotimo cool! :)
22:45 cognome joined 22:46 eternaleye left
tony-o 5 years older than i am :-) congrats! 22:48
22:50 cognome left, ajr_ left
carlin wonders who the youngest here is 22:50
22:52 kjs_ left
TimToady of the active contributors, probably Mouq++ 22:52
23:00 pmurias left 23:02 BenGoldberg joined
tony-o how old is mouq? 23:03
TimToady does not feel that that information is his to give out :) 23:05
BenGoldberg m: my %a; %a{"b"}.WHAT.say;
camelia rakudo-moar de1626: OUTPUT«(Any)␤»
BenGoldberg m: my %a; %a{"b".list}.WHAT.say;
camelia rakudo-moar de1626: OUTPUT«(Parcel)␤»
BenGoldberg m: my %a; %a{"b"} += 1; %a.say; 23:06
camelia rakudo-moar de1626: OUTPUT«"b" => 1␤»
BenGoldberg m: my %a; %a{"b".list} += 1; %a.say;
camelia rakudo-moar de1626: OUTPUT«"b" => 2␤»
BenGoldberg m: my %a; say %a{"b".list} + 1; # AHA! 23:07
camelia rakudo-moar de1626: OUTPUT«2␤»
BenGoldberg m: my %a; %a{"b".list}.say 23:08
camelia rakudo-moar de1626: OUTPUT«(Any)␤»
tony-o TimToady: looking at ::?CLASS, how do i get that into a string?
timotimo you mean {::?CLASS}?
23:09 cognome joined
tony-o yea 23:09
TimToady .^name maybe?
tony-o m: class t { method y { {::?CLASS}.name.say; }; }; t.y; 23:10
camelia rakudo-moar de1626: OUTPUT«␤»
TimToady no, no, timotimo was talking about interpolating inside "" 23:11
timotimo aye
TimToady and I was talking about calling into the metaobject
tony-o oic, that doesn't work either
TimToady which needs a ^
timotimo m: class t { method y { say "{::?CLASS}"; }; }; t.y;
camelia rakudo-moar de1626: OUTPUT«use of uninitialized value of type t in string context in method y at /tmp/lPD722ZcDI:1␤␤␤»
tony-o m: class t { method y { "{::?CLASS}".say }; }; t.y;
camelia rakudo-moar de1626: OUTPUT«use of uninitialized value of type t in string context in method y at /tmp/_FluJEIQ26:1␤␤␤»
timotimo m)
m: class t { method y { say "{::?CLASS.^name}"; }; }; t.y;
camelia rakudo-moar de1626: OUTPUT«t␤»
TimToady or .gist if you don't mind the parens 23:12
tony-o damn, getting lessons in p6 (again) after the break :-)
ty
timotimo yw 23:13
23:13 cognome left 23:24 telex left 23:26 camelia left, telex joined 23:28 araujo left 23:30 camelia joined 23:34 ChanServ sets mode: +v camelia 23:36 pat_js left 23:45 cognome joined 23:48 telex left, telex joined 23:50 cognome left
leont Git a double free in moar, no idea how to make this case small though :-/ 23:51
23:52 camelia left, Guest85949 left, erkan left, Alina-malina left 23:53 erkan joined, erkan left, erkan joined
leont It involved trying if @<foo> DWIMed (guess not) 23:53
23:53 Alina-malina joined 23:54 camelia joined, Alina-malina left, davido_ left 23:55 ChanServ sets mode: +v camelia, Alina-malina joined, davido_ joined 23:57 u-ou joined, u-ou is now known as Guest83826