»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
00:03 tinyblak joined 00:08 tinyblak left 00:15 araujo left
b2gills .tell jnthn It might be worth talking to Karl Williamson [email@hidden.address] about Unicode since he does most of the Unicode work on Perl 5, and may have some insight 00:17
yoleaux b2gills: I'll pass your message to jnthn.
00:30 DrEeevil left 00:35 xiaomiao joined 00:57 noganex joined 01:07 aborazmeh joined, aborazmeh left, aborazmeh joined 01:10 hobbs left 01:11 hobbs joined 01:13 telex left 01:14 telex joined 01:23 tinyblak joined
ugexe when i build in the wrong directory i get missing CORE.settings error, not QRegex.nqp 01:25
01:26 aborazmeh left
ugexe although i'd do a locate QRegex.nqp just to see what artifacts might be left 01:26
raydiak not when I build, but when I invoke my installed perl6 from inside the build dir of another rakudo...like this: 01:39
~/data/projects/perl6/rakudo > perl6 -e 'say 1' 01:40
Unhandled exception: Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp'
01:40 gfldex left
raydiak I always thought it was weird, but if I cd .. or anywhere else it works fine, so guess it auto-detects some things in the cwd 01:41
anyway, maybe not the same problem, but obviously some similar mismatch somewhere
s/obviously/likely/ 01:42
tony-o ive had that problem if make fails halfway through 01:43
01:46 ilbot3 left 01:48 ilbot3 joined 01:54 pierrot left 02:07 pierrot joined 02:13 noganex_ joined 02:15 noganex left 02:17 colomon left 02:22 skids joined 02:29 pierrot left, pierrot joined 02:45 pierrot left 02:46 jack_rabbit joined 02:56 mishin joined
mishin ./join #ru.pm 02:57
03:03 jack_rabbit left
hoelzro literal++ really deserves all of the credit for vim-perl6, because iirc, he wrote the original perl6.vim 03:07
03:07 pierrot joined
hoelzro alester and I are merely stewards 03:07
dalek ast: 0bd84e5 | TimToady++ | S06-multi/type-based.t:
stretch goals for coercive multis
03:25
TimToady .tell jnthn see the tests I added to S06-multi/type-based.t: there are 3 problems, 1) we need to set <constraint> or so on the candidate parameters that coerce (can emulate for now using 'where True'), 2) failed coercions fail hard rather than failing the bind, and 3) our current coercions are not suitable strict for pattern matching strings 03:28
yoleaux TimToady: I'll pass your message to jnthn.
03:35 fhelmberger joined 03:36 raiph left 03:40 fhelmberger left 03:46 mr-foobar left 03:56 jack_rabbit joined 03:57 kurahaupo1 joined 04:03 FROGGS_ joined 04:05 Sqirrel left 04:07 FROGGS left 04:11 kaare_ joined 04:25 KCL_ joined 04:30 mr-foobar joined 04:34 mr-foobar left 04:43 jack_rabbit left 04:45 Akagi201_ joined 04:47 Akagi201 left 04:55 mishin left
TimToady .tell jnthn also been thinking about MAIN subcommands, which probably need to have a command-line processor that knows how to produce a list of captures (one for each sublevel) rather than just a single capture 05:02
yoleaux TimToady: I'll pass your message to jnthn.
05:12 Sqirrel joined 05:37 rindolf joined 06:02 skids left 06:07 kaare_ left
jnthn TimToady Hmmmm. I could probably hack something up but it'd have...consequences... 06:13
yoleaux 00:17Z <b2gills> jnthn: It might be worth talking to Karl Williamson [email@hidden.address] about Unicode since he does most of the Unicode work on Perl 5, and may have some insight
03:28Z <TimToady> jnthn: see the tests I added to S06-multi/type-based.t: there are 3 problems, 1) we need to set <constraint> or so on the candidate parameters that coerce (can emulate for now using 'where True'), 2) failed coercions fail hard rather than failing the bind, and 3) our current coercions are not suitable strict for pattern matching strings
05:02Z <TimToady> jnthn: also been thinking about MAIN subcommands, which probably need to have a command-line processor that knows how to produce a list of captures (one for each sublevel) rather than just a single capture
jnthn TimToady: The "set constraint" bit is easy. The second bit is the tricky one, since 1) it's not a type-based test, so we can't cache on it, so coercing candidates will always hit the multi-dispatch slow path, 2) we can't know a coercion will work out without trying it and that means we have to catch any exceptions it throws to refuse to coerce, and swallowing exceptions is a bit icky (we don't on where clauses), and 3) we'd perform the coercion tw 06:16
06:16 hobbs left
TimToady twice? 06:18
06:18 hobbs joined
jnthn Yes, in a try block in the multi-dispatcher for the constraint check 06:18
And then again once we pick the candidate and invoke and it does it as it binds. 06:19
dalek kudo/nom: f5b595e | TimToady++ | src/Perl6/Actions.nqp:
disallow { *+* }
jnthn We might be able to avoid that in the future...somehow.
For now we'd almost have to do it out-of-band though rather than in a normal bind check 06:20
Because then we could not differentiate exceptions from trying to coerce from exceptions thrown by where clauses and default value expressions. 06:21
TimToady is there any way to just trap it at the real bind and nextsame to the next candidate
jnthn Not...really... 06:22
[Tux] ===SORRY!===
This representation (NativeRef) cannot unbox to a native int
Inline::Perl5 on fresh checkout 06:23
jnthn You mean emit a try statement as part of the sig binding?
TimToady yeah
presumably the nextsame mechanism is already there
jnthn I'd really rather not make signature binding code behave differently in an only from a multi... 06:24
TimToady though I doubt we can get all the way to removing IntStr etc if Rat() gladly accepts integers and Num() gladly accepts rats, and so on
jnthn But the nextsame would do odd things in an only, maybe?
TimToady well, but we know it's a multi at compile time 06:25
jnthn Yes, but so far we've had the way we interpret a signature distinct from whether the thing is an only or a multi 06:26
TimToady nod
well, something to keep in the back of your head for now, anyway
jnthn Aye 06:27
It seems the non-strictness hurts at least as bad as the rest.
Constrainty things then boil down to "which order are they in your program"
In this case, humans I guess imagine Int <: Rat <: Num in some sense, and that's the order you'd want to attempt the coercions. 06:28
But our type system (for the best in general) doesn't encode that.
if $subelem ~~ QAST::WVal && $subelem.dump ~~ /WhateverCode/ # sheesh! :P 06:30
nqp::istype($subelem.value, $*W.find_symbol(['WhateverCode'])) would be more robust, fwiw :) 06:31
jnthn can patch it
TimToady go for it
btw, we fail two arguably bogus tests because of that now 06:32
jnthn I'm in two minds about it...
TimToady it's easy enough to work around if you really need it 06:33
jnthn I guess it's restricted to { *+* } as the circumfix, so -> { *+* } is a workaround.
TimToady or { ;*+* } works too
or { do *+* }
but not { return *+* }
but we've seen that failure mode of thinking of * as $_ many times by now 06:34
so I think someone who really wants that can deal with it 06:35
people keep writing .map: { *.foo } 06:36
jnthn Yeah, it's been a common thinko.
TimToady and the last time I saw it, I added to my toto 06:37
and my little todo, too!
jnthn :D
Oh, on the multiple Capture thing, I maybe could use an example of how it'd look 06:38
06:40 sirdancealot left
dalek kudo/nom: c0b91a2 | jnthn++ | src/Perl6/Actions.nqp:
Test types, not strings, in { *+* } check.
06:43
TimToady basically a MAIN would have a sig that terminates with a 'subcommand' that can delegate to a different sub-command multi 06:44
jnthn Well, we can already do stuff like
sub foo('bar', |c) { }
And c is just the args beyond bar
TimToady but we want to prevent the initial MAIN from seeing the named args from after the subcommand, I think, hence a different capture for the subdispatch 06:45
[Tux] What would be the signature of a method that accepts a list of Pair's? 06:46
TimToady do they have to keep their order?
[Tux] nope
06:46 Akagi201_ left
TimToady are there dup keys? 06:46
[Tux] nope
TimToady then *%hash will slurp them as named args 06:47
[Tux] it is like it is called with the content of a Hash instead of the Hash ref
TimToady sub foo (*%hash) { say %hash.keys }; foo %*ENV
m: sub foo (*%hash) { say %hash.keys }; foo %*ENV 06:48
camelia rakudo-moar 6e7735: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤ in sub foo at /tmp/5DEK0sfOQ1:1␤ in block <unit> at /tmp/5DEK0sfOQ1:1␤␤»
TimToady hmm, that oughta work
m: sub foo (*%hash) { say %hash.keys }; foo |%*ENV
camelia rakudo-moar 6e7735: OUTPUT«MANPATH PERLBREW_VERSION PERLBREW_PERL SHELL PERL5LIB USER PERLBREW_BASHRC_VERSION PERLBREW_ROOT PATH _ PWD LANG PERLBREW_HOME HOME SHLVL PERLBREW_MANPATH LOGNAME PERLBREW_PATH LC_CTYPE␤»
TimToady there you go
jnthn |%*ENV
ah, you got it.
[Tux] gist.github.com/Tux/cbaf8932d690c2bf4509
TimToady m: sub foo (*@pairs) { say %@pairs.keys }; foo %*ENV 06:49
camelia rakudo-moar 6e7735: OUTPUT«MANPATH PERLBREW_VERSION PERLBREW_PERL SHELL PERL5LIB USER PERLBREW_BASHRC_VERSION PERLBREW_ROOT PATH _ PWD LANG PERLBREW_HOME HOME SHLVL PERLBREW_MANPATH LOGNAME PERLBREW_PATH LC_CTYPE␤»
jnthn TimToady: Is the two captures thing nothing more than about the args processor that invokes MAIN somehow splitting off a first arg, or args up to some point?
TimToady there's another way
jnthn I guess the piece I'm (we're? :)) missing is what gets the second set of args. 06:50
TimToady named plus any positionals up to the last one that is something like: 'show' is subcommand(&show-MAIN) 06:51
the arg to some trait that redispatches, maybe like that 06:52
presumably at the point you say something like 'nextsame' in the body
[Tux] in that gist I had «multi method print (IO:D $io, *@fld) returns Bool» commented out, as that is what gets called instead
TimToady or maybe you end it 'show', |c and then in the body you just call show_MAIN(|c), but I don't know how it intuits from that that it needs captures each with their own named hashes 06:54
could also Str $subcmd, |c and later &$subcmd(|c), but that's perhaps depending a bit too much on the goodwill of the PEBCAK 06:55
anyway, just random thoughts, but the important one was not combining all the switches into one hash 06:56
jnthn I guess it's figuring out the "stopper"
Anyways, $gf is back from work and has ideas about celebrating easter, so I should probably go do that. :) 06:57
TimToady Happy Eastier indeed!
*er
jnthn Thanks, you too!
o/
TimToady m: .map: { *.foo } 06:58
camelia rakudo-moar f5b595: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RiQIbINdIr␤Malformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *␤at /tmp/RiQIbINdIr:1␤------> 3.map: { *.foo…»
07:01 vendethiel left 07:02 vendethiel joined 07:09 hobbs left 07:11 hobbs joined
TimToady wonders if Rat[Int, 1000000] could be persuaded to yield a fixed-point type 07:13
zzz & 07:17
07:29 dolmen joined
moritz Happy Easter everybody! 07:31
07:36 diana_olhovik joined
dolmen moritz, Joyeuses Pâques ! 07:47
07:51 darutoko joined 07:55 Ven joined 07:56 Ven left
moritz God Påsken 08:00
08:02 Ven joined
cdc .u 卵 08:02
yoleaux No characters found
cdc m: say uniname(0x5375) 08:03
camelia rakudo-moar c0b91a: OUTPUT«<CJK Ideograph>␤»
cdc :( that was supposed to be Unicode Han Character 'egg' 08:04
08:07 dolmen left 08:20 espadrine_ joined
cdc m: say uniname(0xf09091a7) 08:31
camelia rakudo-moar c0b91a: OUTPUT«should eventually be unreachable␤ in block <unit> at /tmp/RTPPEaodVe:1␤␤»
cdc m: say uniname(0x10467)
camelia rakudo-moar c0b91a: OUTPUT«SHAVIAN LETTER EGG␤»
cdc \o/
FROGGS_ :o) 08:39
08:47 RabidGravy joined 08:54 hobbs left, hobbified joined 09:05 nbdsp joined
Ven m: say "\0\1"; 09:06
camelia rakudo-moar c0b91a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/a0U736fsDT␤Unrecognized backslash sequence: '\1'␤at /tmp/a0U736fsDT:1␤------> 3say "\0\7⏏051";␤ expecting any of:␤ argument list␤ double quotes␤ term␤»
Ven how2soh
DrForr m: my %a; %a<a> = item(%a); say %a 09:07
camelia rakudo-moar c0b91a: OUTPUT«(timeout)»
DrForr While we're waiting, is there the equivalent to Scalar::weaken? :)
nbdsp Greetings! Could someone advise please if there is a vim plugin supporting Perl 6 tags? 'Taglist' plugin supports only Perl 5, unfortunately. 09:08
09:10 diana_olhovik left, Akagi201 joined 09:18 Ven left 09:27 diana_olhovik joined 09:34 Akagi201 left, Akagi201 joined 09:36 gfldex joined
masak good almost-noon, #perl6 09:41
09:41 diana_olhovik left 09:44 Ven joined
Ven lizmat++ wendy++ # insanity, in the best possible way 09:44
masak nbdsp: not sure what you mean by "Perl 6 tags", but is github.com/vim-perl/vim-perl enough for your needs? 09:45
Ven TimToady: what do you mean by "MAIN subcommands"? 09:46
looks like something I'd be really interested with, considering a lot of my p6 work involves creating small tools that rely heavily on MAINs (and subsets :P) 09:47
09:49 diana_olhovik_ joined
nbdsp masak: As far as can understand, vim-perl only does syntax highlighting. 'Perl 6 tags' - means source code navigation between functions, definitions etc. 09:50
09:53 eli-se joined
RabidGravy m: class Sofware::Vendor {}; Software::Vendor.new() 09:59
camelia rakudo-moar c0b91a: OUTPUT«Could not find symbol '&Vendor'␤ in method <anon> at src/gen/m-CORE.setting:15902␤ in any find_method_fallback at src/gen/m-Metamodel.nqp:2908␤ in any find_method at src/gen/m-Metamodel.nqp:1052␤ in block <unit> at /tmp/alKwrk4V2T:1␤␤»
RabidGravy I think I understand *why* it forms the message like that, but is it possible to make it so that it has the whole name that was attempted by used? 10:01
masak nbdsp: oh!
RabidGravy having made the typo already it can be difficult to spot
masak nbdsp: I'm not re of anything that does that at present.
Ven irclog.perlgeek.de/perl6/2015-04-04#i_10389729 -- intellij does that 10:02
masak RabidGravy: feels like something we should be able to do Levenshtein on.
Ven: cool. I was not aware. 10:03
Ven it does so with certain kinds of things, and you also have a button to show the source code for a routine (usually pretty on point)
RabidGravy nbdsp, I guess it would be possible to create a tag file generator for p6 10:05
Ven has used and abused intellij, but is currently using emacs+evil-mode and hasn't found a very convincing perl hl package...
(though it seems I went a bit over-the-top as it tends to freeze after 3/4 hours)
10:06 Rounin joined 10:18 Ven left 10:21 prl joined
prl guys, can you tell me what does ':D' mean in the language design and function definitions? 10:22
like multi sub infix:<cmp>(Real:D, Real:D)
RabidGravy a "defined" instance of the type
vs :U "undefined" (i.e. a plain type) 10:23
prl thus the following will not match :D:
my Int $var; 10:24
RabidGravy yep
prl cool, thank you!
10:25 prl left
RabidGravy oh, I was just going to demonstrate 10:26
m: multi sub foo(Int:D) { say "defined" }; multi sub foo(Int:U) { say "undefined" }; my Int $a; foo($a); $a = 1; foo($a)
camelia rakudo-moar c0b91a: OUTPUT«undefined␤defined␤»
10:41 Ven joined 10:44 espadrine_ left 10:50 colomon joined
nbdsp I wonder hasn't there been an idea yet to add perl6 support to Exuberant ctags ctags.sourceforge.net/ which is extensively used in Vim plugins? 10:59
11:02 Sqirrel left 11:05 Perl6_newbee joined 11:07 kaare_ joined 11:40 Akagi201_ joined 11:44 Akagi201 left
RabidGravy nbdsp, I would think making a p6 version of metacpan.org/release/Perl-Tags would be the way to go in the first instance :) 11:45
11:49 espadrine_ joined 11:52 eli-se left
RabidGravy infact it would be way easier because you could just use the existing grammar 11:54
nbdsp RabidGravy: Strangely that such project hasn't yet been started, where one could contribute. 11:55
12:00 wtw left 12:01 espadrine_ left, wtw joined 12:11 Ven left 12:17 eli-se joined 12:19 Ven joined 12:35 torbjorn_ joined, torbjorn left 12:45 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk, eli-se left 12:47 Ven left
[Tux] $ p6doc use 12:50
Cannot locate use in any of the following paths:
masak's Text::CSV (of course) conflicts namewise with mine. In order to discriminate between the both, I need to create a test file that explicitely requires either 12:51
I saw it pass by on IRC, but cannot find it in the docs
use Text::CSV:auth<masak>; # would fit the lines I grepped from the log, except that masask did not have a auth entry in META.info (not provides fwiw) 12:53
12:54 torbjorn_ left 12:56 Ven joined
[Tux] so when testing in my own environment, it'll still take my module instead of masak's 12:57
12:59 eli-se joined
[Tux] out -> family. bbl 13:00
masak [Tux]: if your module's functionality is a superset of mine, then I'm willing to take my module off the ecosystem. 13:05
13:06 torbjorn joined
RabidGravy can anyone point me where in the spec that macros are discussed? 13:06
struggling to find it
masak RabidGravy: end of S06.
RabidGravy: but if you have any specific questions, this channel is the best place for them. 13:07
also perhaps read strangelyconsistent.org/blog/macros...long-break after S06.
RabidGravy cool cheers, wasn't quite understanding what the argument to the macro definition was 13:13
masak it's an AST. 13:14
an AST is an object representing a piece of program.
m: my $ast = quasi { say "OH HAI" }; say $ast.^name
camelia rakudo-moar c0b91a: OUTPUT«AST␤»
RabidGravy yeah got it now
masak \o/
13:19 Ven left
masak because of the role I have with Perl 6 macros, when anyone takes an interest in macros, I perk up too. I get a lot of useful information through feedback from interested people. 13:20
OpenBSD people discussing Long Term Support and compilers. marc.info/?l=openbsd-misc&m=137530560232232 -- I get vibes of Rakudo Star and pmichaud when I read that. 13:21
of course, Long Term Support is not the same thing as "doesn't break the ecosystem" -- but it's close enough. 13:22
nwc10 reads 13:23
13:24 Ven joined
nwc10 references www.curiousefficiency.org/posts/201...hon26.html -- Stop Supporting Python 2.6 (For Free) 13:24
13:25 Ven left
masak not supporting Python 2.6 makes a whole lot of sense, IMO. 13:25
nwc10 yes, having got about 50% into your link, agree 13:26
13:26 raiph joined
masak Python 2.7 is from 2010. that means that if you're still on 2.6 or lower, you did not get the happy news from *5 years ago*. 13:27
13:27 Ven joined
nwc10 Oh gosh, 5.8.8 was over 9 years ago 13:30
2.5 is newer than 5.8.8 13:32
masak they grow up so fast
nwc10 anyway, many CPAN authors seem to feel the same thing.
masak not sure I disagree -- except perhaps from a stubbornly "always make everything backwards compatible back to forever" standpoint 13:33
nwc10 I'm not totally sure what I think. It's a balancing act. It's rather like the joke 13:34
you owe the bank £1000, you have a problem 13:35
you owe the bank £1,000,000, the bank has a problem
masak I see what you mean.
nwc10 in that, too much "100% backwards compatibility" and you never get anywhere new
masak it's kind of in the interest of those who need that kind of backwards compatibility to make sure modules have it 13:36
nwc10 too little, and no-one upgrades, and then you might be somewhere new, but your userbase isn't your userbase any more
anyway, it's hard
13:36 brrt joined
nwc10 the thrust of that post about Python 2.6 was that you can get (supported) packages for "newer than 2.6" so please use them 13:36
if I read it correctly
masak: that was a very interesting message you linked to 13:40
13:41 nbdsp left, Ven left 13:43 tinyblak left
masak oh, cool. I wasn't 100% sure. 13:43
13:48 telex left 13:50 telex joined, sirdancealot joined 13:53 Ven joined 13:57 mohij joined 14:01 mohij left 14:02 BenGoldberg joined 14:03 tinyblak joined 14:04 BenGoldberg left 14:10 BenGoldberg joined 14:22 raiph left 14:24 nbdsp joined 14:37 ggoebel joined
timotimo o/ 14:38
brrt \\o timotimo 14:40
nbdsp Could someone advise please how to get the number of bytes in Str? ( '.chars' AFAIU returns the number of graphemes?) 14:44
timotimo that's right; if you want the number of bytes, you'll have to decide on an encoding first 14:45
so you'd do something like this:
FROGGS_ nbdsp: convert it to a buffer where bytes actually mean something
timotimo m: say "foobar".encode('ascii').perl
camelia rakudo-moar c0b91a: OUTPUT«Blob[uint8].new(102, 111, 111, 98, 97, 114)␤»
timotimo the Blob type now has an "elems" method
FROGGS_ m: say "foobar".encode('ascii').bytes 14:46
camelia rakudo-moar c0b91a: OUTPUT«6␤»
timotimo m: say "fööbär".encode('ascii').perl # while this blows up, of course
camelia rakudo-moar c0b91a: OUTPUT«Blob[uint8].new(102, 63, 63, 98, 63, 114)␤»
timotimo ... er ...
m: say "fööbär".encode('ascii').decode('ascii').perl
camelia rakudo-moar c0b91a: OUTPUT«"f??b?r"␤»
nbdsp timotimo, FROGGS, many thanks!
timotimo that's not supposed to raise an exception?
probably has a named for that
FROGGS_ m: say "fööbär".encode('ascii').decode('ascii') # there is an RT ticket about that
camelia rakudo-moar c0b91a: OUTPUT«f??b?r␤»
timotimo ah, OK 14:47
FROGGS_ timotimo: it should throw, yes
m: my $b = utf16.new(65); say $b.elems; say $b.bytes 14:48
camelia rakudo-moar c0b91a: OUTPUT«1␤2␤»
timotimo ah, "bytes"
that's better, since you don't have to look at the type of buf you have
FROGGS_ aye
working with .elems and utf8 would be fun :o) 14:49
14:50 brrt left 14:51 brrt joined
brrt m: "foobar".encode("utf16").bytes.say 14:51
camelia rakudo-moar c0b91a: OUTPUT«12␤»
brrt nice
\is it me r has cameia gotten faster 14:52
14:52 skids joined 14:54 raiph joined 14:55 kaare_ left
FROGGS_ brrt: it feels faster, yes 14:55
timotimo well, the recent moarvm tuning that made rakudo do almost no speshing during startup enhanced startup time and memory usage 14:56
that could be a part of it
though to be honest, i seem to see a disimprovement locally instead :| 14:57
brrt hmm 15:06
15:11 hobbified left 15:13 kurahaupo1 left, hobbs joined
nbdsp Could someone advise please what is the way to specify a custom module location for using in a program? Something like PERL5LIB environment variable? 15:16
When I try 'push @INC, "/path/to/module"' I get "variable @INC is not defined"
timotimo you can use either -I to supply one, use PERL6LIB, or use "use lib '/path/to/module'" in your code 15:17
Zoffix nbdsp, or use lib: doc.perl6.org/language/5to6#Perl_mo...brary_path 15:18
Oh you said that.
15:19 eli-se left
nbdsp Zoffix, timotimo, Thanks! 15:19
timotimo you're welcome 15:20
15:27 kurahaupo1 joined
timotimo github.com/timo/naive_json_parser - i'm looking to build a "classical" json parser in this repository to see if it'd be much faster than JSON::Tiny 15:34
i wonder where i should start looking
for inspiration, that is ... how other parsers are built 15:36
15:38 raiph left
Ven what's the best way to read a binary file in perl6? I can't seem to find "buffer" in IO, IO::File, IO::Handle, io_operators 15:40
JimmyZ Buf 15:41
moritz Ven: .read
Ven: doc.perl6.org/routine/read
Ven m: 4 R= my $f; # :D? 15:42
camelia rakudo-moar c0b91a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jSCcoeDhe3␤Cannot reverse the args of = because list assignment operators are too fiddly␤at /tmp/jSCcoeDhe3:1␤------> 034 R=7⏏5 my $f; # :D?␤»
Ven aww.
15:43 diana_olhovik_ left
Ven Okay, thanks moritz / JimmyZ 15:43
TimToady m: $(4) R= my $f; 15:44
camelia ( no output )
TimToady m: $(4) R= my $f; say $f;
camelia rakudo-moar c0b91a: OUTPUT«4␤»
Ven TimToady: should that be suggested in the error message?
TimToady m: 4 ==> my $f; say $f
camelia rakudo-moar c0b91a: OUTPUT«4␤»
TimToady no, it shouldn't :)
Ven or is that just insanity
TimToady m: 4 ==> my $f; say $f.WHAT 15:46
camelia rakudo-moar c0b91a: OUTPUT«(Array)␤»
TimToady er...
15:47 raiph joined
Ven list assignment too fiddly, they said 15:48
it is somewhat surprising, but it's true ==> is supposed to deal with list I guess :P
masak TimToady: bug? did you expect $f to be an Int?
TimToady not really, which is why I looked
masak oki
TimToady thing is, if we did allow list assignent to be reversed, it might do the same thing as ==> 15:51
hmm
m: 4 R|= my $f; say $f;
camelia rakudo-moar c0b91a: OUTPUT«any(any(), 4)␤»
TimToady m: 4 R||= my $f; say $f; 15:52
camelia rakudo-moar c0b91a: OUTPUT«===SORRY!===␤Cannot find method 'flat'␤»
TimToady m: 4 Ror= my $f; say $f;
camelia rakudo-moar c0b91a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zseXh3I5YM␤Cannot reverse the args of because assignment operator operators are too fiddly␤at /tmp/zseXh3I5YM:1␤------> 034 Ror=7⏏5 my $f; say $f;␤»
masak m: say 42 R= my $x; say $x
camelia rakudo-moar c0b91a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZsrtR8HVrz␤Cannot reverse the args of = because list assignment operators are too fiddly␤at /tmp/ZsrtR8HVrz:1␤------> 3say 42 R=7⏏5 my $x; say $x␤»
masak but that's not a list assignment, once you reverse it :)
TimToady m: 4 R+|= my $f; say $f; 15:53
camelia rakudo-moar c0b91a: OUTPUT«4␤»
TimToady m: 4 R//= my $f; say $f;
camelia rakudo-moar c0b91a: OUTPUT«===SORRY!===␤Cannot find method 'flat'␤»
15:54 brrt left 15:55 Ven left
TimToady m: 4 R+= my $f; say $f; 15:55
camelia rakudo-moar c0b91a: OUTPUT«4␤»
TimToady (if you know it's numeric) 15:56
15:56 captain-adequate left, molaf joined, captain-adequate joined
TimToady m: 4 Rmin= my $f; say $f; 15:56
camelia rakudo-moar c0b91a: OUTPUT«4␤»
TimToady m: -4 Rmin= my $f; say $f; 15:57
camelia rakudo-moar c0b91a: OUTPUT«-4␤»
TimToady that works with anything orderable
15:58 kaare_ joined
FROGGS_ $ perl6-j t/04-nativecall/15-rw-args.t 16:08
1..10
ok 1 - Perl's rw variable was set by C (char)
\o/
(note the j in perl6-j)
masak wow.
16:10 ggoebel left
timotimo that's impressive 16:13
FROGGS_ hmmm, no, not quite 16:14
the patch is quite small, but the difference between how nativecall works in moar and jvm is usually interesting :o) 16:15
timotimo OK :) 16:18
16:27 darutoko left 16:39 tinyblak left
timotimo m: say nqp::CCLASS_WORD 16:53
camelia rakudo-moar c0b91a: OUTPUT«===SORRY!===␤No registered operation handler for 'CCLASS_WORD'␤»
timotimo is there a good place to get these constants from? 16:54
16:54 nbdsp left
dalek Heuristic branch merge: pushed 47 commits to rakudo/newio by lizmat 16:56
FROGGS_ m: say nqp::const::CCLASS_WORD 16:58
camelia rakudo-moar c0b91a: OUTPUT«8192␤»
FROGGS_ timotimo: ^^
dalek Heuristic branch merge: pushed 47 commits to roast/newio by lizmat 16:59
Heuristic branch merge: pushed 44 commits to specs/newio by lizmat 17:00
timotimo oh, neato 17:02
tony-o timotimo: github.com/perl6/nqp/blob/7533c6bd....nqp#L1843
there is a full list - i was digging around in there yesterday
timotimo i saw the list and just copy-pasted that into my p6 code %)
17:02 Ven joined
nine_ moritz: I just ordered my new server. It'll have 32 GiB of RAM. More than enough to give a camelia VM 8 GiB. 17:21
Zoffix \o/ 17:24
timotimo so we'll be able to run "hello world" on rakudo-jvm now? :) 17:28
17:34 dolmen joined 17:36 Patterner joined
tony-o did the perl6 servers ever get ordered and put into use? 17:36
tadzik I think that's what p6c.org is :)
tony-o i think it was about 4 months ago :-) 17:37
awesome
timotimo yeah, many things if not all of them have been migrated 17:38
17:38 fhelmberger joined
timotimo a bunch of user's irc sessions, for example, now live on irc.p6c.org 17:38
17:38 lucasb joined 17:40 tinyblak joined, Psyche^ left, darutoko joined 17:42 Perl6_newbee left, fhelmberger left
tadzik synopsebot is still on feather 17:44
17:45 tinyblak left
FROGGS_ tadzik: lol 17:48
masak we should totally have a bot called "synapsebot", too. you tell it a word you're thinking about, and it tells you a word back. people add associations by telling it "synapsebot: parameters makes me think of arguments" 17:49
"arguments makes me think of brawling" etc
the usefulness of all this for the Perl 6 community is debatable, and subject to further study. quite possibly I'm just starving for dinner. :) 17:50
we should also have a "synopsisbot", which accepts a gist with text and summarizes it for you. 17:51
tadzik FROGGS_: NO LOL 17:52
masak NO PROJECT EULER 17:53
tadzik NO FUN ALLOWEDT
masak THERE'S ONLY ONE OBVIOUS WAY TO HAVE FUN
(and it doesn't involve laughing out loud, or asking about math problems)
then we should get a syllogismbot, which tells you if your conclusion that Socrates is mortal follows from the propositions. 17:54
and a syntaxbot, that... wait, camelia's std already does that. 17:55
17:58 Ven left 18:15 dolmen left
lucasb Hello, #perl6 18:25
Zoffix \o
lucasb Given a class, is there a way to find all the subclasses it has?
timotimo m: say Int.^methods 18:32
camelia rakudo-moar c0b91a: OUTPUT«Int Num Rat FatRat abs Bridge chr sqrt base polymod expmod is-prime floor ceiling round lsb msb narrow Range sign conj rand sin asin cos acos tan atan atan2 sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotan…»
timotimo m: say Int.HOW.^methods 18:33
camelia rakudo-moar c0b91a: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine'␤ in method gist at src/gen/m-CORE.setting:9076␤ in sub say at src/gen/m-CORE.setting:18721␤ in block <unit> at /tmp/hN7khobE04:1␤␤»
timotimo m: say Int.HOW.^methods>>.name
camelia rakudo-moar c0b91a: OUTPUT«archetypes new new_type add_fallback compose roles role_typecheck_list concretization is_composed can setup_junction_fallback find_method_fallback has_fallbacks set_name name WHY set_why ver auth set_ver set_auth set_stash_type add_stash add_attribute comp…»
timotimo m: say Int.HOW.^methods>>.name[^20]
camelia rakudo-moar c0b91a: OUTPUT«archetypes new new_type add_fallback compose roles role_typecheck_list concretization is_composed can setup_junction_fallback find_method_fallback has_fallbacks set_name name WHY set_why ver auth set_ver␤»
timotimo m: say Int.HOW.^methods>>.name[20..^40]
camelia rakudo-moar c0b91a: OUTPUT«set_auth set_stash_type add_stash add_attribute compose_attributes set_rw rw get_attribute_for_usage attributes add_method methods method_table submethod_table declares_method lookup cache cache_get cache_add add_private_method private_method_table␤»
timotimo m: say Int.HOW.^methods>>.name[40..^60]
camelia rakudo-moar c0b91a: OUTPUT«find_private_method set_autogen_proto add_multi_method multi_methods_to_incorporate incorporate_multi_candidates add_meta_method meta_method_table compose_meta_methods add_role roles_to_compose exclude_parent add_parent parents hides hidden set_hidden set_…»
timotimo m: say Int.HOW.^methods>>.name[50..^70]
camelia rakudo-moar c0b91a: OUTPUT«exclude_parent add_parent parents hides hidden set_hidden set_default_parent_type has_default_parent_type get_default_parent_type compute_mro c3_merge mro mro_unhidden find_method find_method_qualified publish_method_cache isa does type_check publish_type_…»
timotimo m: say Int.HOW.^methods>>.name[70..^80] 18:34
camelia rakudo-moar c0b91a: OUTPUT«add_trustee trusts is_trusted create_BUILDPLAN BUILDPLAN BUILDALLPLAN set_is_mixin is_mixin set_mixin_attribute mixin_attribute␤»
timotimo hmm
18:38 raiph left
dalek p: 9956347 | FROGGS++ | tools/build/MOAR_REVISION:
bump moar revision
18:44
p: 2ce7c31 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
handle 'is rw' params in native calls

We pass these arguments off as pointers to their given type, and therefore allocate, let the C function write to it, fetch the written value and store it in our variable after the call was made.
nwc10 # A fatal error has been detected by the Java Runtime Environment: 18:45
#
# SIGSEGV (0xb) at pc=0x00007f91cad761d7, pid=17870, tid=140263983933184
that was make test, with TEST_JOBS=24
dalek kudo/nom: 64ac2bd | FROGGS++ | tools/build/NQP_REVISION:
bump nqp/jvm revision for 'is rw' params in nativecall
18:46
kudo/nom: 143f621 | FROGGS++ | t/04-nativecall/15-rw-args. (2 files):
add tests for 'is rw' params in nativecall
FROGGS_ nwc10: do you know what test file segfaulted? 18:47
nwc10 not exactly. "all of them" roughly
I either get all the tests passing
or 18:48
FROGGS_ :S
nwc10 they all fail with parse errors
that was the first SEGV,though
so,I don't know if it's Rakudo on JVM concurrency bug
or JVM bug
but if we can get a SEGV, that suggests JVM bug
FROGGS_ or just about hitting memory limits?
nwc10 possibly, but for the JVM, probably not the machine 18:49
timotimo TEST_JOBS doesn't do concurrency, or does it run the evalserver perhaps?
nwc10 I figure it has to be the eval server, but I've not checked the code
I was trying to work out if there's a magic number below which it always passes, and above which it always fails 18:50
no, there isn't
24 goes eitherway
moritz j: say 'Hello, world' 18:52
camelia rakudo-jvm c0b91a: OUTPUT«Error while reading '/home/camelia/p6eval-token': No such file or directory at /home/camelia/rakudo-inst/bin/eval-client.pl line 10.␤»
moritz eeks
j: say 'Hello, world' 18:54
camelia rakudo-jvm c0b91a: OUTPUT«Hello, world␤»
moritz timotimo: ^^ we can already :-)
18:57 Zoffix left
nwc10 it has to be the jobserver, as there's a single java process that looks like this: 18:58
28081 nicholas 20 0 8587m 2.3g 11m S 1648.6 2.4 7:52.38 java
that's 1648.6% of CPU, 2.4% of RAM
19:04 rindolf left
moritz nine_: once you have the VM, and have given me access, I can start to migrate camelia 19:07
19:11 vendethiel left 19:12 vendethiel joined
tadzik oh joy.. imgur.com/BS6ufuC 19:15
masak today's autopun spotting: twitter.com/rabcyr/status/584779188093251584 19:18
vendethiel tadzik: that just tells how amazing you are for perl6 :p 19:19
masak tadzik++
vendethiel tadzik++ :-)
tadzik hm, that's a good way to look at it 19:20
masak lucasb: classes are "not supposed to" know which subclasses they have. 19:21
lucasb: if they do know that, your system has un-GC-able subclasses.
vendethiel masak: actually, that's a feature I'd love to have "in some way"
my use case is: pattern-matching exhaustiveness checking, most probably in a macro
masak if it were up to me, that should be computable, but "the hard way", O(classes in the system)
vendethiel scala has that (with abstract class + case classes extending it, but only if the abstract base class is "sealed", meaning it can't be extended from another file) 19:22
masak *nod*
ooh! question: what should I use if I want the output from a shell command, like from qqx[$cmd], but I want it lazily, line-by-line. basically qqx[$cmd].lines but get the lines ASAP. 19:25
...?
moritz masak: Proc::Async 19:26
masak ok, and Bring Your Own Quote Modifier?
my goal is `for <<something simple>> -> $line { .. }`
I guess I could define my own sub. 19:27
moritz you'd have to, yes
masak checks out Proc::Async
moritz doc.perl6.org/type/Proc::Async it's even documented!
masak \o/ 19:28
dalek c: c84b34a | moritz++ | lib/Type/Proc/Async.pod:
Small fix for Proc::Async
tony-o masak: you can use Proc::Async.stdout.act(-> $data { ... }) if you're looking to just capture data as it happens 19:31
lucasb masak: thanks for the note
dalek c: a0d233f | moritz++ | lib/Perl6/TypeGraph/Viz.pm:
Generate links in type graphs without trailing .html
masak tony-o: cool. and then wrap that in a sub so it looks nice :) 19:32
tony-o i found it the other day when writing 'overwatch' :-)
masak overwatch?
tony-o i pipe mine to 'print' and to $*ERR.print
are you familiar with supervisor in node? 19:33
moritz wonders if gather { $proc.stdout.act(&take) } works
masak tony-o: yes, I know what it is.
tony-o github.com/tony-o/perl6-overwatch
masak also inotify on Linux. 19:34
tony-o a clone of that, i plan to go a step further and develop a way to create daemon scripts for nix and services for windows
more just a 'how does it work' thing, for me
masak cool. tony-o++
tony-o m: my $p = Proc::Async.new("find", ["."]); gather { $p.stdout.act(&take); }; await $p.start; 19:43
camelia rakudo-moar 143f62: OUTPUT«Proc::Async is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:1␤ in method new at src/RESTRICTED.setting:32␤ in block <unit> at /tmp/XxvDrJttsH:1␤␤»
tony-o ah, segfaulted for me
masak: interestingly .act doesn't seem to get called without the <newline> character - if i try the .act on a process of "echo -n 'test'" then i get a ===SORRY=== message 19:45
masak sounds like a bug to me. 19:46
vendethiel, eli-se: I thought of you two when I found jozefg.bitbucket.org/posts/2015-03-24-pcf.html 19:54
vendethiel it probably doesn't look enough like c++ to el-ise ;-) 19:55
masak very clear and inspiring code/explanations.
19:59 noganex_ left
ugexe is Test::IO::Capture a core perl6 module? i cant install http::useragent because of it 20:02
n/m, panda just isnt installing all of the dependencies it should apparently 20:07
20:08 btyler_ left 20:17 darutoko left
lucasb m: 1; 2 20:19
camelia rakudo-moar 143f62: OUTPUT«WARNINGS:␤Useless use of constant integer 1 in sink context (line 1)␤»
lucasb m: 1.0; 2
camelia ( no output )
masak lucasb: 'say'
lucasb ^^ I don't know if this is intended or not, but these "constant in sink context" warnings only appear for ints, nums and strings, but not for any arbitrary object.
masak oh, interesting. 20:20
m: 1e0; 2
camelia rakudo-moar 143f62: OUTPUT«WARNINGS:␤Useless use of constant floating-point number 1 in sink context (line 1)␤»
masak judging from the source code, those seem to be the easy ones to catch. 20:21
m: say 1.WHAT; say 1e0.WHAT; say "HAI".WHAT; say 1.0.WHAT
camelia rakudo-moar 143f62: OUTPUT«(Int)␤(Num)␤(Str)␤(Rat)␤»
masak (see method visit_want in src/Perl6/Optimizer.nqp) 20:22
20:23 Sqirrel joined
lucasb masak: You are right, just SVal, IVal, NVal... 20:23
masak I don't know if that's a hard limit, or just "we did the simple stuff first". 20:24
I agree that it feels like Rats should be just as sink-detectable.
but sadly I don't have the l33t props to whip up a fix for that.
someone jnthn-complete might be able to. 20:25
lucasb :)
20:26 eli-se joined
masak eli-se! \o/ 20:27
eli-se hi
masak eli-se: irclog.perlgeek.de/perl6/2015-04-05#i_10392680
20:27 btyler joined
eli-se wooot 20:27
well
I am implementing a language. :p 20:28
masak guess that's why I thought of you :)
eli-se I just went out to dinner with entire family
and I was thinking about a programming problem all the time
like, for four hours.
masak eli-se: been there, done that ;)
eli-se the spareribs were delicious though 20:30
:3
tony-o is 'start { ... }' and 'start({ ... })' handled differently behind the scenes? 20:37
20:38 Zoffix joined
tony-o if i send a connection accepted in one block to a channel and try to .recv i never receive data, if i try to .close in the same channel i get the error that the socket is not available 20:40
masak m: say &start.WHAT 20:42
camelia rakudo-moar 143f62: OUTPUT«(Sub)␤»
masak tony-o: shouldn't be handled differently.
all other things being equal.
tony-o masak: if i do start {...} the connection.write never happens (with no error) and with parens it does happen and close is possible, although .recv still doesn't happen as i'd expect 20:43
20:44 Zoffix left
tony-o gist.github.com/tony-o/ae5c68d1b61ce97db09e 20:45
20:45 KCL joined
masak weird. 20:46
I don't see anything wrong or suspicious offhand.
tony-o should that .recv work cross thread?
20:47 Zoffix joined 20:48 KCL_ left 20:50 kaare_ left
tony-o it appears the IO::Socket::INET.accept doesn't work cross thread either 20:53
or not in a way i'd expect -
20:58 jack_rabbit joined
RabidGravy is it possible that some static storage in the c library is screwing that up? 21:15
tony-o in moar? 21:17
21:17 dolmen joined
RabidGravy in the glibc or wherever I was thinking 21:17
haven't look at either code so it's merely wild speculation 21:20
BenGoldberg m: say uniname('𝑚') 21:23
camelia rakudo-moar 143f62: OUTPUT«MATHEMATICAL ITALIC SMALL M␤»
BenGoldberg m: say uniname('𝑛')
camelia rakudo-moar 143f62: OUTPUT«MATHEMATICAL ITALIC SMALL N␤»
21:26 espadrine_ joined 21:29 noganex joined 21:41 khisanth_ joined 21:42 dj_goku joined 21:43 tinyblak joined 21:44 Khisanth left, dj_goku_ left 21:48 tinyblak left
dalek ecs: 438163b | (Stéphane Payrard)++ | S99-glossary.pod:
bundle, Task::Star, irc related infos
21:49
BenGoldberg Is there any chance that perl6 could be made to run in a web browser? Either by compiling to java, actionscript, or perhaps chrome's NaCL? 21:51
masak BenGoldberg: I think our best shot at that is pmurias++' work on giving Rakudo a JS backend. 21:53
as far as I understand, nqp already has a JS backend. Rakudo not quite yet.
RabidGravy I find the idea strangely compelling and horrible at the same time 21:54
masak it's 2015. everyone compiles to JS. better get used to it. :) 21:55
Zoffix :)
21:56 virtualsue joined 21:57 virtualsue left
BenGoldberg I was hoping to hear that someone had gotten the jvm backend of rakudo working in a java applet 21:58
Zoffix Oh god! The horror!
RabidGravy no on balance I think I'd rather have javascript 21:59
21:59 espadrine_ left 22:01 erdic left
eli-se .tell vendethiel I implemented sleep with Boost.Asio! 22:07
yoleaux eli-se: I'll pass your message to vendethiel.
eli-se yoleaux: thanks mate you're great 22:08
22:11 jack_rabbit left 22:13 RabidGravy left 22:18 erdic joined
timotimo eli-se: yoleaux likes to get .botsnack 22:21
eli-se .botsnack 22:22
yoleaux :D
eli-se .botsnack
yoleaux :D
eli-se :D
22:26 jack_rabbit joined
dalek ecs: ecda04f | (Stéphane Payrard)++ | S21-calling-foreign-code.pod:
S21: removing now obsolete mentions of zavolaj
22:30
22:49 Zoffix left
dalek ast: 008b78c | TimToady++ | S0 (2 files):
Deal with double-closures found by new prohibition
22:49
masak new prohibition? where? 22:50
22:53 dolmen left
TimToady (1,2,3).map: { * + 1 } 22:53
m: (1,2,3).map: { * + 1 }
camelia rakudo-moar 143f62: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_8C9fcwl_T␤Malformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *␤at /tmp/_8C9fcwl_T:1␤------> 3(1,2,3).map: …»
TimToady easily worked around if that's really what you mean 22:54
m: (1,2,3).map: -> { * + 1 }
camelia rakudo-moar 143f62: OUTPUT«Unhandled exception: Too many positionals passed; expected 0 arguments but got 1␤ at /tmp/QP9KUtjyO5:1 (<ephemeral file>::2)␤ from src/gen/m-CORE.setting:9662 (/home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm::558)␤ from src/ge…»
TimToady m: (1,2,3).map: -> $ { * + 1 }
camelia ( no output )
masak ah; f5b595ed2
TimToady but we keep seeing that error of thinking of * as if it were $_ 22:55
I just was too under the weather last night to fix the spillover in roast from that 22:57
masak got it.
well, I have no complaints. this seems to be a good case of limiting crazy uses.
I have never used {} with *, nor have I ever considered it, nor do I think I ever will. 22:58
lucasb m: say (1,1e0).map: *.isa(Int) 23:05
camelia rakudo-moar 143f62: OUTPUT«True False␤»
lucasb m: say (1,1e0).map: * ~~ Int
camelia rakudo-moar 143f62: OUTPUT«No such method 'count' for invocant of type 'Bool'␤ in method reify at src/gen/m-CORE.setting:9586␤ in block at src/gen/m-CORE.setting:9494␤ in method reify at src/gen/m-CORE.setting:9469␤ in block at src/gen/m-CORE.setting:9494␤ in method…»
lucasb I suppose I can't use "* ~~ SomeType" to mean "isa"? 23:06
Another thing...
m: module Foo {}; say Foo.does(Any) 23:07
camelia rakudo-moar 143f62: OUTPUT«True␤»
lucasb m: module Foo {}; say Foo.isa(Any)
camelia rakudo-moar 143f62: OUTPUT«Cannot call isa(Perl6::Metamodel::ModuleHOW: Foo, Any); none of these signatures match:␤ (\SELF: $type, *%_)␤ (\SELF: Str:D $name, *%_)␤ in method isa at src/gen/m-CORE.setting:1284␤ in block <unit> at /tmp/aEzUCy4Fex:1␤␤»
lucasb Is a module even an object?
masak m: module F {}; say F ~~ Mu 23:08
camelia rakudo-moar 143f62: OUTPUT«True␤»
masak seems so :)
'night, #perl6
TimToady m: say * ~~ Whatever 23:10
camelia rakudo-moar 143f62: OUTPUT«True␤»
23:14 Rounin left 23:26 telex left 23:28 telex joined, lucasb left 23:31 xiaomiao left 23:35 xiaomiao joined
timotimo tony-o: maybe it'd be better to pass rich objects around through the channel and not have a hash that's being accessed concurrently? 23:37
our hashes don't lock themselves by default and if you don't mutex write access on its keys, you might get into trouble 23:38
ah, you're only adding new keys in the connection handler ... i'd still pass around that whole hash that also includes the buffer to at least couple it looser 23:39
timotimo heads off to bed 23:40
testers.p6c.org/reports/39580.html - this looks painful :( 23:41
tony-o timotimo: i tried just passing the connection off 23:44
has the same effect of .recv being empty, also noticed if i created the I:S:I in the same thread as the .recv call, it would receive data where it wouldn't otherwise 23:45
timotimo that's weird! perhaps we lack code to handle sockets that "belong to" or "have been created for" a different uv_loop, but i thought since we only have the sockets in the given loop for a very short time, that should be fine? 23:47
it's good that you found something like this; could you turn it into a simple-ish test case perhaps?
23:48 rivarun left 23:49 rivarun joined
dalek kudo-star-daily: c591c5c | coke++ | log/ (2 files):
today (automated commit)
23:54
kudo-star-daily: f2c364e | coke++ | log/ (2 files):
today (automated commit)
kudo-star-daily: 21fb00b | coke++ | log/ (2 files):
today (automated commit)
rl6-roast-data: fc8dee4 | coke++ | / (8 files):
today (automated commit)
rl6-roast-data: 1f88773 | coke++ | / (9 files):
today (automated commit)
tony-o timotimo: yea i'll upload a gist 23:59