»ö« 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.
timotimo m: multi sub f($target, @outers) { "<apply>" ~ f($target, @outers[1..]) ~ "</apply>" }; multi sub f($target, @($a)) { "<apply>" ~ $a ~ $target ~ "</apply>" }; say f("yippie", <foo bar baz quux>); 00:00
camelia rakudo-moar cd9001: OUTPUT«===SORRY!=== Error while compiling /tmp/3vKwgWX1d9␤Please use ..* for indefinite range␤at /tmp/3vKwgWX1d9:1␤------> rs) { "<apply>" ~ f($target, @outers[1..⏏]) ~ "</apply>" }; multi sub f($target, ␤»
timotimo m: multi sub f($target, @outers) { "<apply>" ~ f($target, @outers[1..*]) ~ "</apply>" }; multi sub f($target, @($a)) { "<apply>" ~ $a ~ $target ~ "</apply>" }; say f("yippie", <foo bar baz quux>);
camelia rakudo-moar cd9001: OUTPUT«<apply><apply><apply><apply>quuxyippie</apply></apply></apply></apply>␤»
timotimo oh, i missed something 00:01
m: multi sub f($target, @outers) { "<apply>" ~ @outers[0] ~ f($target, @outers[1..*]) ~ "</apply>" }; multi sub f($target, @($a)) { "<apply>" ~ $a ~ $target ~ "</apply>" }; say f("yippie", <foo bar baz quux>);
camelia rakudo-moar cd9001: OUTPUT«<apply>foo<apply>bar<apply>baz<apply>quuxyippie</apply></apply></apply></apply>␤»
adu its not a traditional FP combinator
timotimo this one's recursive, if you like that
adu ok 00:02
that's good
00:04 bjz_ left
adu hanks timo 00:04
*thanks
raydiak timotimo++ # not completely misunderstanding the question like me :) 00:05
00:06 denis_boyun_ left
smls Why not just: 00:10
m: sub f($target, @outers) { [~] @outers.map("<apply>" ~ *), $target, ("</apply>" xx @outers) }; say f("foo", [1, 2, 3]);
camelia rakudo-moar cd9001: OUTPUT«<apply>1<apply>2<apply>3foo</apply></apply></apply>␤»
00:15 smls left
timotimo yeah, that's much better 00:24
TimToady: replacing @!neighbours[$x;$y].any === Burning with .grep( Burning ) makes rc-forest-fire a bit faster; does that sound like an acceptable optimization? 00:33
raydiak m: sub foo ($x is copy, @a) { $x = "<apply>$_$x\</apply>" for @a.reverse; $x }; foo("x", <a b c>).say
camelia rakudo-moar cd9001: OUTPUT«<apply>a<apply>b<apply>cx</apply></apply></apply>␤»
00:34 Mouq left
timotimo hm. i need to control for randomness 00:34
TimToady you mean in the benchmark? 00:35
timotimo yes
TimToady the purpose of the benchmark is to measure what's slow, not to cheat around it :)
timotimo haha! i can just use bench to run the benchmark multiple times!
well, i have no clue how to further optimize junctions for now 00:36
TimToady then, er, do it later... :)
timotimo i guess i had that coming :) 00:37
TimToady the best thing to do here is probably wait for the GLR
which may give you a better iterator for any to use 00:38
adu timotimo: sweet! 00:39
timotimo++
timotimo hm?
TimToady m: say any(1,2,3) == 2 00:40
camelia rakudo-moar cd9001: OUTPUT«any(False, True, False)␤»
timotimo TimToady: aye. i'm a bit annoyed by how often i reach a point where i go "well, better wait for the GLR to land for this one"
adu timotimo: smls's improvement
timotimo but why do i get a ++ for smls' work? :)
TimToady you'll note that an any with two False's in it has done some extra work it didn't really need to 00:41
adu generalized left-to-right right-most derivation?
smls++ 00:42
timotimo: you write the first draft
raydiak was wondering if multiple instances of the same object should collapse to one in a junction 00:47
timotimo it was also the worst draft :) 00:48
bench claims with .grep it's 32x per second and with any it's 22x 00:51
01:00 adu left 01:03 adu joined 01:06 rurban joined 01:12 raiph left 01:13 raiph joined 01:15 Mouq joined
timotimo m: say "building the core setting generates { 9307097 / 1024 } kilobytes of jitted bytecode (that is { 9307097 / 1024 / 1024 } megabytes)" 01:21
camelia rakudo-moar cd9001: OUTPUT«building the core setting generates 9088.961914 kilobytes of jitted bytecode (that is 8.87593937 megabytes)␤»
01:22 alexghacker left
timotimo m: "it's an average of { 9088.961914 / 1725 } kilobytes per frame" 01:22
camelia ( no output )
timotimo m: say "it's an average of { 9088.961914 / 1725 } kilobytes per frame"
camelia rakudo-moar cd9001: OUTPUT«it's an average of 5.2689634284 kilobytes per frame␤»
timotimo biggest frame is 115834 bytes big, smallest are 152 big 01:24
that huge frame comes from package_def 01:25
01:31 alexghacker joined 01:35 jimmy__ joined 01:40 dadada left
jimmy__ .tell timotimo perl6 --profile -e 'my $n = 0; loop { $n = $n +1; if $n == 10000000 { last; } }' also will be nice to inline infix:<+> and infix:<==>, change assign to bind and it also call infix:<==>, I don't know why... 01:41
yoleaux jimmy__: I'll pass your message to timotimo.
01:50 dayangkun joined 01:56 jimmy__ is now known as JimmyZ
timotimo er, are you sure the + and == are not being inlined? 02:03
yoleaux 01:41Z <jimmy__> timotimo: perl6 --profile -e 'my $n = 0; loop { $n = $n +1; if $n == 10000000 { last; } }' also will be nice to inline infix:<+> and infix:<==>, change assign to bind and it also call infix:<==>, I don't know why...
timotimo looking at the spesh output it seemed to be inlined, tbh
02:10 dayangkun left 02:14 d^_^b left 02:25 baest left 02:32 baest joined
JimmyZ timotimo: I'm not very sure, but routines TAB shows them have 10000000 Entries, maybe I'm wrong 02:35
and have 10000000 alloctions, I think esc will help it 02:36
adu *sigh* 02:40
JimmyZ why ;)
adu should I write my next blog post about why PHP sucks?
JimmyZ oh, there is already too much 02:41
adu: eev.ee/blog/2012/04/09/php-a-fracta...ad-design/ 02:42
adu JimmyZ: I just read it
JimmyZ A language without complains means nobody have ever use it, except the author :) 02:44
adu I'm just thinking, it people were somehow forced to rewrite wikipedia, wordpress, joomla, etc. I'm sure someone would surely pick perl6 as the implementation language for something
s/it/if/
JimmyZ m: if 02:45
camelia rakudo-moar cd9001: OUTPUT«===SORRY!=== Error while compiling /tmp/JJTJswExhY␤Undeclared routine:␤ if used at line 1␤␤»
JimmyZ m: sub if() {}; if
camelia ( no output )
adu I think one reason why PHP is so popular is that it has 50,000 builtins 02:46
or, if I don't write my next blog entry about PHP, then all the stupid people will be programming in PHP, and all the smart people will use perl6 02:47
JimmyZ well, PHP does have a well enough manual ;) 02:48
02:48 sunnavy left
adu I've been revisiting my C parser lately 02:49
02:49 sunnavy joined
adu my first two attemps was with clang's API and Haskell's lanugage-c package, both failed 02:50
JimmyZ most people like stupid camera
adu but for some reason my perl6 implementation has been the most successful
camera?
JimmyZ yeah
adu what are you talking about? 02:51
02:51 silug left
JimmyZ I meant most people like stupid things :P 02:51
adu I think the world would be a better place without PHP 02:57
or maybe everyone would switch to VB, which would probably be worse 02:58
02:59 KCL_ joined 03:00 chenryn joined
JimmyZ since PHP is on the top of 10 popular lang, I think it's well enough to get the work done 03:01
:)
03:04 silug joined
raydiak kinda like burning fossil fuels is well enough to provide some obscenely huge % of the world's energy...even if it is killing us :) 03:09
timotimo JimmyZ: are you sure you're on the very latest moarvm master? 03:18
03:19 Mso150 joined 03:20 noganex joined
JimmyZ timotimo: yeah 03:20
timotimo VB has "on error resume next" which means far less crashes, which makes software much more stable
JimmyZ This is perl6 version 2014.11-34-gcd9001e built on MoarVM version 2014.11-52-gf94d036
timotimo you're right, there's allocations and the profiler doesn't show inlines for + and == 03:21
03:23 noganex_ left
JimmyZ and JIT-Compiled Frames show 19999985, which is pretty big 03:23
timotimo i ought to go to bed 03:25
feel free to work on this, though :)
03:25 adu left
JimmyZ good night 03:26
03:29 raiph left
timotimo oh 03:31
03:31 raiph joined
timotimo if you look at the speshlog, you'll see that infix:<==> is indeed inlined 03:31
(it's block 21 in my case)
and it looks like infix:<+> is BB 19 03:32
it's probable that the inliner just straight up inlines the "profiler entered frame" and "profiler exited frame" along with the rest of the code and some flag needs to be updated to set the type of "frame enter" as "jit inlined" 03:33
o/
03:36 konsolebox joined 03:52 Mso150 left 03:57 prime left 04:03 rurban left 04:06 sjn_ joined 04:07 vendethiel- joined, kshannon_ joined 04:09 prime joined, hugme left, nine left, kshannon left, nine joined, sjn left, vendethiel left 04:10 hugme joined, ChanServ sets mode: +v hugme, kaare_ joined, nine left 04:11 nine joined, rmgk left, rmgk joined 04:16 chenryn left 04:19 cognominal left, cognominal joined 04:24 anaeem1 joined 04:25 anaeem1 left 04:26 anaeem1 joined 04:29 raiph left 04:54 prime left 04:58 prime joined 05:00 kaleem joined 05:13 kaare_ left 05:14 acrussell left 05:17 chenryn joined 05:21 PZt joined 05:22 chenryn left 05:32 silug left 05:33 kurahaupo left 05:34 kaare_ joined 05:35 mr-foobar left 05:37 silug joined, kaleem left 05:56 telex left 05:58 telex joined 05:59 JimmyZ left 06:01 JimmyZ joined, JimmyZ is now known as Guest39489 06:06 prime left 06:08 chenryn joined 06:10 Guest39489 is now known as JimmyZ_ 06:20 konsolebox left 06:24 alexghacker left 06:41 kurahaupo joined, alexghacker joined
masak mornings, #perl6 06:45
06:47 [Sno] left
TimToady o/ 06:49
JimmyZ_ \o 07:02
07:06 gfldex joined 07:08 kaleem joined 07:14 lizmat left 07:46 jluis joined 07:59 FROGGS joined
jnthn Note that inlined entries to a routien still count as entries 08:12
But it should say they were inlined too
(e.g. it counts the separately)
08:16 darutoko joined
moritz \o 08:20
08:21 zakharyas joined
masak o/, moritz 08:21
08:23 gfldex left
jnthn timotimo: See github.com/MoarVM/MoarVM/blob/mast...ine.c#L695 08:24
08:31 ptc_p6 joined 08:33 rurban joined 08:44 Ugator joined 08:46 virtualsue joined 08:54 bjz joined 08:55 [Sno] joined, oetiker left 08:57 lizmat joined 08:59 dwarring left
timotimo jnthn: the profenter happens before any phi nodes? 09:02
09:02 Akagi201 joined
timotimo or do inlines never end up beginning with phi nodes? 09:03
lizmat good *, #perl6 from the Patch -p2 Hackathon in Lyon 09:04
moritz \o lizmat, have fun stripping two slashes :-) 09:05
lizmat assumes she has to backlog ? 09:06
moritz lizmat: nope :-)
09:06 anaeem___ joined
moritz lizmat: patch -p1 strips one directory and slash from the path to find the file to patch 09:06
lizmat -p2 I guess
moritz yes
lizmat aha
ok, gotcha
09:06 anaeem___ left
lizmat fwiw, this is the 3rd Patch Hackathon, hence -p2 :-) 09:07
09:07 anaeem1 left, anaeem___ joined
moritz the know that counting starts at 0 \o/ 09:07
*they 09:10
09:13 lizmat_ joined
lizmat_ (local wifi not reliable, switched to 3G backup) 09:13
09:13 sjn_ is now known as sjn
sjn lizmat_: mine's a bit spotty, but not too horrible 09:14
lizmat_ well, I'm not going to be in the way anymore... :-)
09:17 lizmat left, lizmat_ left, lizmat joined 09:18 salv0 left
raydiak m: say ~dir '/' 09:20
camelia rakudo-moar cd9001: OUTPUT«//opt //sys //lost+found //success //run //sbin //lib //home //backup //bin //.readahead //usr //srv //etc //media //lib64 //boot //selinux //tmp //mnt //dev //var //root //proc␤»
raydiak ^ "//"?
lizmat ah... intriguing
lizmat checks
JimmyZ_ m: say dir '/' 09:21
camelia rakudo-moar cd9001: OUTPUT«"//opt".IO "//sys".IO "//lost+found".IO "//success".IO "//run".IO "//sbin".IO "//lib".IO "//home".IO "//backup".IO "//bin".IO "//.readahead".IO "//usr".IO "//srv".IO "//etc".IO "//media".IO "//lib64".IO "//boot".IO "//selinux".IO "//tmp".IO "//mnt".IO "//d…»
raydiak also..."dir '/'" in restricted setting?
JimmyZ_ m: say dir '/tmp'
camelia rakudo-moar cd9001: OUTPUT«"/tmp/snagnTkxj3".IO "/tmp/DbuAo6RGPk".IO "/tmp/JFc_J7THcQ".IO "/tmp/DFYMfbFSny".IO "/tmp/m376NsGWCC".IO "/tmp/uBy0gsXhli".IO "/tmp/PKK8IPgdEf".IO "/tmp/KeRJUfYHwI".IO "/tmp/aWxLmWIQfn".IO "/tmp/9SrcxE6K07".IO "/tmp/t_7DrhIter".IO "/tmp/S_zGqXwlar".IO "/tm…»
09:21 salv0 joined
lizmat moritz: seems I do need to strip two slashes 09:23
:-( 09:24
checking what the newio branch does
raydiak: could you rakudobug this ?
raydiak lizmat: sure, on it 09:25
lizmat hmmm..... newio has the same issue :-(
timotimo m: say dir " " 09:26
camelia rakudo-moar cd9001: OUTPUT«Failed to get the directory contents of '/home/camelia/ ': chdir failed: Unknown system error␤ in method gist at src/gen/m-CORE.setting:13776␤ in sub say at src/gen/m-CORE.setting:16516␤ in block <unit> at /tmp/9aWM8Xgo39:1␤␤»
timotimo m: say dir ""
camelia rakudo-moar cd9001: OUTPUT«"/home/camelia/rakudo-inst-2".IO "/home/camelia/evalbot".IO "/home/camelia/.viminfo".IO "/home/camelia/rakudo-inst-1".IO "/home/camelia/.bashrc".IO "/home/camelia/.ssh".IO "/home/camelia/std".IO "/home/camelia/rakudo-star-2014.09.tar.gz".IO "/home/camelia/…»
huf that's a bit odd...
09:30 bjz left
raydiak #123308 09:31
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123308
09:31 lizmat left
huf link also has two slashes :D 09:31
raydiak hah true 09:32
09:32 Mso150 joined 09:34 lizmat joined
raydiak lizmat: in case your spotty connection caused you to miss it: #123308 09:35
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123308
JimmyZ_ timotimo: I saw a spesh log, some BBs only has a return, but has a lot of phi. 09:37
IIRC
and perl6 tools/graph_spesh.p6 test.log > test.svg doesn't work :( 09:38
09:39 Ven joined
Ven o/, #perl6 09:39
raydiak \o Ven 09:40
09:41 Alina-malina left 09:42 lizmat left 09:46 lizmat joined
jnthn timotimo: Yeah, think it should... 09:47
lizmat p: say dir " " 09:50
camelia rakudo-parrot cd9001: OUTPUT«Failed to get the directory contents of '/home/camelia/ ': readdir failed: No such file or directory␤ in method gist at gen/parrot/CORE.setting:13715␤ in method gist at gen/parrot/CORE.setting:1150␤ in sub say at gen/parrot/CORE.setting:16424␤…»
jnthn timotimo: Typically the first BB starts with parameter handling, and you'd not end up with a branch into that..
lizmat j: say dir " "
camelia rakudo-jvm cd9001: OUTPUT«Can't open perl script "/home/camelia/jvm-rakudo/eval-client.pl": No such file or directory␤»
lizmat (different code paths for different backend :-( ) 09:51
jnthn If you think it may be happening, easy to add a check into the inline code, then build stuff and see if it's hit.
09:53 dakkar joined
raydiak \o good night #perl6 09:58
09:58 kjs_ joined
lizmat raydiak o/ 10:06
hmmm..... t/spec/S17-procasync.kill.t is reliably hanging for me now :-( 10:11
ah no, it just got unbelievably slow 10:12
ah, I realize now: many more signals to check than before .... 10:13
and all timing out because they fail :-(
dalek kudo/nom: 456d8f0 | (Elizabeth Mattijsen)++ | t/spectest.data:
Remove t/spec/S17-procasync/kill.t for now :-(
10:14
10:22 woolfy joined 10:25 JimmyZ_ left
dalek kudo/nom: 482cc32 | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
Fix for #123308, raydiak++ for spotting
10:25
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123308
10:28 pecastro joined
dalek kudo/newio: cd9001e | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
loop { } doesn't need to inspect lexical "True" each iteration
10:30
kudo/newio: 456d8f0 | (Elizabeth Mattijsen)++ | t/spectest.data:
Remove t/spec/S17-procasync/kill.t for now :-(
kudo/newio: 482cc32 | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
Fix for #123308, raydiak++ for spotting
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123308
dalek kudo/newio: 6c09d1e | (Elizabeth Mattijsen)++ | / (3 files):
Merge branch 'nom' into newio
10:31 zakharyas left
Ven Erm, do we have some kind of WSDL client? 10:33
Ven would very much rather use p6...
moritz Ven: my experience with WSDL and SOAP is that most libraries suck so much that you want to select your language by library, not by language preference 10:34
Ven: and no, I don't think we have WSDL stuff for p6 yet
Ven moritz: and to that you can add the fact that people suck at making nice external APIs.
"hey, you're always sending us an array of values, but we'll give you a different result type depending if you sent us 0, 1 or more IDs to query" 10:35
moritz What's an array? it's all XML! :-)
Ven <foo></foo><foo></foo> is an array of foo. But yeah.
10:35 Alina-malina joined
Ven this is why we can't have nice things. 10:36
moritz and how do you make an XML array of one element?
moritz loves JSON
Ven you just *know* you want an array. 10:37
Describe your effin' protocol and stick to it.
moritz sounds like work :-) 10:40
FROGGS sounds like $work 10:41
huf you can always stuff json into xml :D
Ven right, it's $work. and it's terrible 10:43
why do I have to feel so miserable every single time I want to transfer data over networks
tadzik sounds like your tools make it painful 10:44
tadzik reminds #perl6 about github.com/perl6/mu/blob/master/mi...4/schedule
10:45 lucas_ joined
moritz Ven: fwiw we're now experimenting with rabbitmq at work. Currently it doesn't feel very painful; will see how it pans out 10:46
lucas_ lizmat: Hi. What about rootdir instead of dir-sep? I know that in the end it means the same thing... 10:47
moritz do multi-volume path schemes have a root dir? 10:48
lizmat lucas_: that was just a quick fix... that part of the code I hope to have obsoleted soon
moritz: what do you mean with multi-volume path schemes ?
moritz lizmat: windows for example, where paths start with a volume 10:49
Ven moritz: right, rabbitmq is pretty okay. The issue is – I don't have a choice here.
lizmat C:/foo
moritz: is what you mean ?
moritz lizmat: yes
lizmat should have that covered
10:52 Mso150 left
FROGGS guesses that the use of mro::invalidate_all_method_caches() points to a bad design... 10:52
10:53 erkan joined, erkan left, erkan joined
Ven reads the p6-one-liners PR and *g*s 11:01
11:02 denis_boyun_ joined 11:17 Ven left 11:32 bjz joined 11:39 anaeem1 joined 11:43 anaeem___ left 11:46 rindolf joined 11:51 anaeem1 left 11:52 [Sno]_ joined, anaeem1 joined 11:54 [Sno] left, [Sno]_ is now known as [Sno], anaeem1 left 11:55 anaeem1 joined 11:56 fhelmberger joined 11:58 chenryn left 12:01 Alina-malina left 12:02 Alina-malina joined 12:03 pmurias joined
pmurias arnsholt: ping 12:03
12:07 ptc_p6 left
lucas_ Do you people like wikis or are averse to the idea? What is your opinion about having a MediaWiki instance installed on wiki.perl6.org? Do you think it would get abandoned and spam-filled? I know about the Socialtext wiki, and I remember existing a git-based wiki also. There's even a Perl 6 wiki on Wikia. But it's not the same experience of having a... MediaWiki. It could get used for project management, sorting out ideas, etc. 12:07
tadzik hmm, we had a wiki somewhere
not sure what happened to it 12:08
jnthn Wikis have always tended to fall into disrepair
lucas_ jnthn: I understand this is a concern... 12:09
jnthn For project management things, it's about the folks being managed.
And markdown files or similar kept in the Git repo alongside the project have tended to work out better. 12:10
moritz lucas_: I agree with jnthn. We had a gitit wiki on wiki.perl6.org, it became abandonded and technical debt to run 12:11
12:13 smls joined
dalek kudo/nom: 1e4fe4a | (Elizabeth Mattijsen)++ | src/core/Failure.pm:
Simplify Failure creation

I assume the original code is very old and predates any implicit BUILD functionality.
12:14
lizmat moritz: any comments on ^^^ ?
jnthn Yeah. It's not even that I dislike wikis...I have one to keep personal planning etc in and other such things... But to be useful they need a purpose and target audience who actually want to use it to get something done. And we've not found a niche so far where a wiki filled that. 12:15
moritz lizmat: looks sane
smls On my system, «perl6 -e '[*] 1..10000'» takes 0.5 seconds, and «perl6 -e 'say [*] 1..10000'» takes 2.7 seconds. 12:16
y u so slow, `say`?
jnthn I/O bound? :)
lizmat: It'll just be slower, that's all.
lizmat: A lot of our custom BUILD things are hot-path. 12:17
But if y ou're greating a gazillion failures, well, that's probably a bit of a design failure... :P
12:17 kaleem left
lizmat well, that was my thought also 12:17
moritz smls: maybe the [*] in sink context is optimized out?
lizmat warnings, are they failures ? 12:18
moritz nope
smls moritz: I don't think so... it's still faster/slower for smaller/bigger numbers...
moritz smls: maybe the stringification of the result? 12:19
Timbus its the .gist
moritz m: say $before = now; [*] 1..10000; say now - $before
camelia rakudo-moar 482cc3: OUTPUT«===SORRY!=== Error while compiling /tmp/NeHF3xniZr␤Variable '$before' is not declared␤at /tmp/NeHF3xniZr:1␤------> say $before⏏ = now; [*] 1..10000; say now - $before␤ expecting any of:␤ postfix␤»
moritz m: my $before = now; [*] 1..10000; say now - $before
camelia rakudo-moar 482cc3: OUTPUT«0.14780099␤»
moritz m: my $before = now; ~[*] 1..10000; say now - $before
camelia rakudo-moar 482cc3: OUTPUT«WARNINGS:␤Useless use of "~" in expression "~[*] 1..10000" in sink context (line 1)␤1.83699402␤»
moritz m: my $before = now; ([*] 1..10000).gist; say now - $before 12:20
camelia rakudo-moar 482cc3: OUTPUT«1.8439231␤»
Timbus neat warning
moritz aye
thanks :-)
jnthn Hm, so it's not say so much as the stringification 12:21
I wonder what makes that slow...
smls Ok to be fair, it looks like that number has 35661 digits... :P
moritz m: say ([*] 1..10000).chars 12:22
camelia rakudo-moar 482cc3: OUTPUT«35660␤»
moritz p: my $before = now; ([*] 1..10000).gist; say now - $before
camelia rakudo-parrot 482cc3: OUTPUT«2.0447831␤»
12:22 woolfy left
jnthn Sure, but I wonder if it's spending the time in libtommath producing the chars, or in something else that is just overhead. 12:22
FROGGS p: my $before = now; ([*] 1..10000).Str; say now - $before
camelia rakudo-parrot 482cc3: OUTPUT«2.0437427␤» 12:23
dalek kudo/newio: 1e4fe4a | (Elizabeth Mattijsen)++ | src/core/Failure.pm:
Simplify Failure creation

I assume the original code is very old and predates any implicit BUILD functionality.
kudo/newio: 942ffba | (Elizabeth Mattijsen)++ | src/core/Failure.pm:
Merge branch 'nom' into newio
FROGGS m: my $before = now; ([*] 1..10000).Str; say now - $before
camelia rakudo-moar 482cc3: OUTPUT«1.8593922␤»
12:23 lizmat left
jnthn m: my $before = now; (INIT [*] 1..10000).Str; say now - $before 12:23
camelia rakudo-moar 482cc3: OUTPUT«1.64522877␤»
12:23 KCL joined 12:24 SteppenII joined
jnthn m: my $before = now; nqp::tostr_I(INIT [*] 1..10000); say now - $before 12:24
camelia rakudo-moar 482cc3: OUTPUT«1.6463615␤»
jnthn yowser :)
Well, no silly Rakudo overhead to blame then.
I need a C level profile to see deeper, I think. 12:25
And I'm on $teaching-center machine at the moment, so no tools for that :)
Well, or tools but no Rakudo build :)
FROGGS so you need to C through the surface of the C.... I C
and I have a quite pressing project to finish at $work... so I can't be that active these days :o( 12:26
12:26 KCL_ left
colomon smoker run hung on 05_laggyrequest.t 12:27
12:28 JimmyZ joined, JimmyZ is now known as JimmyZ_ 12:29 lizmat joined
moritz m: my $i = [*] 1..10000; say log($i) / log(2) 12:32
camelia rakudo-moar 482cc3: OUTPUT«Inf␤»
moritz m: my $i = [*] 1..10000; $i.Str.chars / log(2) * log(10) 12:33
camelia ( no output )
moritz m: my $i = [*] 1..10000; say $i.Str.chars / log(2) * log(10)
camelia rakudo-moar 482cc3: OUTPUT«118459.955863683␤»
jnthn colomon: hah, laggy indeed... 12:36
12:39 woolfy joined
arnsholt pmurias++ # Snake stuff 12:45
jnthn: What're the cases where you need nqp::takeclosure?
12:46 rindolf left 12:48 SteppenII left 12:56 lucas_ left
jnthn arnsholt: When you need to manually control taking closure clones 13:00
13:01 prime joined
jnthn arnsholt: Taht is, making a copy of a code-ref that closes over teh curent context 13:01
arnsholt: But if you are using the blocktypes declaration and immediate, code-gen inserts things for you pretty neatly
So it's only if you're using immediatestatic/declarationstatic that you need to manually manage it.
dalek kudo/newio: 8bbcb2f | (Elizabeth Mattijsen)++ | src/core/IO.pm:
Fix dir "/" (for new code)
13:03
13:03 anaeem1 left
arnsholt Ah, right. I only have immediate and declaration blocks, so I should be good then. Cheers! 13:03
13:07 torbjorn joined
lizmat FROGGS: am I correct in seeing that PIO doesn't have an accessor for nqp::setinputlinesep ? 13:10
there is no PIO.inputlinesep? 13:11
(like there appears to be a PIO.encoding ?)
pmurias arnsholt: having print would be great for writing tests that can be run both on snake and python3
FROGGS lizmat: I'm not sure... but you should be able to see what nqp::setinputlinesep does in nqp/srv/vm/parrot/...Ops 13:16
lizmat: maybe it maps to PIO.something 13:17
jnthn arnsholt: Yeah, trust it until it busts :) 13:20
lizmat FROGGS: not just talking about parrot
I'll just keep it as an attribute in P6 space for now
(like it is now)
arnsholt pmurias: Yeah, that's percolating to the top of my queue now, getting a setting library started 13:21
dalek ake: c3ba195 | (Pawel Murias)++ | / (3 files):
Support defining functions with zero parameters.

Add a simple test for that.
arnsholt Also, that commit you just pushed =D 13:22
pmurias++
masak arnsholt: I'm surprised you extend Python's grammar just to be able to do `nqp::print(a)`. why not just `nqp.print(a)`? 13:24
13:25 gtodd left
arnsholt Specifically because it's invalid syntax, actually 13:25
13:26 gtodd joined
arnsholt An object nqp is probably not likely, but I wanted to mark it as clearly non-standard Python 13:27
13:29 guru joined, guru is now known as Guest76217 13:30 Guest76217 is now known as ajr_, rindolf joined 13:32 virtualsue_ joined
pmurias masak: and nqp.print(a) could conflict with a nqp object 13:33
13:33 virtualsue left, virtualsue_ is now known as virtualsue
torbjorn how do you match a literal # in a token in a grammar? 13:33
arnsholt '#'
13:34 erkan left, kaare_ left
torbjorn ah, thanks 13:34
arnsholt \# should work too I think, but I prefer quoting
torbjorn \# doesnt seem to work
masak arnsholt, pmurias: I guess what I'm saying is why the non-standard syntax *for something that already has syntax support in Python* (package lookup) was felt to be necessary. to me, it feels like a nonstandard extension made lightly. 13:35
in NQP, the syntax is not special. 13:36
nor in Perl 6.
arnsholt That's true, I guess. But when I implemented this, my parser didn't even know about objects
masak it would be a bit like having the syntax be `nqp->print(a)` in Perl 6 code :) 13:40
13:41 Alula left
lizmat Q: would it make sense to consider STDIN/STDOUT/STDERR pipes? 13:41
masak lizmat: no, I don't think so. because pipes are defined in terms of those. 13:42
lizmat: STDIN/STDOUT/STDERR are what Unix pipes use to connect to each other.
lizmat let me rephrase the question: 13:43
masak :)
lizmat if we would have an IO::Pipe object, would STDIN/STDOUT/STDERR be an IO::Pipe or an IO::Handle ?
arnsholt masak: I dunno. It'll be magic under the hood either way, and I do think I want it to be apparent that it is magical
(Magical in the sense that the symbols aren't looked up via a package or object) 13:44
masak arnsholt: it's fine, we can agree to disagree on this. to me it's more elegant to use a language's own constructs to express something if that construct is sufficient.
lizmat: what else would be an IO::Pipe object? 13:45
lizmat what pipe() returns
if you want to be deprecatable: what open( :p ... ) returns 13:46
masak `man pipe`
lizmat I think they share the same functionality
masak `perldoc -f pipe` 13:47
nine What differentiates an IO::Pipe from any other handle? 13:49
masak way I read those pages, a pipe has two ends, each of which is a filehandle.
and in my view, $*IN and $*OUT are filehandles, not pipes. 13:50
nine masak: that's exactly what a pipe is
masak so I would definitely have $*IN/$*OUT as IO::Handle.
lizmat nine: well, I don't think pipes are seekable
Mouq wishes a happy Thanksgiving to other Americans in #perl6 13:51
nine lizmat: that's true for many handles, including file handles that for example point to special block devices
lizmat nine: good point 13:52
13:55 Alula joined
masak m: say "" 13:56
camelia rakudo-moar 1e4fe4: OUTPUT«␤»
masak m: sub MAIN():␤say "OH HAI"
camelia rakudo-moar 1e4fe4: OUTPUT«===SORRY!=== Error while compiling /tmp/x4BTSn_BcW␤Missing block␤at /tmp/x4BTSn_BcW:1␤------> sub MAIN():⏏<EOL>␤ expecting any of:␤ colon pair␤»
masak m: sub MAIN();␤say "OH HAI"
camelia rakudo-moar 1e4fe4: OUTPUT«===SORRY!=== Error while compiling /tmp/A5naXHrUhH␤Missing block␤at /tmp/A5naXHrUhH:1␤------> sub MAIN()⏏;␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefi…»
carlin accessing a perl6 cgi script is putting "use of uninitialized value %ENV of type Any in string contenxt in any at sec/gen/m-ModuleLoader.nqp:363" in the webserver error log 13:57
masak submits NYI rakudobug
Mouq masak: What's that supposed to do?
masak Mouq: whole-file MAIN only sub. 13:58
Mouq Ooo
masak S06:3408
synopsebot Link: perlcabal.org/syn/S06.html#line_3408
Mouq Could be useful for one-liners too... 13:59
timotimo how do you pass already-opened file descriptors to a child process in perl5? 14:01
we don't have that feature in perl6 yet, i believe
also, creating an IO handle from an already opened file descriptor is missing
torbjorn im writing a grammar to parse this text: fpaste.scsys.co.uk/447383 # ive written this: fpaste.scsys.co.uk/447385 # for some reason i can't get ^^ .+ \n to match a random line 14:02
FROGGS timotimo: OpenSSL would also make use of passing file descriptors to it... 14:03
torbjorn also judging from Grammar::Tracer it only finds the first card
14:03 oetiker joined
FROGGS timotimo: so it would be awesome to retrieve the fd from an IO::Socket... 14:03
masak re #117161, I think we could just trigger an error message if the number has more than 5 digits. and then we can revisit that decision once someone comes to us *complaining* about their *legitimate* use of a million numbered capture groups. 14:05
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117161
masak ;)
I know we don't do arbitrary limits, but... come on.
at least do a million named captures. 14:06
14:07 kurahaupo left
carlin when rakudo gives a warning about something in generated nqp are the linenumbers usually accurate? 14:07
dalek atures: 4ccfddd | Matt++ | features.json:
Matching streams link to spec

I wondered what "Matching streams" meant and found it in the spec
14:08 prime left
smls pmichaud's blog post last month said that the GLR roadmap was, to complete most of it by Thanksgiving. 14:08
Any update? Was it postponed?
Ulti erk who gave me commit :S though that is probably harmless enough
FROGGS carlin: we used to have an off-by-one, but nowadays it should be correct 14:10
timotimo torbjorn: did you know that . also matches newlines in perl6 regexes?
FROGGS carlin: though, some numbers of the backtrace are instructions, not lines 14:11
lizmat smls: pmichaud has stated he would work on it this week 14:12
timotimo torbjorn: and "token" implies "no backtracking", so the greedy .+ will end up swallowing all stuff until the end and then might not find a \n
FROGGS torbjorn: you can try /\N+ \n/ for example
timotimo i suggest first replacing the "token" declaratios with "regex" and seeing what it behaves like then
torbjorn ah i see how that would change things
14:13 prime joined
JimmyZ_ timotimo: irclog.perlgeek.de/perl6/2014-11-27#i_9728011 # in case you miss it :) 14:13
it use nqp code as perl 6 module, look like 14:14
timotimo JimmyZ_: you have to spesh_log.p6 excerpt | dot -Tsvg > foobar.svg
JimmyZ_ oh, so what does graph_spesh.p6 do?
timotimo it turns a piece of spesh log into graphviz' dot language 14:15
JimmyZ_ where is spesh_log.p6?
timotimo in moarvm/tools 14:16
sorry, spesh_log.p6 was a type
typo
i meant graph_spesh
i suppose it ought to get a MAIN and usage as well as helpful comments
masak are we optimizing away routine-ending `return`s yet in Rakudo? 14:17
colomon now /07_chunkedrequestecho.t hung
JimmyZ_ timotimo: but `spesh_log.p6 excerpt` outputs errors :( 14:18
timotimo yeah. like "register blah blah has no writer!"?
JimmyZ_ it said it can't find MAST::Ops .. 14:19
timotimo oh, yeah
you may need to run Configure.pl again
14:19 sorear left
timotimo er ... actually it's update_oplist or what it's called 14:19
JimmyZ_ yeah, I ran it
timotimo update_ops.p6 14:20
14:20 chenryn joined 14:21 sorear joined
carlin what's the easiest way to print a string to stderr in nqp? 14:21
JimmyZ_ but Mast::Ops is a nqp module? 14:22
timotimo JimmyZ_: it's a perl6 module that gets created in tools/lib 14:23
i found it very hard to get at the symbols in the actual nqp module MASTOps
so i decided it'd be easier to just generate a perl6 module in addition to all the other files from update_ops.p6 14:24
JimmyZ_ so I need to run update_ops.p6 manually before I run graph_spesh.p6 14:25
timotimo yes, but only once ever
JimmyZ_ ok
timotimo and if you have a fresh checkout of moarvm, i think it'll be done for you 14:26
JimmyZ_ I does have a lastest moarvm
carlin ah, getstderr and sayfh worked 14:27
timotimo "fresh checkout" means the oplist.txt exists, but not the files generated from it
so the makefile would call update_ops for you ... i think?
actually, that makes no sense 14:28
colomon guessing the hangs were either Coro::Simple or HTTP::Server::Async (both new fails today)
timotimo since update_ops.p6 is a perl6 script
JimmyZ_ oh, so I didn't have perl6 in tha PATH
*the 14:29
14:29 pecastro left, pmurias left
JimmyZ_ .\install\bin\perl6.bat tools\update_ops.p6 14:30
Mouq Oh, lizmat, did you see irclog.perlgeek.de/perl6/2014-11-26#i_9721007 ?
JimmyZ_ use of uninitialized value of type Any in string context in any !cursor_init at gen\moar\stage2\QRegex.nqp:678
lizmat Mouq: missed that 14:31
timotimo should that be slurp-rest?
lizmat will look at it now 14:32
14:32 chenryn left
Mouq lizmat++ 14:33
Mouq &
JimmyZ_ I think it is missing unbox_s in gen\moar\stage2\QRegex.nqp:678? 14:36
14:36 chenryn joined 14:40 chenryn left 14:44 kaare_ joined
JimmyZ_ looks like not :( 14:45
14:50 Mouq left 14:53 [Sno]_ joined 14:54 [Sno] left, [Sno]_ is now known as [Sno] 14:58 telex left 15:00 telex joined 15:01 rindolf left 15:04 Mouq joined, virtualsue_ joined 15:05 virtualsue left, virtualsue_ is now known as virtualsue 15:16 chenryn joined 15:19 chenryn left 15:26 chenryn joined 15:31 pecastro joined 15:35 rindolf joined 15:38 lizmat left, lizmat joined
dalek kudo/nom: 5823369 | (Elizabeth Mattijsen)++ | src/core/IO/ArgFiles.pm:
Fix deprecation warnings
15:39
kudo/nom: 70df096 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
Fix "slurp", spotted by Mouq++
lizmat Mouq: ^^^
jnthn .win 11
oops :)
FROGGS wow, jnthn++'s secret project is Win11!! 15:40
ugexe i've got a fork of panda that will run a second test on a module 'without' blib *if* the tests fail 'with' blib. this means you can create a list of modules that pass their tests but have compilation problems. should this data be sent with reporter, and if so should it just be like $bone.test-passed-precomp = True?
jnthn FROGGS: Shhhhh! 15:41
FROGGS :P
jnthn Or I'll need a new secret project for FOSDEM!
:P
FROGGS *g* 15:42
colomon lizmat++
15:43 pecastro left
dalek kudo/newio: 73b2124 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Adapted merge
15:44
ast: 3c44a25 | (Elizabeth Mattijsen)++ | S32-io/slurp.t:
Fix one deprecation warning
15:45
15:46 alexghacker left
smls lizmat: I remember a few months ago, you were trying to come up with a good way to re-use the same `stat` system call for multiple file test operations. What system did you end up designing/implementing? 15:50
15:50 pecastro joined
lizmat none... 15:50
the stat buffer is not available to Perl6 or nqp at the moment (afaik) 15:51
15:51 alexghacker joined
smls Did you consider adding a (IO, Mu) overload for ~~ that caches a `stat`, then dispatches to normal ~~, and then invalidates the cache? 15:52
That would allow things like «"foo".IO ~~ :r & :w» to use the same `stat`, since Mu would take the junction as one thing, right? 15:53
15:55 pecastro left
smls It might be slightly too magical for some people's tastes, but I think "a single ~~ on an IO reuses the same stat" would be a more contained & predictable rule than "file tests within n milliseconds of each other use the same stat", which is just a race condition waiting to happen. 15:55
lizmat smls: I added the .rw and .rwx methods instead 15:57
but even then they don't share the same stat buffer (well, not yet anyway)
rurban I'm implementing now the qrpa optimizations into parrot rpa proper. so that qrpa can be removed. and sorting parent PMC (from threads) will also work better. 15:58
16:06 pecastro joined 16:08 JimmyZ_ left 16:09 [Sno]_ joined 16:10 [Sno] left, [Sno]_ is now known as [Sno], kaleem joined
dalek kudo/nom: 2b2857d | (Elizabeth Mattijsen)++ | src/core/IO.pm:
We don't need no Junctions :-)
16:11
16:14 [Sno]_ joined, kaleem left 16:15 [Sno] left, [Sno]_ is now known as [Sno]
TimToady at the precaffeine moment, I'm thinking an IO should just stat once implicitly, then never again; subsequent stats would be done with a .stat mutator or so that just returns the same IO with a new statbuffer 16:24
16:24 jluis left
TimToady which you could use explicitly the first time too, if you're nervous 16:24
this assumes that most uses of a given statbuf are one-shot 16:25
16:26 chenryn left
TimToady is not sure how to work lstat into the picture though 16:26
TimToady tries caffeine
16:28 denis_boyun_ left 16:42 gfldex joined
lizmat TimToady: I would be in favour of that, but I don't see a way to make this work with the current state of nqp ops 16:42
TimToady you can't call the POSIX library with nqp? :) 16:44
not everything has to be an nqp op...
lizmat I'll leave that discussion up to you and jnthn :-) 16:46
16:50 FROGGS left
lizmat timotimo might know this: 16:56
if I pass a uncontainered nqp object from nqp::open e.g 16:57
as a named parameter to a sub/method
is there something special I should do?
seems like I need to decont it on the receiving end
(as passing it will automatically put a container around it, no?) 16:58
16:59 anaeem1_ joined
dalek kudo/newio: 5823369 | (Elizabeth Mattijsen)++ | src/core/IO/ArgFiles.pm:
Fix deprecation warnings
17:05
rakudo/newio: 70df096 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
rakudo/newio: Fix "slurp", spotted by Mouq++
17:05 dalek left, dalek joined, ChanServ sets mode: +v dalek
lizmat sorry, dalek 17:06
lizmat just did github.com/rakudo/rakudo/commit/86...c23f6c698d 17:08
17:09 virtualsue left
lizmat and github.com/rakudo/rakudo/commit/56...a6df5467ba 17:09
lizmat hopes that these two commits will be helpful to jnthn in his quest for OS X fixings
17:12 Mouq left 17:31 spider-mario joined 17:32 alexghacker left 17:35 pecastro left
lizmat Patch -p2 day 1 shutting down& 17:39
17:39 lizmat left 17:41 woolfy left 17:44 Akagi201 left, netstar joined, ajr_ left 17:49 guru joined, guru is now known as Guest23041 17:52 [Sno] left
vendethiel- oh, is it patch -p2? 17:52
17:53 Guest23041 left 17:54 kurahaupo joined, Sqirrel left, mr-foobar joined 17:55 Sqirrel joined 17:59 ajr joined, ajr is now known as Guest72527 18:00 dakkar left, Guest72527 is now known as ajr_ 18:03 kjs_ left 18:08 bjz_ joined 18:09 alexghacker joined, bjz left 18:11 fhelmberger left
rurban That's about act, not p2, right? 18:11
18:13 PZt left 18:19 Mouq joined
torbjorn how do you match a literal colon? 18:21
ie in a case like this: perl6 -e 'say "foo:bar" ~~ token { $<var>=[\N+] \: }'
trying to get var to match foo
delimited by that colon
ugexe quote it? 18:22
torbjorn doesnt help 18:24
18:27 netstar left 18:31 Alina-malina left
smls m: say "foo:bar" ~~ / [\N+] \: / 18:31
camelia rakudo-moar 2b2857: OUTPUT«「foo:」␤␤»
18:32 Alina-malina joined
smls m: say "foo:bar" ~~ / $<var>=[\N+] \: / 18:32
camelia rakudo-moar 2b2857: OUTPUT«「foo:」␤ var => 「foo」␤␤»
torbjorn m: say "foo:bar" ~~ token { $<var>=[\N+] \: } 18:33
camelia rakudo-moar 2b2857: OUTPUT«Nil␤»
torbjorn hm its the token that does it
TimToady token won't backtrack
arnsholt token doesn't backtrack 18:34
18:34 FROGGS joined
TimToady m: say "foo:bar" ~~ token { $<var>=[\N+?] \: } 18:34
camelia rakudo-moar 2b2857: OUTPUT«「foo:」␤ var => 「foo」␤␤»
arnsholt So \N+ will eat all the way to EOS, and there's no colon there
torbjorn right
TimToady m: say "foo:bar" ~~ token { $<var>=[<-[:]>+] \: } 18:35
arnsholt m: say "foo:bar" ~~ token { $<var>=[<-[:]>+] \: } # Should work too, I think
camelia rakudo-moar 2b2857: OUTPUT«「foo:」␤ var => 「foo」␤␤»
arnsholt Heh. Synchronized
TimToady jinx
18:35 ajr_ left
TimToady if you hadn't typed the comment, you'd've won :) 18:35
torbjorn real question is, which reply from camelia was ment for whom 18:36
FROGGS m: say "foo:bar" ~~ token { <var=-[:]>+ \: }
camelia rakudo-moar 2b2857: OUTPUT«「foo:」␤ var => 「f」␤ var => 「o」␤ var => 「o」␤␤»
FROGGS ahh, well
18:37 guru joined, guru is now known as Guest8395, Guest8395 is now known as ajr_ 18:38 Mouq left, ajr_ left 18:39 ajr_ joined 18:41 ajr_ left 18:42 bcode joined, cognominal left 18:45 Mso150 joined, denis_boyun joined
raydiak g'morning #perl6...happy thanksgiving, whether or not it is observed in your respective locales :) 19:00
19:01 cognominal joined
ugexe m: my &code = { ENTER {say "original ENTER"}; say "work"; }; my &start = {say "phaser-ENTER"}; my &done = {say "phaser-LEAVE"}; &code.add_phaser("ENTER", &start); &code.add_phaser("LEAVE", &done); &code(); 19:04
camelia rakudo-moar 2b2857: OUTPUT«original ENTER␤phaser-ENTER␤work␤»
ugexe is there a better way to add a new phaser type to a code block without declaring it in the code block, i.e. `LEAVE {}`?
m: my &code = { ENTER {say "original ENTER"}; say "work"; LEAVE {}; }; my &start = {say "phaser-ENTER"}; my &done = {say "phaser-LEAVE"}; &code.add_phaser("ENTER", &start); &code.add_phaser("LEAVE", &done); &code(); 19:06
camelia rakudo-moar 2b2857: OUTPUT«original ENTER␤phaser-ENTER␤work␤phaser-LEAVE␤»
19:07 cognominal left 19:09 ajr joined, ajr is now known as Guest67005 19:10 Guest67005 is now known as ajr_ 19:11 [Sno] joined, spider-mario left
TimToady in theory a block is immutable, though making it into a sub doesn't seem to help with this 19:12
unfortunately, you'd probably need a pragma to pessimize all your blocks 19:13
19:13 denis_boyun left
TimToady if you're inlining blocks, you don't really want to put a test for a LEAVE list everywhere 19:14
on the off chance that someone might add one later
19:18 ajr__ joined, ajr_ left, spider-mario joined
raydiak how do you type ∈ outside of vim? 19:20
19:20 anaeem1_ left 19:21 anaeem1_ joined
TimToady what os? 19:22
raydiak linux 19:23
TimToady under gnome you can type ctrl-shift-u 2208 19:24
dunno if the compose keys have anything
raydiak kde w/altgr and compose key enabled
yeah haven't found anything helpful
all the top search results for '"compose key" "set operators"' are perl 6 blogs and clog 19:25
perhaps there just isn't an easy way for this one w/o custom mappings of some sort 19:26
TimToady funny, my compose keys support typing ∉ if you happen to have a ∈ key already :D
yes, there are custome compose keys that'll do that
I haven't been able to get them to work under anthy, and I'd rather be able to type japanese :)
haven't tried recently though 19:27
raydiak heh I wonder how polyglots can keep it all straight...just trying to be able to type english and perl 6 is a lofty enough goal for me to run in to problems :) 19:28
TimToady has always wanted a compose key that used vim sequences 19:29
kurahaupo if one has a working compose key, what does one need vim's ^K sequences for? (maybe better mnemonics, I suppose) 19:34
TimToady and only having to learn one system of them 19:37
maybe they should all be added as compose sequences starting with ^K :)
raydiak still can't type ∈ (or probably some other vim digraphs) via compose key w/o custom stuff 19:38
ajr__ Damian's probably got keybinding or vim macro, TimToady. :-)* 19:39
19:44 ggoebel111111113 joined
btyler tony-o: I was using 'wrk', which had a habit of consistently segfaulting MVM or otherwise making things blow up when run using default settings against perl6-http-async 19:45
tony-o: running it against the recent p6-http-async changes it seems a -lot- more stable! and hitting ~175 requests/second, which is awesome (JVM was more like 15-40, depending on how warmed up the JIT was) 19:46
19:46 ggoebel111111113 left 19:47 ggoebel111111113 joined 19:48 rindolf left, darutoko left 19:53 denis_boyun_ joined 19:59 virtualsue joined 20:02 lucas_ joined
lucas_ Back to the Range "excludes" methods... Having deprecated excludes_{min,max} only work if called as methods, but not if passed as arguments to the constructor. I don't know how to fix this without changing all constructors. Since, normally, range objects will be created with operators, I think this may be a minor issue, but it can break stuff. BTW, I think roast should also check for ranges constructed explicity with Range.new(..., :excludes-m 20:08
... constructed explicity with Range.new(..., :excludes-mins, :excludes-max). It seems to only test ranges constructed with operators.
20:14 virtualsue left 20:18 ggoebel111111113 left 20:21 Mouq joined 20:23 liztormato joined
liztormato lucas_: Well volunteered ;-) 20:23
20:26 Mouq left, liztormato left
TimToady smls: coercers don't *think* they take multiple arguments, but if you pass a parcel or a list, that will be coerced as an object 20:44
also, functional cursors can be bound earlier than methods 20:46
*coercers
masak: yes, <*...> should probably count for both LTM and longest literal, to the extent it actually matches and is literal 20:50
21:00 lucas_ left 21:02 virtualsue joined 21:10 virtualsue left 21:15 ggoebel111111113 joined
timotimo o/ 21:18
21:18 bcode left
masak \o 21:18
colomon o/ 21:19
21:20 bcode joined, pecastro joined 21:26 gfldex left, virtualsue joined 21:30 kjs_ joined 21:32 liztormato joined
liztormato timotimo: masak colomon /o 21:32
colomon \o
timotimo heyo liz 21:34
i don't think i can help you alot with what you asked me in the backlog :(
21:35 smls left, liztormato left 21:36 liztormato joined
liztormato timotimo: Thanks for looking at it anyway 21:36
21:39 liztormato left 21:45 virtualsue left 21:47 anaeem1_ left 21:49 pmurias joined
pmurias masak: nqp::print("hi") doesn't call a func from the nqp package it inserts an op 21:50
masak pmurias: I know. 21:55
pmurias: my point isn't about that at all. my point is that (a) it's illegal Python, and (b) the syntax it introduces is Perl 6-think for "package lookup", which already has syntax in Python. 21:56
'night, #perl6
pmurias illegal Python is a benefit
we could use the python syntax and require a pragma 21:57
22:00 kaare_ left
Ugator So how comes there is so much python talk in here? 22:05
22:08 spider-mario left 22:15 virtualsue joined 22:17 liztormato joined
liztormato Perhaps because of Inline::Python? 22:18
jnthn Or maybe because of Snake :) 22:20
liztormato Badger xx 26
22:31 lizmat joined 22:33 liztormato left 22:34 ajr__ left 22:35 telex left 22:36 telex joined 22:40 rurban left 22:43 Mso150 left 22:47 Ugator left 22:53 cognominal joined 23:01 cognominal left, denis_boyun_ left 23:02 FROGGS left 23:13 chenryn joined 23:18 cognominal joined, cognominal left 23:24 lizmat_ joined, lizmat_ left, lizmat_ joined 23:25 lizmat left, lizmat_ is now known as lizmat], lizmat] is now known as lizmat 23:26 chenryn left 23:31 rmgk left, kjs_ left 23:35 lizmat_ joined 23:36 lizmat left 23:37 rmgk joined 23:43 rmgk left 23:45 kjs_ joined 23:52 rmgk joined
timotimo yup, inline::python is a thing, but i think today all that was talked about was snake 23:54
23:56 virtualsue left
TimToady so...can the python libraries we want to take over be considered thread safe? 23:58
lizmat_ as long as you run in one thread, I guess :-) 23:59
23:59 lizmat_ is now known as lizmat
timotimo no, you can run inline::python from as many threads as you like, but there'll be a single GIL that'll govern how your python code runs 23:59