Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-11-24

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 lizmat good night, #perl6!
00:00 raiph o/
00:00 MadcapJake can you check what traits a sub has?
00:00 psch MadcapJake: some built-in traits have accessors on the sub, e.g. is rw
00:01 raiph MadcapJake: Aiui traits don't stick around as traits. They do something at compile time then vanish.
00:01 psch m: sub f () is rw { $ }; say &f.rw
00:01 camelia rakudo-moar : OUTPUT«True␤»
00:01 dwarring m: class MyBaseRole {}; role MyRole is MyBaseRole {}; True does MyRole
00:01 camelia rakudo-moar : OUTPUT«Base type has already been set for Bool+{MyRole}␤  in any set_base_type at gen/moar/m-Metamodel.nqp:877␤  in any add_parent at gen/moar/m-Metamodel.nqp:3320␤  in any apply at gen/moar/m-Metamodel.nqp:2724␤  in any compose at gen/moar/m-Metamodel.nqp:3362…»
00:01 MadcapJake raiph: I was curious about your response on the PL subreddit re: `is pure`
00:02 Zoffix MadcapJake, a wild show but your syntax highligher thing doesn't work in Sublime Text 2, does it?
00:02 dwarring versus the earlier...
00:02 dwarring m: class MyClass {}; role MyRole is MyClass {}; True does MyRole
00:02 camelia rakudo-moar : OUTPUT«Base type has already been set for Bool+{MyRole}␤  in any set_base_type at gen/moar/m-Metamodel.nqp:877␤  in any add_parent at gen/moar/m-Metamodel.nqp:3320␤  in any apply at gen/moar/m-Metamodel.nqp:2724␤  in any compose at gen/moar/m-Metamodel.nqp:3362…»
00:02 Zoffix s/show/shot/;
00:02 MadcapJake Zoffix: It's CSON and I think ST2 uses XML, but I've thought about writing a converter from CSON->tmBundle
00:03 MadcapJake it might not be too hard.
00:03 Zoffix :)
00:03 diakopter___ Zoffix: when can we add your index to this: http://www.modulecounts.com/
00:03 ribasushi joined #perl6
00:03 dwarring I've refactored
00:03 Zoffix I can't install Atom on my home box and I wouldn't mind not having a highlighter a all in ST2, but it messes up opening/closing brackets
00:04 diakopter___ Zoffix: I'm not sure we (anyone?) can catch nNode, with its 210,000 modules
00:04 diakopter___ *Node
00:04 Zoffix diakopter___, my index? What?
00:04 diakopter___ module list
00:04 * Zoffix doesn't have any module lists... :S
00:04 diakopter___ the site you're working on?
00:04 diakopter___ the ecosystem list
00:04 MadcapJake It'd be nice if there was a `TRAITS` or `WITH` method on subs that would list all the traits.  That'd make using `is pure` at least useful within a program or module.
00:04 Zoffix I wonder how many of those 210,000 modules are reinvented wheels.
00:05 diakopter___ a billion of them XD
00:05 MadcapJake Zoffix: why can't you install Atom on your home box?
00:05 jdv79 most
00:05 Zoffix Linux ZofMain 3.5.0-11-generic #11 SMP Wed Aug 22 14:45:14 CDT 2012 i686 i686 i386 GNU/Linux
00:05 Zoffix I'm too lazy to upgrade and there's no 32-bit atom
00:06 TEttinger woah, really?
00:06 Zoffix Or rather... before I upgrade, I want to get an SSD, and I'm hesitant to spend $X amount of money on it, 'cause I want to move to a better place :P
00:06 TEttinger I'm always surprised when people make 64-bit-only software these days
00:06 Zoffix diakopter___, I wasn't working on the ecosystem list.
00:06 Zoffix diakopter___, I was making an updated http://modules.perl6.org/ which is live already
00:06 Zoffix diakopter___, what is needed for it to be included to modulecounts.com?
00:07 diakopter___ you know there's no 32-bit redhat 7
00:07 aindilis joined #perl6
00:07 diakopter___ and no 32-bit windows server... for many years
00:08 Zoffix diakopter___, do you own modulecounts.com?
00:08 diakopter___ no...
00:08 Zoffix diakopter___, I could add a route that would tell their bot how many modules we got in eco
00:08 jdv79 well, cpan has just as many if you count actual modules
00:08 Zoffix No scraping required
00:09 Zoffix Damn, I hate that git checkout doesn't handle directories correctly.
00:09 dwarring timotimo: ^^ changing role to a class, but still getting the same composition error
00:09 diakopter___ jdv79: well, Maven Central would have in the millions if you counted "actual modules" there too
00:09 diakopter___ (jvm classes)
00:10 diakopter___ Zoffix: I was mildly kidding; I don't think that site would want a language with only a few hundred modules
00:11 Zoffix diakopter___, :(
00:11 Zoffix diakopter___, I already checkout a repo and half-way done with implementing a /total
00:11 diakopter___ well I guess Lua has less than 900
00:11 jdv79 like pear?
00:11 * Zoffix does it anyway
00:11 jdv79 i think i used that once
00:11 MadcapJake Zoffix: the new modules.perl6.org is really nice looking! Great work!  I wish it had opensearch support though.
00:12 jdv79 he diff tween cpan and cpan search are useless to put there
00:12 jdv79 *the
00:13 jdv79 more useful would be p6 cpan and p6 $whatever-it's-called
00:14 MadcapJake is there a way to find out what methods something has like `dir` in python?
00:14 jdv79 .^methods
00:14 dalek modules.perl6.org: 8948b6c | (Zoffix Znet)++ | web/lib/ModulesPerl6 (2 files):
00:14 dalek modules.perl6.org: Add route to display total number of modules in DB without a need for parsing and loading large main page
00:14 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/8948b6c47b
00:14 jdv79 m: Date.^methods>>.name # maybe
00:14 camelia rakudo-moar : ( no output )
00:14 jdv79 maybe not
00:15 jdv79 m: Date.^methods>>.name.say # maybe
00:15 camelia rakudo-moar : OUTPUT«(get-daycount new-from-daycount today truncated-to later earlier clone succ pred day-of-month check-value IO daycount-from-ymd day-of-week check-date days-in-month ymd-from-daycount week week-number is-leap-year week-year weekday-of-month truncate-parts day-of-y…»
00:15 MadcapJake m: sub square(\foo) is pure { foo ** 2 }; say &square.IS_PURE;
00:15 camelia rakudo-moar : OUTPUT«True␤»
00:15 MadcapJake boom! wish it was named as `rw` is though, but at least it's there!
00:15 diakopter___ does dists_num include revisions/versions
00:16 Zoffix diakopter___, http://modules.perl6.org/total
00:16 Zoffix :)
00:16 raiph MadcapJake: I don't think there's any consistency to the residue left behind by any given trait
00:17 diakopter___ Zoffix: fwiw, I'll email the guy
00:17 Zoffix diakopter___++
00:17 jdv79 is a repo a module now?
00:17 diakopter___ he might as well add another daily poll at least, even if it doesn't go on the homepage yet
00:17 MadcapJake raiph: that's unfortunate, I think it might make more sense to do something like `&square.^traits` and return a list.
00:18 MadcapJake Zoffix: is there a way to search modules.perl6.org via the url? e.g., `modules.perl6.org/search/%s`
00:18 timotimo Zoffix: you know your Color module is b0rked, yeah? you need to spell the version "ver", not "version"
00:18 psch MadcapJake: traits are either (1) built-in and set stuff that's needed for correct compilation or (2) mix in a role
00:18 psch MadcapJake: i don't think adding a .^traits MOP method is useful
00:19 Zoffix MadcapJake, yeah,it's in one of the "site tips" randomly shown on the site.
00:19 Zoffix MadcapJake, http://modules.perl6.org/#q=Test
00:19 MadcapJake Zoffix: sweet, then I can add my own opensearch provider,  right now though if you right click the search bar, it doesn't have a context menu option for "add search provider" (this is done via opensearch spec)
00:20 Zoffix timotimo, lies! Lies and slander! https://github.com/zoffixznet/perl6-Color/blob/master/lib/Color.pm6#L2
00:20 Zoffix timotimo, :) Thanks
00:20 psch MadcapJake: consider < multi trait_mod:<is>(Routine $r, :$false!) { $r does role { method Bool { False } } } >, how would that get listed in .^traits?  with a link to the sub?  with just the name of the named?
00:20 timotimo "27 seconds ago" %)
00:20 Zoffix :D
00:21 MadcapJake psch: I am still not very adept at perl 6, but I just feel that traits being available to programmers in a more useful interface could allow for you to write subs that change based on the traits of a function argument.
00:22 Zoffix MadcapJake, opened a wishlist Issue for OpenSearch :) https://github.com/perl6/modules.perl6.org/issues/37
00:22 diakopter___ Zoffix: how/why does every module have Kwalitee of 100%
00:23 Zoffix diakopter___, https://github.com/perl6/modules.perl6.org/blob/master/web/lib/ModulesPerl6/Metrics/Kwalitee.pm#L6
00:23 timotimo ugh. god. damn. profiles
00:23 Zoffix diakopter___, right now I'm cleaning up the DB build script and Kwalitee is my next thing on the TODO list
00:23 diakopter___ giggle
00:23 timotimo 29 MB used to be doable
00:23 sprocket joined #perl6
00:23 Zoffix diakopter___, I'm also hacking on a Perl 6 module Kwalitee that will also check pod coverage and META
00:24 psch MadcapJake: to me it seems more useful to check whether the result (maybe "object") supports the operation instead
00:24 cdg joined #perl6
00:24 jdv79 timotimo: huh?
00:24 MadcapJake psch: sub mapping-func(Routine \foo) { if foo is pure { ... } else { ... } }
00:24 psch MadcapJake: anything returned by a rw-sub usually has a .VAR ~~ Scalar
00:24 Zoffix diakopter___, but by current metrics (has readme/has tests/conforms to panda spec) virtually every module has 100% Kwalitee :) There's only about a dozen that fail
00:25 psch MadcapJake: well, pure is kinda special, and thus upper-case and available as accessor... :)
00:25 timotimo jdv79: i made a profile that's "only" 29 megabytes big and chrome chokes on it
00:25 jdv79 oh
00:25 diakopter___ I would name it Koalitee
00:25 psch MadcapJake: (also, minor nit, "foo is pure" would still parse as applying a trait, but that's not your point)
00:25 jdv79 pod is the worst part of it all
00:26 MadcapJake psch: ok well bad example then xD, i just mean having a nicer interface to traits in that way
00:26 psch MadcapJake: but you're generalizing from an exceptional case, when starting with pure
00:26 raiph MadcapJake: traits are a purely compile time entity
00:26 zengargoyle timotimo: couldn't you just massage `git blame META.list` to get list of modules added...
00:26 Zoffix diakopter___, I'll consider that name. Would be nice to have something different than P5's Kwalitee :) http://cpants.cpanauthors.org/ranking/five_or_more
00:27 diakopter___ like a Koala beer
00:27 Zoffix beer? :D
00:27 pink_mist beer :D
00:27 raiph MadcapJake: you can introspect objects at run-time and they may have some metadata put there by a trait
00:27 pink_mist I know there's a Tactical Nuclear Penguin beer, but Koala beer is news to me
00:28 Zoffix 0.o
00:28 raiph MadcapJake: and such metadata may be in an attribute with a name derived from the trait name
00:28 pink_mist Zoffix: https://www.brewdog.com/item/15/BrewDog/Tactical-Nuclear-Penguin.html
00:28 diakopter___ ????????
00:29 raiph MadcapJake: eg the `is rw` trait on a sub sets a rw attribute on the sub
00:29 diakopter___ .u ????????
00:29 yoleaux U+1F37A BEER MUG [So] (????)
00:29 yoleaux U+1F428 KOALA [So] (????)
00:29 pink_mist haha, unicode is awesome :P
00:29 Zoffix pink_mist, I think the worst name is "Delirium Tremens"... a beer named after a medical condition that affects alcoholics :P http://www.thebeerstore.ca/beers/delirium-tremens
00:30 Zoffix It also tastes like piss mixed with honey.
00:30 MadcapJake raiph: and I was just thinking that it'd be neat to have those attributes either be a little more uniform or testable via `is` when inside a condition.  But I can see how many of them are really outside of the scope of most programs.
00:30 pink_mist Zoffix: lol
00:30 jdv79 How is that bad?
00:30 pink_mist Zoffix: the penguin tastes like crap from what I've heard :P never tried it myself ... it's only claim to fame is that it was at one time the strongest beer in the world :P
00:30 diakopter___ m: my $_???????? is ::hungry
00:30 camelia rakudo-moar : OUTPUT«5===SORRY!5===␤Bogus postfix␤at /tmp/AVJgpxkvee:1␤------> 3my $_7⏏5???????? is ::hungry␤    expecting any of:␤        constraint␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤…»
00:31 pink_mist *its
00:31 jdv79 pink_mist: are yo sure?
00:31 raiph MadcapJake: I agree I would have kinda expected `is pure` to set a $!pure attribute
00:31 pink_mist jdv79: it was quickly overtaken
00:31 diakopter___ Zoffix: sad modules can have Koalitears
00:32 Zoffix heh
00:32 jdv79 you may mean this one: https://www.brewdog.com/lowdown/blog/sink-the-bismarck
00:32 raiph MadcapJake: Or maybe a 'pure' key in a hash stored in a %!traits hash
00:32 jdv79 i had both and one was gross and the other was ok.  can't remember which though.
00:33 pink_mist jdv79: afaik bismarck came later than penguin
00:33 MadcapJake MadcapJake: yeah that's what I was thinking, instead of adding another attribute right on the sub, just make a hash for traits that all traits add to when assigned.
00:33 MadcapJake lol raiph not me :P
00:33 psch raiph: but traits can be user defined and are lexically scoped
00:33 psch raiph: so you could get a Routine with trait abc from ModuleA or ModuleB, that do different things
00:33 raiph psch: I'm not speaking of all traits because they're completely general as to what they do
00:34 psch raiph: but how do you distinguish if it's a built-in trait or not?
00:34 jdv79 Zoffix: is there a roadmap for the modules.perl6.org stuff?
00:34 raiph psch: I wasn't distinguishing builtins from non builtins
00:34 dalek modules.perl6.org: 17546f5 | (Zoffix Znet)++ | web/site-tips.txt:
00:34 dalek modules.perl6.org: Add /total route to Site Tips
00:34 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/17546f5559
00:34 MadcapJake psch: why would you need to? the traits hash would really only be for users
00:35 jdv79 wish i had a beer.  i forgot to go out whiles the bars were open
00:35 psch raiph: oh.  i thought if it isn't for all traits it's for specific traits, and the most obvious distinction would be "built-in or not"
00:35 Zoffix jdv79, not really a roadmap, but there is a TODO: https://github.com/perl6/modules.perl6.org/blob/master/TODO-IDEAS.md
00:35 diakopter___ jdv79: chase the sun west, maybe you'll find an open bar
00:35 psch not meaning to come hostile here, fwiw.  i do notice my tone is slipping a bit, sorry
00:36 Zoffix jdv79, Right now I'm working on "Clean Up db builder script" in new-db-builder branch. Then I'm gonna do the Kwalitee thing and then I'll take a break to hack some Perl 6 stuf
00:36 Zoffix jdv79, and then will see.
00:36 jdv79 Zoffix: what db?
00:36 Zoffix jdv79, modules db
00:36 Zoffix jdv79, parsing https://raw.githubusercontent.com/perl6/ecosystem/master/META.list fetching info from github etc and storing it in db
00:37 psch MadcapJake: but it's easier to check if whatever argument you have does what you need it to do, instead of if it kept track of one specific way of changing what it *can* do
00:37 jdv79 oh i thought you meant an actual search solution:(
00:37 Zoffix jdv79, what do you mean "search solution"?
00:37 raiph psch: I more or less agree with "more useful to check whether the result ... supports the operation", eg. &sub.IS_PURE
00:38 jdv79 think google - you know - "search":)
00:38 jdv79 metacpan does some of that iirc
00:38 jdv79 i really would like to get back to looking at it someday
00:40 psch raiph, MadcapJake: sorry for coming of argumentative, in any case
00:41 raiph psch: You can see why MadcapJake is thinking $foo.^traits, right?
00:41 Zoffix jdv79, I'm a bit burnt out with Perl 5 coding ATM so my goal right now is to just finish conversion to Mojo app so others could more easily hack on it and take a break.
00:41 jdv79 digging into non-trivial p5 code isn't really what i call fun these days for me
00:41 Zoffix jdv79, essentially, now these two files: https://github.com/perl6/modules.perl6.org/blob/master/web/lib-db-builder/P6Project/Info.pm and https://github.com/perl6/modules.perl6.org/blob/master/web/lib-db-builder/P6Project/Hosts/Github.pm ...
00:41 raiph Zoffix++ # m.p6.o and taking breaks
00:41 Zoffix jdv79, into single file like this: https://github.com/perl6/modules.perl6.org/blob/new-db-builder/lib/DbBuilder/Dist/Source/GitHub.pm
00:41 timotimo m: say "say "my amazing patch made Color's operators test run in { 5.23 R/ 4.77 }x as much time as before"
00:41 camelia rakudo-moar : OUTPUT«5===SORRY!5=== Error while compiling /tmp/mwOeIZTPV8␤Two terms in a row␤at /tmp/mwOeIZTPV8:1␤------> 3say "say "7⏏5my amazing patch made Color's operators ␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤      …»
00:42 timotimo m: say "my amazing patch made Color's operators test run in { 5.23 R/ 4.77 }x as much time as before"
00:42 camelia rakudo-moar : OUTPUT«my amazing patch made Color's operators test run in 0.912046x as much time as before␤»
00:42 psch raiph: i think so.  it's about a unified way of checking for potential capability changes in a given argument
00:42 timotimo Zoffix: how do you like the sound of that? :)
00:42 Zoffix jdv79, which is like a plugin, so we can add more dist sources without hacking the core :)
00:42 Zoffix timotimo, sounds good, if true :)
00:43 Zoffix Runs in 0m6.330s on my box ATM
00:43 cdg joined #perl6
00:44 Zoffix jdv79, at $work I have a 120,011-line CGI app to convert to Mojo :P
00:44 Zoffix By comparison modules.perl6.org job is quite relaxing :P
00:45 timotimo it's a moarvm patch that i just put in
00:45 timotimo one of the earliest ops in the NFA's "optimize" and "mergesubrule" methods were getstderr, which caused the JIT to completely abort the whole frame
00:45 * Zoffix upgrades perl6
00:46 timotimo and since adding a new operator causes some alterations to be upgraded with new things, that causes the NFA code to run a bunch
00:47 petercommand joined #perl6
00:47 Zoffix joined #perl6
00:47 jdv79 do we have a plan for version integrity for the github module?
00:48 jdv79 *model
00:48 petercommand joined #perl6
00:48 jdv79 i think it was discussed lightly before
00:49 Zoffix We could use tags?
00:49 raiph m: sub impure {}; sub pure () is pure {}; say &impure.WHAT; say &pure.WHAT # MadcapJake, psch: Oh, do all traits leave residue in the form of an altered type?
00:49 camelia rakudo-moar : OUTPUT«(Sub)␤(Sub+{<anon|64234560>})␤»
00:50 jdv79 they are fungible
00:50 psch m: sub f is rw { }; say &f.WHAT
00:50 camelia rakudo-moar : OUTPUT«(Sub)␤»
00:50 psch raiph: no, not all
00:50 timotimo 4663 merging a subrule
00:50 timotimo 1 optimizing an NFA of 19834 states
00:50 timotimo we have a winner!
00:51 timotimo actually ...
00:51 timotimo 9288 merging a subrule
00:51 Zoffix timotimo, oh damn. Looks like all my other modules use :version<> as well
00:51 timotimo 1 optimizing an NFA of 42147 states
00:51 Zoffix And it used to work lol
00:51 timotimo yeah
00:52 timotimo we've only quite recently started rejecting adverbs that aren't "right"
00:52 pippo left #perl6
00:53 timotimo it'd be kinda-sorta interesting to see that 42k state NFA
00:53 timotimo but also quite hard to make out much %)
00:54 jdv79 what does it do?
00:54 timotimo it's what we use to power the | operator in regexes and what proto tokens do
00:55 jdv79 i guess i meant where did 42k states come from?
00:56 Zoffix hm
00:57 timotimo oh
00:57 timotimo dunno :)
00:57 Zoffix m: say "perl6 update made t/06-operators.t run {1-6.330/6.598}% slower"
00:57 camelia rakudo-moar : OUTPUT«perl6 update made t/06-operators.t run 0.040618% slower␤»
00:57 timotimo ... slower?
00:58 timotimo can you try with just the latest moar patch on/off?
00:58 raiph psch: thanks
00:58 Zoffix Yeah, slower. How do I do that?
00:58 timotimo you're magical
00:59 raiph Zoffix++ # magical powers
01:00 Zoffix eval: say 6.776 - 6.517, 6.517 - 6.330
01:00 cognominal joined #perl6
01:00 Zoffix m: say 6.776 - 6.517, 6.517 - 6.330
01:00 camelia rakudo-moar : OUTPUT«0.2590.187␤»
01:00 Zoffix timotimo, there's a lot of variance. I wouldn't read too much into it
01:01 timotimo let me check out variance locally some more ...
01:04 timotimo ugh. now it's at just a little win
01:04 Zoffix :P
01:04 Zoffix Run it many times and average it out
01:04 timotimo :\
01:04 timotimo nah, that'll only make me sad
01:04 timotimo sometimes the jit just doesn't make things much better :<
01:07 yeahnoob joined #perl6
01:07 Zoffix $ perl -Mojo -wlE 'n { `prove -e perl6 -vlr t/06-operators.t` } 10'
01:07 Zoffix 65.948 wallclock secs ( 0.00 usr  0.00 sys + 64.74 cusr  1.01 csys = 65.75 CPU) @  0.15/s (n=10)
01:08 Zoffix 6.5948 secs on average over 10 runs.
01:08 Zoffix I've no idea how to revert to older moar to test what I used to have :P
01:08 timotimo how do you usually build moar?
01:09 Zoffix rakudobrew build moar
01:09 timotimo anyway, be AFK for a little bit
01:09 timotimo oh, does that even give you a newer moar?
01:09 timotimo i think it
01:09 timotimo just gives you whatever's in the MOAR_VERSION?
01:09 timotimo but there's rakudobrew triple nom master master
01:10 Zoffix ¯\_(ツ)_/¯ this is what the output says I got: http://fpaste.scsys.co.uk/501818
01:10 timotimo oh
01:10 Zoffix oh wow, that was a giant pull
01:10 timotimo f10000f is mine, all right
01:11 havenwood joined #perl6
01:11 havenwood joined #perl6
01:11 Zoffix heh "Found ../install/bin/moar version 2015.11-7-gf10000f, which is new enough"
01:12 timotimo yeah
01:12 timotimo damn it.
01:12 Zoffix "Couldn't determine correct make program. Aborting." :S
01:16 Zoffix 6.56679 secs over 10 runs with whatever update I managed to install :P
01:17 Zoffix m: say "It's {100-6.56679/6.5948}% faster, but that's probably statistically insignificant :)"
01:17 camelia rakudo-moar : OUTPUT«It's 99.0042473% faster, but that's probably statistically insignificant :)␤»
01:17 Zoffix oh hahaha math fail :P
01:17 Zoffix m: say "It's {6.56679/6.5948}% faster, but that's probably statistically insignificant :)"
01:17 camelia rakudo-moar : OUTPUT«It's 0.9957527% faster, but that's probably statistically insignificant :)␤»
01:17 * Zoffix gives up and goes to watch Mythbusters
01:18 Zoffix m: say "It's {1-6.56679/6.5948}% faster, but that's probably statistically insignificant :)"
01:18 camelia rakudo-moar : OUTPUT«It's 0.0042473% faster, but that's probably statistically insignificant :)␤»
01:24 timotimo ;(
01:25 timotimo anyway, that'll soon be irrelevant when "curli" gets merged because then we'll have precomp again
01:31 SmokeMachine_ Is there any plan to write a perl6 compiler to webassembly?
01:35 skids Maybe when there's a solid plan to make WebAssembly not just a js overlay?  I like the concept a lot but it looks very hacked together still.
01:36 skids (I especially like that WebAssembly bothered to deal with unsigned stuff for a change.)
01:36 Actualeyes joined #perl6
01:38 tokuhiro_ joined #perl6
01:38 * skids wonders where the arg to Promise.keep goes off to.
01:39 timotimo there's 383 calls to the optimize method of the NFA and it "only" takes 1.06s
01:40 timotimo the slowest individual optimize run took 0.08s
01:40 geraud joined #perl6
01:41 jdv79 is there an idiom for "unless .index()"?  i know if is with.
01:41 timotimo "without"
01:41 jdv79 too hard 
01:41 * timotimo hides in bed
01:41 timotimo we could rename it to "unwith"?
01:42 timotimo sounds a bit like "unless" if you have a strong lithp
01:42 timotimo and pronounce the e like an i
01:53 BenGoldberg joined #perl6
01:55 geraud joined #perl6
02:06 psch hm, we have uninvocable &dump_extra_node_info on some QAST types..?
02:06 psch i guess that might mean the method doesn't exist, among other things
02:20 dayangkun_ joined #perl6
02:21 vmbrasseur left #perl6
02:22 geraud joined #perl6
02:24 raiph joined #perl6
02:25 FROGGS_ joined #perl6
02:30 xpen joined #perl6
02:40 molaf__ joined #perl6
02:46 skids https://gist.github.com/skids/e8149189ac5c24ae493e # Don't know if this behavior is RTd
02:47 cdg joined #perl6
02:49 geraud joined #perl6
02:58 skids Hrm. RT#125515 looks related.
02:58 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125515
03:02 Ben_Goldberg joined #perl6
03:05 geraud1 joined #perl6
03:07 secwang_ joined #perl6
03:07 Ben_Goldberg joined #perl6
03:12 geraud joined #perl6
03:13 tokuhiro_ joined #perl6
03:16 secwang_ joined #perl6
03:18 z8 joined #perl6
03:19 secwang joined #perl6
03:19 noganex joined #perl6
03:20 geraud joined #perl6
03:21 dayangkun_ joined #perl6
03:26 kaare_ joined #perl6
03:26 secwang joined #perl6
03:33 geraud joined #perl6
03:57 raiph m: say $/; say "Foo".subst: /Foo/, {$/}; say $/; say "Bar".subst: /Bar/, {$/} for 1; reported as #RT126721
03:57 camelia rakudo-moar : OUTPUT«5===SORRY!5=== Error while compiling /tmp/u5jndvXCdw␤Undeclared routines:␤    as used at line 1␤    reported used at line 1. Did you mean 'repeated'?␤␤»
03:58 raiph m: say $/; say "Foo".subst: /Foo/, {$/}; say $/; say "Bar".subst: /Bar/, {$/} for 1; # reported as #RT126721
03:58 camelia rakudo-moar : OUTPUT«Nil␤Foo␤「Foo」␤Foo␤»
04:01 raiph .tell FROGGS You fixed 118705 (s///); please note apparently similar rt 126721 (subst)
04:01 yoleaux raiph: I'll pass your message to FROGGS.
04:08 geraud joined #perl6
04:11 quietfanatic joined #perl6
04:13 quietfanatic https://twitter.com/dadgumjames/status/668999214685376512  https://twitter.com/dadgumjames/status/668999737790566400
04:18 grondilu joined #perl6
04:21 diakopter the story here is that the author of prog21.dadgum.com is mentioning Perl 6
04:36 doublec_ joined #perl6
04:57 mspo spurt? :) lol
04:57 quietfanatic left #perl6
04:57 vendethiel joined #perl6
05:12 b7j0c joined #perl6
05:26 stmuk joined #perl6
05:30 xpen joined #perl6
05:30 dayangkun_ joined #perl6
05:32 dayangkun_ joined #perl6
05:32 geraud joined #perl6
05:42 secwang joined #perl6
05:45 secwang joined #perl6
05:48 _28_ria joined #perl6
05:59 xfix joined #perl6
06:02 secwang_ joined #perl6
06:04 xpen joined #perl6
06:04 xpen joined #perl6
06:21 darutoko joined #perl6
06:22 dalek joined #perl6
06:25 uruwi joined #perl6
06:26 uruwi joined #perl6
06:26 uruwi hello
06:28 uruwi m: say "ping"
06:28 camelia rakudo-moar : OUTPUT«ping␤»
06:29 uruwi Lonely, isn't it?
06:30 uruwi test
06:32 uruwi Restarting my client.
06:34 uruwi joined #perl6
06:34 uruwi back
06:35 tudorconstantin joined #perl6
06:36 uruwi Hey
06:37 uruwi ...
06:38 uruwi2 joined #perl6
06:38 uruwi2 Testing.
06:38 uruwi OK, client is working.
06:42 darutoko joined #perl6
06:52 Averna joined #perl6
06:53 uruwi Hi
06:55 rurban joined #perl6
06:57 TEttinger joined #perl6
06:58 uruwi Hi again
07:07 FROGGS joined #perl6
07:09 domidumont joined #perl6
07:12 RabidGravy joined #perl6
07:15 domidumont joined #perl6
07:19 bbkr joined #perl6
07:23 sno joined #perl6
07:26 nine .tell dwarring Bool is now an enum instead of a class. It is a concious decision to now allow mixing into enums, as they are not classes and though we could make it work, it would expose lots of strange edge cases.
07:26 yoleaux nine: I'll pass your message to dwarring.
07:30 moritz \o
07:30 yoleaux 23 Nov 2015 21:28Z <sno> moritz: I didn't prove whether my fix don't break the intended new feature - will prove tomorrow and ping on success / update on error
07:34 uruwi * not?
07:34 uruwi Not allow mixing into enums, I infer?
07:35 moritz yes, "not"
07:38 CIAvash joined #perl6
07:41 grondilu is there a guide somewhere on how to pre-compile a panda module?
07:42 sno moin moritz
07:44 uruwi grondilu, git clone it then use ufo?
07:44 * grondilu never used ufo
07:44 uruwi I don't know actually
07:45 ribasushi joined #perl6
07:46 FROGGS grondilu: you could potentially use zef instead of panda
07:46 yoleaux 04:01Z <raiph> FROGGS: You fixed 118705 (s///); please note apparently similar rt 126721 (subst)
07:47 grondilu what's zef?  some new package maintainer?
07:48 grondilu I don't see it in the ecosystem anyway
07:54 dalek rakudo/nom: cb1c8d4 | moritz++ | docs/ChangeLog:
07:54 dalek rakudo/nom: Start Changelog for 2015.12
07:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cb1c8d4bbc
07:54 moritz grondilu: https://github.com/ugexe/zef
07:55 doublec_ joined #perl6
07:56 grondilu ok thanks
07:56 moritz m: say (try die 42).^name
07:56 camelia rakudo-moar : OUTPUT«Nil␤»
08:00 jccnd joined #perl6
08:03 rubbb joined #perl6
08:06 jnthn morning, #perl6
08:07 abraxxa joined #perl6
08:11 diakopter marning
08:13 zacts joined #perl6
08:13 sammers joined #perl6
08:14 nine jnthn: bit of a design question: should CompUnit::DependencySpecification have an optional $.file attribute or should I put that into X::CompUnit::UnsatisfiedDependency? I need it somewhere to throw typed exceptions from Repository::FileSystem::load($file).
08:19 jnthn nine: What codepath leads to the exception?
08:19 secwang joined #perl6
08:20 jnthn require "$filename"?
08:20 telex joined #perl6
08:26 ely-se joined #perl6
08:27 nine yes
08:27 jnthn Do we pass a dependency specification at all there?
08:28 nine We don't.
08:28 jnthn I'm not even sure whether to go with the same exception type...
08:28 nine Well, it's still an unsatisfied dependency, just one that's specified in a different way.
08:28 jnthn True :)
08:29 nine I've thought about that possibility, but I couldn't come up with a good name for the exception type, which is an indicator, that it may just be the same.
08:29 royalkiran007 joined #perl6
08:30 nine I guess I'll just add the $.file attribute to the exception. Makes it easy to tailor the message to the exact use case and creating a DependencySpecification object just to pass a file name seems excessive.
08:31 jnthn Yeah, I'm just uneasy about a design where we end up with an exception type that has two attributes and we expect one or the other but not both to be set
08:31 jnthn Maybe X::CompUnit::UnsatisfiedDependency wants to be a role with a couple of implementations or something.
08:31 nine Though adding it to the DependencySpecification would allow for us to unify the interfaces of need and load
08:32 nine After all, the dependency is simply specified by giving a file name.
08:32 jnthn My gut feeling is they don't really want unifying, but I'm having trouble saying exactly why.
08:33 konobi roles?
08:33 nine Same here. It's the same, yet different.
08:33 pdcawley joined #perl6
08:34 zakharyas joined #perl6
08:35 zacts joined #perl6
08:41 [Tux] joined #perl6
08:42 zakharyas joined #perl6
08:49 g4 joined #perl6
08:54 rurban joined #perl6
09:01 dakkar joined #perl6
09:01 azawawi joined #perl6
09:01 azawawi hi
09:01 yoleaux 22 Nov 2015 13:25Z <moritz> azawawi: if .perl doesn't show it, it's not there anymore
09:02 azawawi im trying the perl6 REPL today and a strange case occured which maybe a bug
09:02 azawawi my int8 $x = 0;   # first one works
09:02 azawawi $x     # prints "Unhandled lexical type in lexprimspec for '$x'"
09:04 moritz azawawi: yes, bug, and afaict long known
09:04 azawawi ok thanks
09:05 jnthn int8 is only really there for use in nativecall parameters and native arrays.
09:06 jnthn So far.
09:06 azawawi moritz: I was wondering whether to map postgresql types to int or int8, int2
09:06 jnthn int1/int2/int4 likely won't make it into 6.c
09:06 Upasaka joined #perl6
09:06 jnthn Will try and get int8/int16/int32 working with lexicals though.
09:07 azawawi are we using less storge using int8 instead of Int or the same? and how do i determine the sizeof in bytes of a type?
09:07 azawawi s/storge/storage
09:09 jnthn If you create a my int8 @arr[1024]; then yes, it'll pack the bytes into 1KB of memory
09:09 jnthn For native lexicals, no difference.
09:11 azawawi so in the case of being returned as a hash int8 value, we wont benefit from it (i.e. rows of a query)
09:11 jnthn No
09:12 jnthn Hashes can't store native types anyway
09:12 azawawi i see
09:13 jnthn And when some time in the future they can, you'd have to have all of your values be int8
09:13 jnthn Not just some of them
09:13 azawawi but theortically we should be benefit... re https://github.com/azawawi/DBIish/blob/master/examples/pg_arrays.p6#L35
09:13 jnthn Yes, native arrays are where you can get the real savings
09:13 jnthn Or object attributes
09:14 jnthn has int8 $.foo; # will use a byte, BUT alignment rules still apply
09:14 jnthn So
09:14 jnthn class C { has int8 $.foo; has int32 $.bar; } # wastes 3 bytes between the two fields
09:14 jnthn (Same in C, fwiw.)
09:15 azawawi so for array size which is not a multiple of 2, 4, etc ... depending on the compile-time architecture
09:15 azawawi i see thanks
09:17 bass joined #perl6
09:18 kjs_ joined #perl6
09:21 jonas2 joined #perl6
09:29 rindolf joined #perl6
09:34 masak what's the community-approved way to do the equivalent of `perl -i.bak` in Perl 6?
09:34 masak (oh hai, #perl6)
09:36 azawawi moritz: interesting... arrays of oids http://www.postgresql.org/docs/9.4/static/datatype-oid.html :)
09:36 El_Che i.bak6? too easy? :)
09:38 Ven joined #perl6
09:39 zakharyas joined #perl6
09:39 azawawi also http://www.postgresql.org/docs/9.4/static/datatype-json.html  # json type in postgresql... is a candidate for db json => perl6  hash via JSON::Tiny
09:45 cognominal joined #perl6
09:52 zakharyas joined #perl6
09:54 moritz yes, but not in DBIish
09:54 DrForr Pfft, it'd be nice to know if someone *actually* gifted at speaking was going to cover some of the more exotic topics for OSCON so I don't feel like I've got to propose *everything* in a given talk...
09:55 moritz DrForr: it's OK to leave topics without coverage. Relax. :-)
09:56 DrForr But that's part of the fun. Let's get ready to RUMBLE :)
09:57 avalenn joined #perl6
09:58 DrForr Well, I'm trying to stick to what I know of P6 so that I can actually appear halfway competent during the talks, but the more I can show off new ideas the better the chance of getting something in. At least that's how I feel.
10:00 espadrine joined #perl6
10:04 doublec joined #perl6
10:05 moritz DrForr: actually the talks that impress me most aren't the ones that show off all the cool features, but those that show some few features that work well together, and solve some problems elegantly
10:05 moritz like multis + MAIN solving separate commands with separate options
10:05 masak El_Che: -i isn't implemented yet in Rakudo.
10:06 masak do I have to wait for a Proc created by &run? is it asynchronous?
10:06 DrForr Nod. I'm redoing my Cluj.pm talk which shows grammars and different Action libraries doing interpreting and compiling with no change to the rest of the code.
10:07 moritz masak: if you open it with pipes, you have to wait for it
10:07 masak oh
10:08 masak that explains it
10:08 masak how do I wait for it?
10:08 DrForr . o ( Anticip... )
10:08 masak moritz: I read http://docs.perl6.org/type/Proc but didn't get the sense that &run is sync/async based on whether it has pipes.
10:08 masak moritz: is that documented somewhere?
10:09 kjs_ joined #perl6
10:09 moritz masak: I don't think so
10:09 moritz masak: when you open with :out, you usually exhaust the .out handle
10:10 jnthn The key thing is that you close the handles you open
10:10 masak the only reason I put :out there was that I wanted to silence the output :)
10:10 masak the added async semantics took me by surprise
10:11 masak (not saying it's wrong, mind -- just surprising)
10:11 moritz jnthn: though that's not actually sufficient, I think
10:11 jnthn Well, it's still sync in so far as .clone blocks
10:11 jnthn .close even
10:11 moritz jnthn: 'cause a program can .close its STDOUT without exiting yet, no?
10:11 rurban joined #perl6
10:12 masak right -- I want it to run to completion
10:12 masak so I did .slurp-rest, like in the documentation
10:12 jnthn mortiz: afaik, .close does actually block until process exit
10:12 jnthn 'cus the exit code comes back via that path
10:15 moritz jnthn: ah, good
10:16 jnthn masak: Proc::Async lets you just tap the out supply and discard it, fwiw.
10:16 jnthn May work out cleaner
10:17 masak oki
10:17 masak what I want is really something synchronous
10:18 masak in this case, I'm only interested in the exit code
10:18 masak I just want to silence/redirect the output so it doesn't clutter up my script's output
10:19 * masak tries using &shell instead
10:19 doublec joined #perl6
10:23 masak yes, &shell works fine :)
10:25 doublec_ joined #perl6
10:30 doublec joined #perl6
10:37 zakharyas joined #perl6
10:45 RabidGravy m: say Rat(Any)
10:45 camelia rakudo-moar : OUTPUT«Method 'shortname' not found for invocant of class 'Perl6::Metamodel::CoercionHOW'␤  in block <unit> at /tmp/hSOxcQTFa9:1␤␤»
10:49 ab6tract joined #perl6
10:50 snarkyboojum joined #perl6
10:51 |Tux| Weird, I don't see my grades from this side. Did enyone see my earlier posted today-speeds?
10:51 |Tux| It is a bit up compared to yesterday:
10:51 |Tux| test             50000    22.156    22.046
10:51 |Tux| test-t           50000    20.037    19.927
10:51 |Tux| csv-parser       50000    27.482    27.372
11:02 xpen joined #perl6
11:08 rindolf joined #perl6
11:16 perln00b joined #perl6
11:31 * Zoffix reads the backlog...
11:31 Zoffix How is "spit" not worse than "spurt"?
11:31 Zoffix People are weird.
11:32 Zoffix Unless "spurt" is a euphemism someplace.
11:32 Zoffix Mojolicious also calls it spurt. And Mojo::CSV
11:34 masak wait, we're changing "spurt"? :(
11:34 Zoffix are we?
11:34 masak we're not? phew.
11:35 Zoffix [23:13:46] <quietfanatic> https://twitter.com/dadgumjames/status/668999214685376512  https://twitter.com/dadgumjames/status/668999737790566400
11:35 masak "spurt" is basically the perfect opposite of "slurp" that took us years to stumble on.
11:35 Zoffix Indeed, it is.
11:35 stmuk . o O ( what about "spokesbug" )
11:36 Zoffix hm?
11:36 masak "load"/"save" would be good options if we prefered boring to colorful/memorable.
11:36 jdv79 its far less cray than slurp-rest
11:37 jdv79 *crazy
11:37 Zoffix Or are you referring to the still-open Issue that we should not call it "spunky" on perl6.org's home page, 'cause "spunk" is a British slang
11:37 stmuk zoffix: it was changed to plucky
11:37 Zoffix load/save are inappropriate IMO. I'm not "loading" a file. I'm slurping its contents.
11:37 Zoffix Oh
11:38 lizmat indeed, if anything, I think "load" is an alternative to "require"
11:38 jdv79 are there any good docs on the categories stuff (protoregexes and rule and method names with colonpairs,etc...)?
11:38 Zoffix more than a month ago. I'm living under a rock :P
11:39 masak changing "spunky" because of "spunk" is also a bit silly. quick, let's stay as far away from all possible wilful misunderstandings as possible!
11:40 Zoffix masak, I was well aware of what spunk meant despite living in Canukistan. I'm sure it'd sound weird for people who actually use that slang term :P
11:41 huf_ oh come on, you cant bend for stuff like this
11:41 Zoffix Tho plucky makes me think of a particular shape of the mouth
11:41 huf_ there are plenty of naughty words like this in perfectly normal conversation
11:41 huf_ "thrust"
11:41 masak somewhere out there, there's a tribe who has "pluck" meaning something horribly nasty :P
11:41 * Zoffix looks it up in the dictionary
11:41 Zoffix masak, but English aren't a "tribe someplace" :)
11:42 masak Zoffix: sure it is.
11:42 huf_ it's many tribes in many places
11:42 masak lunch &
11:42 stmuk the English are vulgar and would just snigger at "spunky" and think it was done on purpose
11:43 Zoffix gfldex, you typoed the example for /IO, it still says "print" instead of "put"
11:46 Zoffix Never mind, I got it.
11:46 dalek doc: d75ca9b | (Wenzel P. P. Peppmeyer)++ | doc/Type/Mu.pod:
11:46 dalek doc: add Mu.put
11:46 dalek doc: review: https://github.com/perl6/doc/commit/d75ca9be8c
11:46 dalek doc: f3fdcd5 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Mu.pod:
11:46 dalek doc: add printable newline to example output
11:46 dalek doc: review: https://github.com/perl6/doc/commit/f3fdcd5e1b
11:46 dalek doc: e25f9a1 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Mu.pod:
11:46 dalek doc: indent example for Mu.put properly
11:46 dalek doc: review: https://github.com/perl6/doc/commit/e25f9a1d3c
11:46 dalek doc: f416f57 | (Wenzel P. P. Peppmeyer)++ | doc/Type/IO.pod:
11:46 dalek doc: add sub IO::say
11:46 dalek doc: review: https://github.com/perl6/doc/commit/f416f572d7
11:46 dalek doc: 55aeb02 | (Wenzel P. P. Peppmeyer)++ | doc/Type/IO.pod:
11:47 dalek doc: add sub IO::put
11:47 dalek doc: review: https://github.com/perl6/doc/commit/55aeb025db
11:47 dalek doc: 488dd28 | (Wenzel P. P. Peppmeyer)++ | /:
11:47 dalek doc: Merge branch 'master' of https://github.com/gfldex/doc
11:47 dalek doc: review: https://github.com/perl6/doc/commit/488dd28a2e
11:47 dalek doc: 92016ef | (Zoffix Znet)++ | doc/Type/ (2 files):
11:47 dalek doc: Merge pull request #212 from gfldex/master
11:47 dalek doc:
11:47 dalek doc: add Mu.put and IO::put, add some printable newlines
11:47 dalek doc: review: https://github.com/perl6/doc/commit/92016ef385
11:47 dalek doc: 26c6eeb | (Zoffix Znet)++ | doc/Type/IO.pod:
11:47 dalek doc: Fix typo in code example
11:47 dalek doc: review: https://github.com/perl6/doc/commit/26c6eeb135
11:48 gfldex Zoffix: fix for put is incomming, together with some other stuff
11:48 Zoffix gfldex, oh. I thought you were away, so I just fixed it (in the commit above) :P
11:48 gfldex perl6 htmlify.p6 seams not in a hurry
11:49 Zoffix Yeah, it's slow as molases.
11:49 gfldex Zoffix: you will have to deal with the collision then :)
11:49 Zoffix gfldex, just undo your fix and type git pull --rebase
11:49 Zoffix :)
11:50 stmuk gfldex: its faster with Inline::Python
11:58 [Sno] joined #perl6
12:02 zakharyas1 joined #perl6
12:36 stmuk 4
12:36 stmuk oops
12:37 DrForr ww?
12:37 masak stmuk: if you're still on Perl 4, I strongly advise you to upgrade.
12:37 masak :P
12:37 jonas2 :-!
12:37 brrt joined #perl6
12:37 jnthn m: say "Code that runs in Perl 5 and Perl 6 is Perl { 5 +& 6 } code!"
12:37 camelia rakudo-moar : OUTPUT«Code that runs in Perl 5 and Perl 6 is Perl 4 code!␤»
12:38 masak o.O
12:38 jnthn m: say "Code that runs in Perl 5 and Perl 6 is Perl { 5 ~& 6 } code!"
12:38 camelia rakudo-moar : OUTPUT«Code that runs in Perl 5 and Perl 6 is Perl 4 code!␤»
12:38 masak m: say "Code that runs in Perl 5 and Perl 6 is Perl { 5 ~ 6 } code!"
12:38 camelia rakudo-moar : OUTPUT«Code that runs in Perl 5 and Perl 6 is Perl 56 code!␤»
12:38 jnthn Wow, it works bitwising it too :)
12:38 jnthn Uh, string bitwise
12:38 masak m: say "Code that runs in Perl 5 and Perl 6 is Perl { 5 ?& 6 } code!"
12:38 camelia rakudo-moar : OUTPUT«Code that runs in Perl 5 and Perl 6 is Perl True code!␤»
12:38 masak :P
12:38 * jnthn wonders why he shoulda expected that...
12:38 jnthn hah :D
12:38 masak jnthn: because ord(0) is 48 == 0x30
12:39 masak jnthn: so the ~&-ing happens only in the lowest hexdigit
12:40 jnthn aha!
12:40 jnthn Cute :)
12:43 kid51 joined #perl6
12:45 masak jnthn: ditto uppercase and lowercase letters, btw. except they're 1-based, so @ and `, respectively, were thrown in at the zero position.
12:45 masak ord("A") is 65 == 0x41. ord("a") is 97 == 0x61
12:46 jnthn Ah, thus the bit-fiddling trick to uppercase :)
12:47 lizmat m: my $a = 42; my $b = 666; ($a,$b) = 43; dd :$a, :$b  # is the re-initialization of $b intended behaviour ?
12:47 camelia rakudo-moar : OUTPUT«Int a = 43␤Any b = Any␤»
12:47 stmuk hahaha perl4++
12:48 lizmat jnthn: ^^^ ?
12:48 stmuk . o O ( require 'cgi-lib.pl')
12:48 stmuk oh noes the website is still up!
12:49 jnthn lizmat: Yes
12:49 lizmat ok, just checking  :-)
12:49 lizmat looking at optimizing List.STORE, because it is so very slow atm
12:49 jnthn lizmat: Or at least, it's doing what I think STORE is meant to do :)
12:50 lizmat m: for ^100000 { my ($a,$b) = (42,666) }; say now - INIT now
12:50 camelia rakudo-moar : OUTPUT«2.068890␤»
12:50 jnthn Is it actually very slow, or is non-list assignment jsut very cheap?
12:50 jnthn Yeah, OK, that's rather slow
12:50 lizmat m: for ^100000 { my $a = 42; my $b =,666 }; say now - INIT now
12:50 camelia rakudo-moar : OUTPUT«5===SORRY!5=== Error while compiling /tmp/OqVUoPq8B1␤Preceding context expects a term, but found infix , instead␤at /tmp/OqVUoPq8B1:1␤------> 3for ^100000 { my $a = 42; my $b =,7⏏666 }; say now - INIT now␤»
12:50 lizmat m: for ^100000 { my $a = 42; my $b = 666 }; say now - INIT now
12:50 camelia rakudo-moar : OUTPUT«0.05450443␤»
12:51 lizmat m: say 2.069 / 0.055
12:51 camelia rakudo-moar : OUTPUT«37.618182␤»
12:51 jnthn Yeah. A factor of 10 wouldn't be so terrible, but 40 is a bit high :)
12:51 lizmat yeah  :-)
12:51 Skarsnik joined #perl6
12:55 dalek ecosystem: 6c36ba2 | (Pierre VIGIER)++ | META.list:
12:55 dalek ecosystem: Add HTTP::Signature
12:55 dalek ecosystem:
12:55 dalek ecosystem: See https://github.com/pierre-vigier/Perl6-HTTP-Signature
12:55 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/6c36ba2e07
12:55 dalek ecosystem: d8cf11a | RabidGravy++ | META.list:
12:55 dalek ecosystem: Merge pull request #96 from pierre-vigier/master
12:55 dalek ecosystem:
12:55 dalek ecosystem: Add HTTP::Signature
12:55 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/d8cf11a924
12:58 sufrostico joined #perl6
12:59 jnthn m: say 6.67 / 100000
12:59 camelia rakudo-moar : OUTPUT«0.0000667␤»
13:01 Ven joined #perl6
13:06 gfldex m: my @lol = [1,2,[3,4],5,6]; put @lol; say @lol; print @lol
13:06 camelia rakudo-moar : OUTPUT«1 2 3 4 5 6␤[1 2 [3 4] 5 6]␤123 456»
13:07 gfldex why does print add that single WS?
13:07 timotimo print doesn't, Str does, i expect
13:07 lizmat gfldex: because (3,4) stringifies that way
13:07 lizmat m: dd (3,4).Str
13:07 camelia rakudo-moar : OUTPUT«Str $var = "3 4"␤»
13:08 ilmari m: dd [1,2].Str
13:08 camelia rakudo-moar : OUTPUT«Str $var = "1 2"␤»
13:09 skids joined #perl6
13:10 gfldex m: my $lol = (1,2,(3,4),5,6); put $lol; say $lol; print $lol
13:10 camelia rakudo-moar : OUTPUT«1 2 3 4 5 6␤(1 2 (3 4) 5 6)␤1 2 3 4 5 6»
13:10 gfldex so List .Str with WS and Array does not
13:16 perlawhirl joined #perl6
13:17 dalek modules.perl6.org: 8dd48ba | (Zoffix Znet)++ | web/lib-db-builder/P6Project/Info.pm:
13:17 dalek modules.perl6.org: Normalize "git@github.com:" URLs too
13:17 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/8dd48babe2
13:18 dalek ecosystem: 983abd8 | (Zoffix Znet)++ | server/updatelist.pl:
13:18 dalek ecosystem: Normalize "git@github.com:" URLs too
13:18 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/983abd8794
13:19 Upasaka joined #perl6
13:26 kaare_ joined #perl6
13:27 gfldex m: my $lol = (1,2,(3,4),5,6); print $lol; $lol.print
13:27 camelia rakudo-moar : OUTPUT«1 2 3 4 5 6123 456»
13:27 gfldex is the difference between print and .print intentional?
13:28 masak lizmat: http://irclog.perlgeek.de/perl6/2015-11-24#i_11591075 is in line with my expectations.
13:28 lizmat masak: ok,   :-)
13:28 masak lizmat: it may look a bit pointless when the RHS is a constant list of things, but it might well be an array variable or something.
13:28 masak lizmat: and in that case, I'd expect spillover variables to be "unset"
13:29 masak that semantics is much clearer than (say) retaining the old value.
13:30 DrForr *whoof*. Three talks submitted for OSCON. Now the fun (and waiting) begins.
13:30 timotimo three? wow.
13:30 ely-se joined #perl6
13:31 masak DrForr++
13:31 masak DrForr: does any of them have any connection to Perl 6?
13:31 DrForr All three.
13:31 masak whoa
13:31 * masak boggles
13:32 DrForr Yeah. Should be interesting.
13:33 timotimo so here's a thought: the NFA optimizer has a deduplicator that uses an O(n^2) algorithm
13:33 timotimo nested loops
13:33 timotimo it could very well be that that's what's taking all the time. i'll measure
13:33 stmuk DrForr: good luck!
13:34 timotimo also, the dedup is inside another while loop ...
13:34 DrForr One basic 3-hour tutorial, "Inception" (grammars within Perl 6) and one on runtime library binding.
13:34 masak cool
13:36 gfldex m: my @array = 1,2,3; my $list = (1,2,3); print @array; put; @array.print; put; print $list; put; $list.print;
13:36 camelia rakudo-moar : OUTPUT«123␤123␤1 2 3␤123»
13:37 timotimo DrForr: you da man!
13:39 DrForr *bows*
13:41 DrForr Not sure who wants to cover perl5, but Curtis is already putting forth the intro, and I'm more than happy to let him take those duties.
13:42 El_Che DrForr: kudos. Great timing so close to christmas
13:43 moritz timotimo: could the deduplication be done with a hash table instead?
13:43 timotimo that was my thought. perhaps.
13:44 timotimo i didn't try to change the code yet ... or look closely enough
13:45 DrForr Won't know anything official until January (~FOSDEM) but it's probably significant that @OSCON and the Perl community rep for OSCON decided to follow me on Twitter last night :)
13:46 timotimo \o/
13:46 gfldex m: my $list = (1,2,3); $list.print; put; $list.Str.print;
13:46 camelia rakudo-moar : OUTPUT«123␤1 2 3»
13:47 timotimo seems like the whole remap thing that also has the dedup part in it usually takes between 25% of the time and 55% of the time
13:48 timotimo https://gist.github.com/timo/39c37b65287312574e9a - who's good with graphing stuff and correlation and such?
13:50 timotimo especially the scientific notation makes it very hard to see
13:50 timotimo and soooo many digits
13:53 * skids wonders if there is a way to do interleaved scoping e.g. $i = 1; #switch scope somehow ; $i = 2; #switch back ; $i = 3; # switch back ; say $i #says 2
13:53 s_kilk joined #perl6
13:55 skids $=pod seems too ephemeral to pull that off from a module.
13:57 El_Che DrForr: we can celebrate the acceptance at fosdem :)
13:57 El_Che you could do an acceptance speech :P
13:58 DrForr Oh, god. I might not *survive* that.
13:59 El_Che Romania send his sons out :)
13:59 timotimo optimize from 1063 to 362 size took 0.00445556640625; 0.00354123115539551 was remapping (79.4788099315068%)
13:59 timotimo that looks like something's really gone quadratic/cubic there
14:00 timotimo optimize from 943 to 312 size took 0.00437045097351074; 0.00363016128540039 was remapping (83.0614805520703%)
14:00 timotimo optimize from 836 to 416 size took 0.00425529479980469; 0.00348448753356934 was remapping (81.8859255939041%)
14:00 timotimo out of those that have no scientific notation at the end, it seems like the remapping percentage is very high
14:04 masak m: role R { has $.x }; role S does R { has $.x }; S.new
14:04 camelia rakudo-moar : OUTPUT«Cannot find method 'collisions'␤  in any apply at gen/moar/m-Metamodel.nqp:2649␤  in any compose at gen/moar/m-Metamodel.nqp:2826␤  in any make_pun at gen/moar/m-Metamodel.nqp:1658␤  in any find_method at gen/moar/m-Metamodel.nqp:1686␤  in block <unit>…»
14:04 masak I'm confused by this error message.
14:05 masak I can understand if there's some kind of collision between R and S (because of $.x), but the error message isn't really explaining itself well.
14:05 masak (a) should the above be legal, rather than an error?
14:05 jnthn It looks like an error while producing an error...
14:05 masak yeah...
14:06 lizmat m: role R { has $.x }; class S does R { has $.x }; S.new
14:06 camelia rakudo-moar : OUTPUT«===SORRY!===␤Attribute '$!x' already exists in the class 'S', but a role also wishes to compose it␤»
14:06 lizmat looks like in the auto-punning of the role ?
14:06 jnthn Maybe
14:06 sergot m: role R { has $.x }; role S does R { method set-x($!x) {} }; S.new.x(1);
14:06 camelia rakudo-moar : OUTPUT«5===SORRY!5=== Error while compiling /tmp/h6upjWZ7Vq␤Attribute $!x not declared in role S␤at /tmp/h6upjWZ7Vq:1␤------> 3; role S does R { method set-x($!x) {} }7⏏5; S.new.x(1);␤    expecting any of:␤        horizontal whitespace␤        pos…»
14:06 timotimo nqp-m: my int $foo = 10 if 0; say($foo);
14:06 camelia nqp-moarvm: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " 10 if 0; "␤   at gen/moar/stage2/NQPHLL.nqp:521  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:panic:105)␤ from <unknown>:1  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/nqp…»
14:06 timotimo nqp-m: my int $foo := 10 if 0; say($foo);
14:06 camelia nqp-moarvm: OUTPUT«0␤»
14:06 timotimo nice, that works.
14:06 masak sergot: that one is fine, though.
14:06 sergot ok
14:06 jnthn I can't look now, I'm trying to untangle supplies...
14:07 masak sergot: in the sense that $!x attributes are *only* visible in the class/role block they were declared.
14:07 masak jnthn: that's OK.
14:07 masak jnthn: should I rakudobug it?
14:07 sergot masak: right
14:07 jnthn masak: Pretty sure the collisoins not found while trying to do error reporting is in there, but can be good to check
14:07 lizmat masak: the error seems familiar, wouldn't be surprised if there is a ticket for it already
14:07 * masak submits rakudobug
14:08 gfldex in io_operators.pm
14:08 gfldex sorry :-/
14:09 llfourn joined #perl6
14:09 timotimo moritz: a duplicate is identifier by three equalities between two things; not sure i can do much better with just one hash table
14:09 masak m: role R { has $!x }; role S does R { has $!x }; S.new
14:09 camelia rakudo-moar : OUTPUT«Cannot find method 'collisions'␤  in any apply at gen/moar/m-Metamodel.nqp:2649␤  in any compose at gen/moar/m-Metamodel.nqp:2826␤  in any make_pun at gen/moar/m-Metamodel.nqp:1658␤  in any find_method at gen/moar/m-Metamodel.nqp:1686␤  in block <unit>…»
14:10 gfldex in io_operators.pm print got the signature (*@args) while put got the signature (**@args is raw). Why the difference?
14:10 moritz *@args flattens more, I believe
14:11 timotimo right
14:11 zengargoylew joined #perl6
14:11 timotimo https://github.com/perl6/nqp/blob/master/src/QRegex/NFA.nqp#L939 <- moritz
14:12 gfldex that may explain the difference in
14:12 gfldex m: my $list = (1,2,3); print $list; put; $list.print;
14:12 camelia rakudo-moar : OUTPUT«1 2 3␤123»
14:12 timotimo oh!
14:12 timotimo we're allowed to say "put;" without getting an error!
14:12 timotimo m: say;
14:12 camelia rakudo-moar : OUTPUT«5===SORRY!5=== Error while compiling /tmp/5leZnQoJzA␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument, or use &say to refer to the function as a noun␤at /tmp/5leZnQoJzA:1␤------> 3say7…»
14:12 timotimo m: put;
14:12 camelia rakudo-moar : OUTPUT«␤»
14:12 gfldex what is confusing btw :)
14:13 mspo m: say "put;"
14:13 camelia rakudo-moar : OUTPUT«put;␤»
14:14 timotimo m: put put "put;
14:14 camelia rakudo-moar : OUTPUT«5===SORRY!5=== Error while compiling /tmp/emGQXyWNVE␤Unable to parse expression in double quotes; couldn't find final '"' ␤at /tmp/emGQXyWNVE:1␤------> 3put put "put;7⏏5<EOL>␤    expecting any of:␤        argument list␤        double quotes…»
14:14 timotimo m: put put "put";
14:14 camelia rakudo-moar : OUTPUT«put␤True␤»
14:14 timotimo m: put put put put
14:14 camelia rakudo-moar : OUTPUT«␤True␤True␤True␤»
14:15 gfldex so put is True-1?
14:15 timotimo but True - 1 is False?
14:15 AlexDaniel joined #perl6
14:15 timotimo well, it's 0
14:15 AlexDaniel .u
14:15 yoleaux U+2008 PUNCTUATION SPACE [Zs] ( )
14:15 moritz timotimo: yes, looks tricky
14:15 AlexDaniel .u
14:15 yoleaux Search for a Unicode character by codepoint, name, or raw character
14:16 timotimo moritz: a hash table could serve as a pre-filter somehow perhaps?
14:17 timotimo but i'm not sure :|
14:19 moritz timotimo: the innermost loop only runs if $act == $edges[$f], so maybe keep a mapping from $edges[$f] to $f somewhere to shorten the inner loop?
14:19 moritz timotimo: problem that it would need to be updated on each nqp::splice call
14:20 timotimo yeah, ugh.
14:20 timotimo do you know what the performance of going through a list and using splicing to remove stuff in the middle is?
14:21 ab6tract joined #perl6
14:21 timotimo because it copies stuff from the end multiple times i imagine
14:21 jdv79 why does the docs site repeatedly focus on the search box?
14:21 jdv79 its impossible to read on a phone
14:23 jdv79 i tap in a benign spot on the page and it refocuses
14:23 jdv79 web 2.0--
14:23 timotimo ugh that's pretty bad
14:24 jdv79 i will now do something else entirely cause i cant get the kbd to go away
14:25 timotimo ugh
14:26 gfldex one of the javascript files reads: "autoFocus: true"
14:27 moritz since it's a small convenience for some, and a large inconvenience for others, we should probably switch that off
14:28 dalek doc: 0dbd4b4 | (Wenzel P. P. Peppmeyer)++ | doc/Type/IO.pod:
14:28 dalek doc: extend IO::print example
14:28 dalek doc: review: https://github.com/perl6/doc/commit/0dbd4b4125
14:28 dalek doc: 7ef63fa | (Wenzel P. P. Peppmeyer)++ | doc/Type/IO.pod:
14:28 dalek doc: fix example for IO::put
14:28 dalek joined #perl6
14:29 * AlexDaniel laughs at “spit” suggestion
14:29 timotimo to me, "spurt" feels more like "put stuff into a file and be done with it" than "spit" would
14:30 timotimo like, i could imagine "spit"-ing little bits into a file
14:34 rindolf joined #perl6
14:36 AlexDaniel .oO( “barf”? What the?? )
14:38 xpen joined #perl6
14:39 dalek rakudo/nom: e1a0219 | lizmat++ | src/core/List.pm:
14:39 dalek rakudo/nom: Make my ($a,$b) = 42,666; a little bit faster
14:39 dalek rakudo/nom:
14:39 dalek rakudo/nom: Instead of being 34 times slower than the equivalent my $a = 42; my $b = 666,
14:39 dalek rakudo/nom: it is now only 28 times slower.
14:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e1a0219489
14:43 Ven *g* lizmat++
14:43 Ven maybe that can be desugared into the second form at some point, though?
14:43 pink_mist my Num $beast = 666; #?
14:43 AlexDaniel m: sub foo ($z (Int $y)) { }; foo(42(25));
14:43 camelia rakudo-moar : OUTPUT«Cannot find method 'CALL-ME'␤  in block <unit> at /tmp/dRDlWNoAEK:1␤␤»
14:44 AlexDaniel m: 42(25)
14:44 camelia rakudo-moar : OUTPUT«Cannot find method 'CALL-ME'␤  in block <unit> at /tmp/MEn88uO2k0:1␤␤»
14:45 kjs_ joined #perl6
14:46 AlexDaniel not sure if that is awesome enough, but what is this:
14:46 AlexDaniel m: sub foo ($z ($y)) { }
14:46 camelia rakudo-moar : ( no output )
14:46 AlexDaniel m: sub foo ($z ($y)) { }; foo(25);
14:46 camelia rakudo-moar : OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature of parameter $z␤  in sub foo at /tmp/eSjNpVoTDc:1␤  in block <unit> at /tmp/eSjNpVoTDc:1␤␤»
14:46 muraiki joined #perl6
14:52 RabidGravy m: sub foo ($z ($y)) { say $z, $y}; foo([25]); # I think that's what that means
14:52 camelia rakudo-moar : OUTPUT«[25]25␤»
14:52 pmurias joined #perl6
14:52 RabidGravy m: sub foo ($z ($y)) { say $z, $y}; foo([25, 98]); # I think that's what that means
14:52 camelia rakudo-moar : OUTPUT«Too many positionals passed; expected 1 argument but got 2 in sub-signature of parameter $z␤  in sub foo at /tmp/N3undvnBfk:1␤  in block <unit> at /tmp/N3undvnBfk:1␤␤»
14:52 AlexDaniel m: sub foo ($z ($y ($x ($a ($b))))) { }
14:52 camelia rakudo-moar : ( no output )
14:54 AlexDaniel m: sub foo ($z ($y ($x))) { say $z; say $y; say $x }; say foo([[25]]);
14:54 camelia rakudo-moar : OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature of parameter $y in sub-signature of parameter $z␤  in sub foo at /tmp/XpxxPj3GHD:1␤  in block <unit> at /tmp/XpxxPj3GHD:1␤␤»
14:55 arnsholt m: sub f($x($y)) { say $x, $y }; f(:a(1)) # Maybe?
14:55 camelia rakudo-moar : OUTPUT«5===SORRY!5=== Error while compiling /tmp/3huKtfe624␤Shape declaration with () is reserved;␤  please use whitespace if you meant a subsignature for unpacking,␤  or use the :() form if you meant to add signature info to the function's type␤at /tmp/3hu…»
14:55 arnsholt m: sub f($x ($y)) { say $x, $y }; f(:a(1)) # Maybe?
14:55 camelia rakudo-moar : OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in sub f at /tmp/aRYTP09CnE:1␤  in block <unit> at /tmp/aRYTP09CnE:1␤␤»
14:55 arnsholt Huh, nope
14:55 AlexDaniel m: sub foo ($z ($y)) { say $z; say $y; }; foo([25])
14:55 camelia rakudo-moar : OUTPUT«[25]␤25␤»
14:57 AlexDaniel alright
14:57 AlexDaniel m: sub foo ($z ($y ($x))) { say $z; say $y; say $x }; foo([[25], ]);
14:57 camelia rakudo-moar : OUTPUT«[[25]]␤[25]␤25␤»
14:58 Skarsnik Hello, how I can inspect the 'namespace' of a module to find defined type for example?
15:00 AlexDaniel m: sub foo ($x1 ($y1 ($z1, $z2))) { say $x1; say $y1; say $z1; say $z2 }; foo([[25, 5], ]);
15:00 camelia rakudo-moar : OUTPUT«[[25 5]]␤[25 5]␤25␤5␤»
15:02 raiph joined #perl6
15:03 moritz m: class A { class B { } }; say A::.keys
15:03 camelia rakudo-moar : OUTPUT«(B)␤»
15:04 moritz Skarsnik: ^^ that's how you find our-scoped things
15:05 Skarsnik Should I check in UNIT::EXPORT::FOO maybe?
15:05 Skarsnik but thx :)
15:05 moritz Skarsnik: depends on what you're looking for
15:07 pmurias jnthn: I'm thinking of implementing continuations on the js backend using a CPS transform for the code that is inside a gather/take
15:07 pmurias jnthn: does it seems sane?
15:09 kjs_ joined #perl6
15:09 Skarsnik moritz, I try to find types/class exported by a modules that bind a C lib.
15:09 pmurias jnthn: deterimining which code will run inside gather/take will be the hard part and I'm not sure if I can avoid generating code twice with a CPS/not-CPS versions
15:14 Skarsnik ok
15:14 Skarsnik found it x) perl6 -I ../perl6-gumbo/lib/ -e 'use Gumbo::Binding;say Gumbo::Binding::EXPORT::DEFAULT::.perl'
15:15 jnthn pmurias: Given it's dynamically scoped, nearly anything could end up being run inside a gather/take
15:16 Ven_ joined #perl6
15:18 CIAvash joined #perl6
15:18 pmurias jnthn: having both a inside of CPS and outside of CPS version of subs/methods would work around of that to an extent
15:19 mrf DrForr: Did you get any further takers for a social in London on the weekend
15:19 DrForr Haven't really looked into that, but a few people were interested in what I'm giving away.
15:19 pmurias jnthn: so a sub would be either called as foo.$call or foo.$callCPS
15:20 DrForr We're so close to LPW that I really don't mind not doing a social, but it'd be nice.
15:20 z8 joined #perl6
15:21 pmurias jnthn: I haven't really figured out a way to implement coroutines without paying a hefty performance cost for them
15:22 pmurias jnthn: the way the JVM backend does them won't translate that well as exceptions are really expensive on js as they turn off v8 optimalization
15:22 sufrostico joined #perl6
15:22 jnthn It thrown, or if there's a handler?
15:25 jnthn *If
15:26 mrf DrForr: I wouldn't mind teh excuse to drink beer :D
15:26 DrForr You need an *excuse*?
15:32 pmurias jnthn: when there is a handle
15:32 pmurias * handler
15:33 jnthn In what scope?
15:33 jnthn The function itself?
15:33 jnthn If so, could you compile a wrapper with handler + state, and a function with the code body?
15:33 jnthn (An inner one...)
15:34 pmurias jnthn: I'm not fully sure
15:35 pmurias jnthn: I think it disables optimalizations in all the scopes that contain catch/try
15:41 molaf joined #perl6
15:42 sufrosti1o joined #perl6
15:42 Ven_ joined #perl6
15:44 sufrostico joined #perl6
15:46 zengargoylew i thought we fixed the doc pages vs search box thing.  but i think the compromise was to auto-defocus on space/PgUp/PgDown keypress.  maybe to magic for mobile.
15:47 zengargoylew i hereby vote to *never* auto-focus search boxes unless the only thing on the page is the search box (like google/metacpan/etc).
15:47 nine What's wrong with the HTML5 autofocus attribute?
15:47 zengargoylew you can't use space to page
15:48 zengargoylew or / to search in page yourself.
15:48 nine So you need to press <tab> once before being able to use space or /
15:48 zengargoylew worse, if you scroll with the mouse first, then hit space or PgUp it takes you to the top.
15:49 nine Even when using the autofocus attribute, you can have javascript handlers for defocusing on pgup/pgdown
15:49 zengargoylew sure, go ahead and force javascript on us. :P
15:50 nine But compared to the JS implementation, the autofocus attribute is much less broken to begin with. E.g. on touch devices
15:50 zengargoylew not sure about the phone thing, rarely browse on a mobile device.
15:50 ZoffixW joined #perl6
15:50 ZoffixW zengargoyle, "i thought we fixed the doc".... it is fixed. What is the issue?
15:51 zengargoylew backlog: 06:21 < jdv79> why does the docs site repeatedly focus on the search box?
15:51 nine zengargoylew: we already have broken javascript for setting the focus. I'm arguing for using less javascript.
15:51 zengargoylew think it might be a mobile thing...
15:52 nine Instead of letting the browser do what it does best, we actually force it to stay out of the way and try to be smarter which we aren't. That's just short sighted.
15:52 tokuhiro_ joined #perl6
15:54 * zengargoylew not a web dev person... don't know how's/why's.  just hate sites that autofocus in general.
15:54 nine In 13 years of working with web designers I've seen the "I'm smarter than the browser" approach fail again and again.
15:54 ZoffixW nine, why is it broken javascript?
15:54 DrForr Same here, it breaks up/down arrows.
15:54 ZoffixW DrForr, but it doesn't
15:55 DrForr I just meant the autofocus.
15:55 ZoffixW We specifically addressed that.
15:55 nine ZoffixW: because it sets the focus when it shouldn't. For example on my phone when I'm actually tapping outside the search box to get rid of the on screen keyboard.
15:55 DrForr Not the site specifically, I was talking in general...
15:56 ZoffixW And it's not "I'm smarter than the browser" it's "we have a dozen people all wanting a different thing because they use the site differently" so we're trying to accommodate that.
15:56 ZoffixW nine, what phone/browser is that? Doesn't happen on mine.
15:57 jdv79 happens on andriod chrome for me
15:57 ZoffixW Tried both Chrome and Opera here
15:57 ZoffixW on Android. Though I use "Hacker's Keyboard" instead of the default one.
15:57 AlexDaniel m: say "hello\vworld";
15:57 camelia rakudo-moar : OUTPUT«5===SORRY!5=== Error while compiling /tmp/YbhbQ2JQ5j␤Unrecognized backslash sequence: '\v'␤at /tmp/YbhbQ2JQ5j:1␤------> 3say "hello\7⏏5vworld";␤    expecting any of:␤        argument list␤        double quotes␤        term␤»
15:57 jdv79 so
15:57 nine ZoffixW: if people don't want autofocus, they can turn it off browser.autofocus in their about:config. They cannot do that with a Javascript "solution".
15:58 nine ZoffixW: Firefox on Android
15:58 jdv79 its a webpage.  i'm using a real browser.  it should just work .
15:59 AlexDaniel m: say "hello\bworld";
15:59 camelia rakudo-moar : OUTPUT«helloworld␤»
15:59 AlexDaniel m: say "hello\aworld";
15:59 camelia rakudo-moar : OUTPUT«helloworld␤»
15:59 nine ZoffixW: you will never manage to make it work on all user agents on all devices (including future devices!). That's why letting the browser handle it is always the best option if available.
15:59 ZoffixW jdv79, but "just work" is different for different people. I always go straight to the search box, so auto-focus is nice. [Coke] was the one who originally requested the feature, so I assume they use the site the same
16:00 jdv79 i do not understand you're stance
16:01 jdv79 *your
16:03 zakharyas joined #perl6
16:05 dalek doc: 9e567b0 | (Zoffix Znet)++ | / (2 files):
16:05 dalek doc: Use HTML5 instead of JS to autofocus on search box
16:05 dalek doc: review: https://github.com/perl6/doc/commit/9e567b04b6
16:05 n0tjack I go straight for the search box on most doc sites too. Navigating menus is like trying to internalize someone else's ontology on the first go. Disorienting and inefficient.
16:06 * AlexDaniel feels that modules.perl6.org is a bit laggy…
16:06 awwaiid ZoffixW: html5 there will help -- I kept having issues when browsing the docs on my phone (because... it's a great thing to do on the train? hmm)
16:07 AlexDaniel 2 seconds to load fully, hmm…
16:07 ZoffixW I guess I'm the only one with the phone that's smart enough to DWIM :P
16:08 ZoffixW AlexDaniel, it is. We're approaching the critical mass. Hence all the recent changes to the Mojo app version, so we could start paginating stuff
16:08 AlexDaniel ZoffixW: actually, I don't think that a table with 500 rows is a problem…
16:08 ely-se joined #perl6
16:08 AlexDaniel perhaps bloat is
16:09 Skarsnik hm, how I can redefine say already? I try have it be silent when setting a variable.
16:09 Skarsnik m: my $sil = False; sub say(|) {.say unless $sil}; say "piko"
16:09 camelia rakudo-moar : OUTPUT«(Any)␤»
16:09 ZoffixW AlexDaniel, which bloat?
16:10 AlexDaniel ZoffixW: js one, I guess
16:10 ZoffixW AlexDaniel, that table is half a meg of markup
16:10 khw joined #perl6
16:10 ZoffixW And only 227KB of script.
16:11 moritz fwiw with firefox on mobile, I can close the keyboard
16:11 moritz but it's still annoying that it pops up on every page
16:11 ZoffixW There is a script that parses that giant modules table, so sure, there'll be lag, but it's still dues to 500 modules  on one page
16:11 ZoffixW moritz, yeah, I think that's for everyone but me. On both Opera and Chrome I just get a flashing cursor in the text box but no keyboard.
16:11 ZoffixW (at least before the above commit)
16:12 AlexDaniel ZoffixW: by the way, what all these js files are doing besides making the thing sortable?
16:13 AlexDaniel and searchable
16:14 ZoffixW nine, will autofocus attribute do anything for an element dynamically injected with JS?
16:14 ZoffixW I guess I could just test. This site doesn't require static file generation...
16:15 masak today's small proof-of-concept: I was wondering if it's possible to implement integer division/remainder using only simpler operations.
16:15 masak (and to do it relatively efficiently)
16:15 masak turns out it is: https://gist.github.com/masak/38d295b2525c073ec352
16:16 ZoffixW sweet
16:16 loren joined #perl6
16:16 masak I didn't consider any cases where the operands are negative
16:16 masak but that's easy to add onto what's already there
16:17 Begi11116 joined #perl6
16:17 xpen joined #perl6
16:18 ZoffixW AlexDaniel, thanks for noticing: https://github.com/perl6/modules.perl6.org/issues/38
16:18 n0tjack masak: if I'm reading that right, then sub params aren't lexical ("my") by default? Or a embedded lexical scope inherits the lexicals of its parents ... which seems weird.
16:19 masak n0tjack: sub params are totally lexical.
16:19 masak n0tjack: embedded scope inheriting the lexicals of its parents -- that's par for the course. that's part of why I like inner subs.
16:20 masak n0tjack: also, that's what the name "lexical lookup" means :) you look in the current scope, then in the lexically surrounding ones, until you find the variable
16:20 n0tjack masak: I'll have to try it out in p6 and see if I like it. Last time I tried it (APL many years ago), it seemed like a good idea, but ended in heartache
16:20 AlexDaniel ZoffixW: also, looking at “Transferred” size I see that html is only 36.27KB, and the sum of js files is twice bigger than that. Sure, it is gzipped, so perhaps such comparison doesn't make sense, but still…
16:20 masak n0tjack: to me it has been a good idea that ended up in happiness :>
16:20 n0tjack masak: well, "lexical" has as many defintions as there are type systems. Most of the ones I'm currently familiar with treat locals as pure locals. Here and here only.
16:21 n0tjack I do really like the idea of local named subs though, that's something I've wanted for years.
16:21 ZoffixW AlexDaniel, my FF plugin says 10KB, but I copy/pasted the table markup into a file and it ended up being 502273 bytes in size
16:21 masak n0tjack: that's... missing out :/ and opinions may differ, but I don't consider "lexical" to mean "local only"
16:21 ZoffixW 10KB non gzipped that is
16:23 dwarring joined #perl6
16:23 n0tjack masak: It does tend to decrease the risk of spooky-action-at-a-distance
16:23 n0tjack That's the trouble "shadow locals" (as we called them) were notorious for in the APL world
16:24 n0tjack though I imagine that could be mitigated by read-only-ness.
16:24 Begi11117 joined #perl6
16:27 dalek modules.perl6.org: 9d1dffd | (Zoffix Znet)++ | web/public/js/main.js:
16:27 dalek modules.perl6.org: Do not autofocus search box on mobile
16:27 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/9d1dffd2e9
16:28 AlexDaniel ZoffixW: yes, but most of it is just html cruft that is mostly ignored by the browser, unlike js stuff. Look, I appreciate the effort that was put into this page, it is really nice. But it is really laggy on my setup. I've opened the pure html file (without css and js) and it is blazing fast, so although I understand that it will be a bit slower with these eye candies, I still say that what we have now is a bit bloaty…
16:28 lizmat .tell nine looks like a06069b1d7c582f6243 broke the JVM build
16:28 yoleaux lizmat: I'll pass your message to nine.
16:32 ZoffixW AlexDaniel, the search/sort features of the table aren't really eye candy though. And sure, having JS parse those 500 rows will take its toll.
16:32 ZoffixW And that's why we'll soon won't have the entire ecosystem on one page.
16:32 rindolf joined #perl6
16:33 flussence that JS is just for the sort buttons right?
16:33 AlexDaniel ZoffixW: well, when the page is loading, nothing is sorted…
16:34 ZoffixW You could argue we toss JS and generate new HTTP requests for all those features, but I think the sumtotal will (a) make it slower anyway (b) will be irrelevant once more dists are added to ecosystem, so the point is still moot.
16:34 AlexDaniel ZoffixW: even if you say that sorting 500 rows is a big deal (which usually isn't), then why does it lag while loading?
16:34 ZoffixW AlexDaniel, what do you mean "lag while loading"? Lag where?
16:34 AlexDaniel ZoffixW: yeah, that works, I'm ok with that. It is just something to consider next time, perhaps
16:35 ZoffixW flussence, and search too. See also https://github.com/perl6/modules.perl6.org/issues/38
16:35 AlexDaniel ZoffixW: ok let me get a stopwatch…
16:35 flussence takes 8 seconds for the page to become responsive on my netbook after first paint.
16:35 ZoffixW AlexDaniel, I don't know what "next time" you're talking about. You're commenting on a work in progress that hasn't been optimized yet. We're still working on cleaning up the old db generating script before we start fine tuning the front end.
16:36 ZoffixW Google's page speed gives us a rating of 68/100 ATM IIRC
16:36 ZoffixW I get "3.67s (onload: 4.51s)" Firebug metrics on my box
16:37 AlexDaniel ZoffixW: so I hit F5 (not even Ctrl+F5) and the page starts loading… Then, I can already see the top, but I can't scroll it. This goes for 5 seconds when it finally lets it go
16:37 ZoffixW That's with JS off (/me tries with JS on)
16:37 ZoffixW 10.96s (onload: 12.28s) with JS
16:37 AlexDaniel hmm
16:37 ZoffixW But I don't get any lag while it's loading
16:39 flussence probably depends on the browser
16:40 flussence I'm using vivaldi (blink engine) on my netbook, it's probably worse in Firefox cause that's single-threaded
16:40 ZoffixW I'm on Palemoon, which is a fork of Firefox
16:40 flussence hm, then I dunno
16:41 RabidGravy "Stage parse      : 1806.386" -> speccial
16:41 flussence ouch.
16:41 * flussence has flashbacks to r-p
16:41 dalek modules.perl6.org/new-db-builder: 8948b6c | (Zoffix Znet)++ | web/lib/ModulesPerl6 (2 files):
16:41 dalek modules.perl6.org/new-db-builder: Add route to display total number of modules in DB without a need for parsing and loading large main page
16:41 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/8948b6c47b
16:41 dalek modules.perl6.org/new-db-builder: 17546f5 | (Zoffix Znet)++ | web/site-tips.txt:
16:41 dalek modules.perl6.org/new-db-builder: Add /total route to Site Tips
16:41 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/17546f5559
16:41 dalek modules.perl6.org/new-db-builder: 8dd48ba | (Zoffix Znet)++ | web/lib-db-builder/P6Project/Info.pm:
16:41 dalek modules.perl6.org/new-db-builder: Normalize "git@github.com:" URLs too
16:41 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/8dd48babe2
16:41 dalek modules.perl6.org/new-db-builder: 9d1dffd | (Zoffix Znet)++ | web/public/js/main.js:
16:41 dalek modules.perl6.org/new-db-builder: Do not autofocus search box on mobile
16:41 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/9d1dffd2e9
16:41 dalek modules.perl6.org/new-db-builder: 97451fc | (Zoffix Znet)++ | / (5 files):
16:41 dalek modules.perl6.org/new-db-builder: Merge branch 'master' into new-db-builder
16:41 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/97451fc5a1
16:42 ZoffixW :/
16:44 arnsholt RabidGravy: Did you suspend your laptop in the middle of the compile, perhaps?
16:44 RabidGravy nah, Raspberry Pi rev B :)
16:45 ZoffixW BTW,,, RabidGravy++ Test::Meta module is great.
16:46 arnsholt Oh, right. That'll explain it too =)
16:46 gfldex ZoffixW: 2.56s total with most stuff cached on User-Agent:"Mozilla/5.0 (Windows NT 6.3; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0"
16:46 ZoffixW Gonna add it to my Test::Kwalitee that will eventually calculate dist Kwalitee on modules.perl6.org.... or Test::Koalitee / Koalitee :P
16:46 RabidGravy :)
16:47 ZoffixW gfldex, thanks
16:47 RabidGravy I probably need to add some more of the "customary" fields to META6 at some point
16:49 gfldex ZoffixW: if i disable JS it goes down to 640ms.
16:49 AlexDaniel RabidGravy: by the way, how is it going? I am planning to use perl6 on ARM very soon as well
16:49 ZoffixW gfldex, well, I'm not surprised. The table plugin parses the table for sorting/search index.
16:50 flussence AlexDaniel: if p6 on 32-bit x86 has been any indication, it'll hurt.
16:50 ZoffixW gfldex, or maybe there's no index. I dunno.. "it's doing stuff" :)
16:51 RabidGravy AlexDaniel, it works fine, on the V2 it's quite quick even, but I'm compiling on the older  one because the PiLite is plugged in that one and I want to make my Device::PiLite for P6 :)
16:51 gfldex FF Inspector/Performance shows most time spent with Recalculate Style, Cycle Collection and the GC
16:54 ZoffixW gfldex, I see 80% of the time spent in bootstrap.js
16:54 ZoffixW gfldex, and that Issue is already recorded: https://github.com/perl6/modules.perl6.org/issues/38
16:54 ZoffixW ATM I don't think we need *any* of bootstrap.js
16:54 dalek rakudo/nom: 866e2f1 | lizmat++ | src/core/ (5 files):
16:54 dalek rakudo/nom: Make List/Array/Hash/Pair.gist about 20% faster
16:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/866e2f1671
16:54 cdg joined #perl6
16:55 hoelzro o/ #perl6
16:55 ZoffixW \o
16:55 lizmat hoelzro o/
16:55 dalek modules.perl6.org/new-db-builder: 69fc2fd | (Zoffix Znet)++ | / (2 files):
16:55 dalek modules.perl6.org/new-db-builder: Test document /total route to get back to 100% test/pod coverage of ::Root controller
16:55 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/69fc2fd7ca
16:55 gfldex if you want to make table sort faster, you could try to create a new, hidden table and copy all elements over in the right order. Then kill the old table and unhide the new one.
16:56 flussence .oO( I wish browsers would just implement html5 sortable tables already... )
16:57 ZoffixW gfldex, I'll try doing that if I remember it when I get there :) It's a long way still to that point :PO
16:57 flussence .oO( while they're at it, make position:sticky on thead friggin' work too. )
16:57 ZoffixW I wish browsers would just read my mind
16:57 ZoffixW Like this dude: http://t2.gstatic.com/images?q=tbn:ANd9GcQf1P1WRgnMNTwkfKndEd9tH2g_9cnPX85wszkCMnGDFmZp_zWQ
16:58 ZoffixW Would be interesting to wear that gear to do $work stuff :P
17:01 dalek modules.perl6.org/new-db-builder: 048a0ca | (Zoffix Znet)++ | t/01-models/01-build-stats.t:
17:01 dalek modules.perl6.org/new-db-builder: Increase ::BuildStats model test coverage to 100%
17:01 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/048a0cae10
17:08 ZoffixW We might be including jQuery twice too :o
17:08 n0tjack joined #perl6
17:08 hoelzro o/ lizmat
17:09 moritz ZoffixW: jjQuery :-)
17:09 ZoffixW :D
17:14 hankache joined #perl6
17:22 dalek modules.perl6.org: 3b9ff6c | (Zoffix Znet)++ | web/ (2 files):
17:22 dalek modules.perl6.org: Toss Bootstrap3 JS files that we do not need (Closes #38)
17:22 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/3b9ff6c987
17:23 ZoffixW AlexDaniel, gfldex ^ that should go live around 1pm EST. It may or may not improve the performance issue we were talking about :)
17:23 AlexDaniel ZoffixW: awesome!!
17:26 eliasr joined #perl6
17:26 dalek modules.perl6.org/new-db-builder: 3b9ff6c | (Zoffix Znet)++ | web/ (2 files):
17:26 dalek modules.perl6.org/new-db-builder: Toss Bootstrap3 JS files that we do not need (Closes #38)
17:26 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/3b9ff6c987
17:26 dalek modules.perl6.org/new-db-builder: 637f704 | (Zoffix Znet)++ | / (2 files):
17:26 dalek modules.perl6.org/new-db-builder: Merge branch 'master' into new-db-builder
17:26 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/637f704bc2
17:30 telex joined #perl6
17:33 autarch joined #perl6
17:36 kjs_ joined #perl6
17:36 vendethiel joined #perl6
17:39 dalek modules.perl6.org/new-db-builder: 08ca5e9 | (Zoffix Znet)++ | lib/DbBuilder.pm:
17:39 dalek modules.perl6.org/new-db-builder: Do not toss existing logotypes
17:39 dalek modules.perl6.org/new-db-builder:
17:39 dalek modules.perl6.org/new-db-builder: We"ll use the same dir and toss old logos in cleanup stage so we can both (a) avoid re-downloading logos we don"t need (b) avoid moving existing logos around
17:39 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/08ca5e9e72
17:46 diana_olhovik joined #perl6
17:46 lucasb joined #perl6
17:53 yasu joined #perl6
17:56 muraiki_ joined #perl6
17:58 hankache evening everyone
17:59 muraiki joined #perl6
17:59 dalek modules.perl6.org/new-db-builder: 5661448 | (Zoffix Znet)++ | / (2 files):
17:59 dalek modules.perl6.org/new-db-builder: Gracefully handle case where no logotypes are present in DB
17:59 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/56614489b5
18:05 zacts joined #perl6
18:10 dalek modules.perl6.org/new-db-builder: 4daf387 | (Zoffix Znet)++ | lib/DbBuilder.pm:
18:10 dalek modules.perl6.org/new-db-builder: Update build stats at build end
18:10 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/4daf3879cb
18:12 lucasb oh hai
18:13 moritz }o{ lucasb
18:13 lucasb can't .head and .tail default to 1 instead of needing a explicit argument?
18:13 lucasb moritz: o/
18:14 uruwi ^
18:14 hankache o/
18:16 uruwi But can't you do @stuff[0] or @stuff[*-1] respectively?
18:17 dalek modules.perl6.org/new-db-builder: b03495a | (Zoffix Znet)++ | lib/DbBuilder.pm:
18:17 dalek modules.perl6.org/new-db-builder: Refactor so we only instantiate our models once
18:17 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/b03495a0a4
18:19 lucasb uruwi: well, it would be just for convenience, but I agree it's a minor thing
18:20 uruwi ^
18:20 xfix joined #perl6
18:23 zengargoylew more useful when it's @stuff.tail(10).head(2)
18:23 kjs_ joined #perl6
18:27 thundergnat joined #perl6
18:30 thundergnat masak "today's small proof-of-concept: I was wondering if it's possible to implement integer division/remainder..." Check out the Zeckendorf arithmetic entry on RC. http://rosettacode.org/wiki/Zeckendorf_arithmetic#Perl_6
18:33 haircode_ joined #perl6
18:35 n0tjack what's the syntax for asking for the shape of a shaped array?
18:35 n0tjack if I say my @a[7;5;2] = ... ; how can I get 7 5 2 back?
18:38 zakharyas joined #perl6
18:39 psch m: my @a[7;5;2]; say @a.shape
18:39 camelia rakudo-moar : OUTPUT«(7 5 2)␤»
18:40 n0tjack well played, perl6
18:40 n0tjack thanks psch++
18:40 * psch didn't actually know that and just tried it.
18:40 n0tjack m: my @a[7;5;2]; say @a.rank;
18:40 camelia rakudo-moar : OUTPUT«Method 'rank' not found for invocant of class 'Array'␤  in block <unit> at /tmp/MPNiaJdS2i:1␤␤»
18:40 n0tjack aww.
18:40 n0tjack m: my @a[7;5;2]; say +@a.shape;
18:41 camelia rakudo-moar : OUTPUT«3␤»
18:41 n0tjack good enough
18:41 ZoffixW joined #perl6
18:41 hankache m: my @a[7;5;2]; say @a.shape.rank
18:41 camelia rakudo-moar : OUTPUT«Method 'rank' not found for invocant of class 'List'␤  in block <unit> at /tmp/dgTZgP9K0L:1␤␤»
18:41 hankache no luck
18:42 n0tjack I guess an explicit rank function is not required in a language that distinguishes scalar vs array contexts
18:43 n0tjack m: say (0..1).pick; # is there a way to say 2.rand or something and have 0 or 1 randomly picked?
18:43 camelia rakudo-moar : OUTPUT«1␤»
18:43 n0tjack I guess floor 2.rand .. but seems messy.
18:45 dwarring m: say [0,1].pick
18:45 yoleaux 07:26Z <nine> dwarring: Bool is now an enum instead of a class. It is a concious decision to now allow mixing into enums, as they are not classes and though we could make it work, it would expose lots of strange edge cases.
18:45 camelia rakudo-moar : OUTPUT«0␤»
18:45 dwarring m: say [0,1].pick for 1..10
18:45 camelia rakudo-moar : OUTPUT«0␤1␤1␤1␤0␤0␤1␤1␤1␤1␤»
18:45 dwarring m: say [0,1].pick for 1..10
18:45 camelia rakudo-moar : OUTPUT«0␤1␤0␤0␤1␤1␤0␤1␤0␤0␤»
18:45 yqt joined #perl6
18:46 ZoffixW timotimo, did you already publish the Weekly? I've just thought of another "low hanging fruit"/easy ways to contribute to P6 you can list, if you like. Go to http://modules.perl6.org/#sort-col=3&amp;sort-dir=d you'll see the top ~32 rows have "Unknown" travis statuses. Most likely those are the dists where authors added a .travis.yml file to their distro but never actually enabled the dist on Travis. So what needs to be done is: 1) Click on the "Unknown"
18:46 ZoffixW and double check the page says "This is not an active repository". 2) Open a GitHub Issue for that dist, asking the author to enable the dist and include a correct URL to author's travis profile page (https://travis-ci.org/profile/GITHUB_USERNAME/) along with instructions to find the dist in the list on that page and click the slider to enable the dist
18:46 dwarring nine: not a big deal, have refactored
18:47 ZoffixW It's a bit menial and needs not skill, but I figure it might get someone to feel they're part of the community and are helping out keeping ecosystem in top shape. ¯\_(ツ)_/¯
18:49 n0tjack dwarring: I'm specifically looking for a method that allows me to use "2" as the input. Not (0..1) or [0..1], just 2.
18:50 uruwi floor(2.rand) is your best bet
18:50 uruwi Or 2.rand.floor
18:51 zengargoylew m: my $what = 2; my $many = 10; say (^$what).pick($many);
18:51 camelia rakudo-moar : OUTPUT«(0 1)␤»
18:51 zengargoylew m: my $what = 2; my $many = 10; say (^$what).roll($many);
18:51 camelia rakudo-moar : OUTPUT«(1 0 1 1 0 0 1 1 1 0)␤»
18:52 n0tjack uruwi: yeah that's what I figured, just seems a tad expensive
18:52 uruwi Wrap it in a sub
18:52 n0tjack uruwi: to promote to double only to demote to int a second later
18:52 uruwi Creating a new range object seems a tad expensive too
18:53 uruwi Until Perl 6 has an irand method, using floor seems to be the best bet
18:54 zengargoylew i'd guess if it's expensive, it is/would/could be optimized. ... .pick on Range
18:54 uruwi I wonder, does Rakudo optimize it?
18:55 zengargoylew uruwi: well volunteered!
18:56 domidumont joined #perl6
18:56 zengargoylew though not sure random can be optimized as such... it's always some sort of pseudo-random thing that involves a bunch of calculation if you want better random numbers.
18:57 n0tjack is there an easy place in the source to plug in metapatterns like Int.rand.floor and give them special implementations?
18:57 uruwi Okay, 2.rand.floor is your best bet.
18:57 n0tjack uruwi: yeah, that's where I landed too. But I appreciate your .roll(many) example, I needed that as well;
18:59 uruwi n0tjack http://pastebin.com/BEt4CFSL
19:02 n0tjack uruwi: huh, surprising
19:02 n0tjack you're right that setting up a Range is more expensive than the .floor
19:07 bass joined #perl6
19:07 zengargoylew uruwi: we have a nifty Bench module: git://github.com/tony-o/perl6-bench.git
19:09 [Sno] .tell moritz small typo in sysroot-patch for my use-case detected, fixed and push
19:09 yoleaux [Sno]: I'll pass your message to moritz.
19:09 [Sno] .tell moritz please try it and merge so I can update the Yocto package for 2015.11 ...
19:09 yoleaux [Sno]: I'll pass your message to moritz.
19:09 uruwi Thank you zengar
19:10 [Sno] .tell moritz since openjdk-8 get merged upstream, soon - I can create pull request for perl6 in OE-Core hopefully soon
19:10 yoleaux [Sno]: I'll pass your message to moritz.
19:12 [Sno] will the versioning schema remain?
19:13 spider-mario joined #perl6
19:13 abaugher joined #perl6
19:20 dalek DBIish: 6f1fb8f | (Sylvain Colinet)++ | / (3 files):
19:20 dalek DBIish: Move fetchrow_typedhash in the base role
19:20 dalek DBIish: review: https://github.com/perl6/DBIish/commit/6f1fb8f656
19:20 dalek DBIish: 3d328c6 | (Zoffix Znet)++ | / (3 files):
19:20 dalek DBIish: Merge pull request #30 from Skarsnik/master
19:20 dalek DBIish:
19:20 dalek DBIish: Move fetchrow_typedhash in the base role
19:20 dalek DBIish: review: https://github.com/perl6/DBIish/commit/3d328c64e4
19:21 kaare_ joined #perl6
19:22 ab5tract o/ #perl6
19:22 yoleaux 14 Sep 2015 23:06Z <flussence> ab5tract: I think it would help a lot if I could throw is() and the like inside of start{} blocks, and have confidence in the results coming out in a consistent-enough order. In other words, I'm doing it wrong. I'll leave that code as-is for the time being because slow beats segfaulting.
19:22 ab5tract just got back from a beer with BooK++
19:23 ab5tract i went to demonstrate the "object hash", but couldn't remember nor find the syntax
19:24 ab5tract are the semantics solid or still in flux? i would like to add it to the docs on Hash
19:24 flussence m: my %foo{Int} = 1 => 2; dd %foo; my %bar = 1 => 2; dd %bar;
19:24 camelia rakudo-moar : OUTPUT«Hash[Any,Int] $var = (my Any %{Int} = 1 => 2)␤Hash $var = {"1" => 2}␤»
19:29 raiph joined #perl6
19:30 kaare_ joined #perl6
19:33 ollej_ joined #perl6
19:37 n0tjack joined #perl6
19:39 ab5tract o/ flussence
19:39 ab5tract sorry for not getting back to this variant of my name since September! I've quite forgotten what we were talking about
19:40 flussence me too :D
19:40 ab5tract I'll check the logs when I get a chance :)
19:40 zakharyas joined #perl6
19:40 flussence whatever it was, if I can't remember it it's probably not all that urgent :)
19:42 ab5tract m: $color = "green"; my %h; %h{$color} = " is the choice"; say "$color%h{$color}" if $color === %h.keys[0]
19:42 camelia rakudo-moar : OUTPUT«5===SORRY!5=== Error while compiling /tmp/9pQkxSh396␤Variable '$color' is not declared␤at /tmp/9pQkxSh396:1␤------> 3<BOL>7⏏5$color = "green"; my %h; %h{$color} = " ␤»
19:42 ab5tract m: my $color = "green"; my %h; %h{$color} = " is the choice"; say "$color%h{$color}" if $color === %h.keys[0]
19:42 camelia rakudo-moar : OUTPUT«green is the choice␤»
19:42 ab5tract that is too cool
19:43 * ab5tract attempts rudimentary summoning spell in the direction of BooK
19:44 ab5tract moritz: a thought just occurred to me. what if we add a small "nothing but successful camelia invocations" filter to irclog.perlgeek.de ?
19:44 ab5tract afk for now. dinner!
19:44 uruwi nomnomom
19:44 zengargoylew left #perl6
19:44 dalek rakudo/curli: 632436a | (Stefan Seifert)++ | src/core/CompUnit.pm:
19:44 dalek rakudo/curli: Fixup "Rename CompUnit.name to short-name"
19:44 dalek rakudo/curli:
19:44 dalek rakudo/curli: .^name really should stay .^name
19:44 dalek rakudo/curli: review: https://github.com/rakudo/rakudo/commit/632436ab3a
19:44 dalek rakudo/curli: 8af2c6c | (Stefan Seifert)++ | src/core/CompUnit/Repository/FileSystem.pm:
19:44 dalek rakudo/curli: Fixup "Use IO::Path for all paths in CompUnit handling"
19:44 dalek rakudo/curli:
19:44 dalek rakudo/curli: CompUnit::Repository::FileSystem::load could have used some testing.
19:44 dalek rakudo/curli: review: https://github.com/rakudo/rakudo/commit/8af2c6c0c0
19:45 nine I really should have had a look at the spectests earlier. Turned out that they are still usefull despite the massive refactoring
19:45 yoleaux 16:28Z <lizmat> nine: looks like a06069b1d7c582f6243 broke the JVM build
19:45 ab5tract (filter being completely optional, of course)
19:50 nine lizmat: but but but how?
19:51 dalek rakudo/nom: 9345857 | jnthn++ | src/core/ThreadPoolScheduler.pm:
19:51 dalek rakudo/nom: Fix thinko in scheduler that swallowed exceptions.
19:51 dalek rakudo/nom:
19:51 dalek rakudo/nom: Deals with a bunch of silent failures that made debugging harder.
19:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9345857f0d
19:51 dalek roast: a96334c | jnthn++ | S17-supply/interval.t:
19:51 dalek roast: Add test for RT #125621.
19:51 dalek roast: review: https://github.com/perl6/roast/commit/a96334cce8
19:51 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125621
19:53 jferrero m: say "Hello from Madrid Perl Monguers!"
19:53 camelia rakudo-moar : OUTPUT«Hello from Madrid Perl Monguers!␤»
19:54 dalek roast/curli: b727ecc | jdv79++ | S17-supply/lines.t:
19:54 dalek roast/curli: Add specific test for chunked CRLF.  See 97b93c3.
19:54 dalek roast/curli: review: https://github.com/perl6/roast/commit/b727ecc1a3
19:54 dalek roast/curli: ea09e0b | (Stefan Seifert)++ | S17-supply/lines.t:
19:54 dalek roast/curli: Merge branch 'master' into curli
19:54 dalek roast/curli: review: https://github.com/perl6/roast/commit/ea09e0b0ff
19:54 dalek roast/curli: a9db4b3 | (Stefan Seifert)++ | / (5 files):
19:54 dalek roast/curli: Adapt more tests to new CompUnit::Repository world
19:54 dalek roast/curli: review: https://github.com/perl6/roast/commit/a9db4b3faa
19:54 dalek roast/curli: 0e39a19 | (Stefan Seifert)++ | S11-compunit/compunit-repository.t:
19:54 dalek roast/curli: Update CompUnit::Repository tests for new required methods
19:54 dalek roast/curli: review: https://github.com/perl6/roast/commit/0e39a19fac
19:55 jnthn m: say "Hola! Quiero una cerveza, por favor!" # ;-)
19:55 camelia rakudo-moar : OUTPUT«Hola! Quiero una cerveza, por favor!␤»
19:55 n0tjack I'd like a camelia mnemonic like m:, say ms:, which implicitly adds a "say" to the final results.
19:55 n0tjack like ms: 3; would be the same as m: say 3;
19:56 ZoffixW +1
19:56 n0tjack and ms: blah blah blah; foo foo foo; $horsepajamas; would change the last line to say $horsepajamas.
19:56 rleme joined #perl6
19:57 ZoffixW Actually, what I'd want more is the way perlbot does it... Prints the last return value
19:57 ZoffixW to m: 2+2 would print 4
19:57 n0tjack yeah, that's what I'm saying, though probably not clearly.
19:57 ZoffixW I guess it's the same as what you're talking about, since say is more magical in P6
19:57 n0tjack yes.
19:57 n0tjack I just forget the "say" part constantly adn then feel sheepish for flooding the channel even more than I usually do.
19:58 stmuk n0tjack: me too!</aol>
19:58 dalek Heuristic branch merge: pushed 19 commits to rakudo/curli by niner
19:59 bass joined #perl6
20:01 dalek roast/curli: 42b86ae | (Stefan Seifert)++ | S (2 files):
20:01 dalek roast/curli: Prepare for removal of @*INC
20:01 dalek roast/curli: review: https://github.com/perl6/roast/commit/42b86ae401
20:01 lizmat nine: not sure how
20:02 lizmat nine: when I revert to a06069b1d7c582f6243 , I get: Attribute '$!value' is not a native int
20:02 lizmat in  (gen/jvm/BOOTSTRAP.nqp:2027)
20:02 lizmat in  (gen/jvm/BOOTSTRAP.nqp:246)
20:02 ZoffixW wait wat?
20:02 ZoffixW Removal of @*INC?
20:02 ZoffixW I'm using some code that depends on @*INC
20:03 nine ZoffixW: https://gist.github.com/jnthn/47a42b2e86e7e552b2e2
20:03 nine lizmat: 70ad84ac43d30833f268729453d928c19946b582 may have fixed that one already
20:04 ZoffixW Damn. That's a lot of text.
20:04 lizmat nine: a, then my bisect was faulty
20:08 nine lizmat: if that's true then at least I know that that commit is actually usefull :) I had my doubts, since AFAIK it didn't improve anything on Moar despite appearing more correct.
20:08 lizmat when I checkout that commit, I get a NPE when building
20:08 nine oh my
20:09 lizmat java.lang.NullPointerException
20:09 lizmat in  (gen/jvm/BOOTSTRAP.nqp:2097)
20:09 lizmat in  (gen/jvm/BOOTSTRAP.nqp:246)
20:09 nine Maybe it's about time I find out how to compile rakudo for JVM
20:10 psch nine: yes please
20:10 psch in general i'd like people to at least build it, spectest not required
20:11 psch but yes, HEAD has a NPE too, when trying to assign CompUnitRepo to the EXPORT::DEFAULT WHO
20:11 psch i think that happened on bool_enum already too, although i don't see a connection
20:14 stmuk https://github.com/neovim/neovim has quite a sexy README.md
20:14 nine What was the intention of prefix/share/libraries.json?
20:15 ZoffixW m: say $*PERL.compiler.id
20:15 camelia rakudo-moar : OUTPUT«Method 'id' not found for invocant of class 'Compiler'␤  in block <unit> at /tmp/RdURizgm40:1␤␤»
20:15 Skarsnik Do you guy/girls use something to preview your README.md?
20:16 ZoffixW Skarsnik, I just google for "online markdown editor" and use that... Like http://dillinger.io/
20:19 psch ah, it's the add_I hack for True and False that *still* doesn't work on jvm exactly as on moar /o\
20:20 geekosaur pandoc :p
20:20 kjs_ joined #perl6
20:21 jnthn Skarsnik: I stick it in a gist and make the filename x.md :)
20:22 Skarsnik ok thx x)
20:23 psch jnthn: can we instantiate a bigint during BOOTSTRAP without add_I?
20:23 jnthn psch: Just nqp::create(Int) should work if you already composed it?
20:23 ZoffixW nine, well, I've read the whole thing though skimmed the code examples. Does it mean there now won't be any way to scan for all installed modules whose name begins with say "Foo::Bar::"? Like "Foo::Bar::Baz", "Foo::Bar::Ber::Boor" etc?
20:23 jnthn That'll get you a 0 of course :)
20:24 jnthn Or just nqp::box_I
20:24 psch jnthn: it doesn't on r-j, it gets null for field_0
20:24 psch ah, box_I
20:25 nine ZoffixW: currently we don't have an API for that, no. I'm curious, what do you need it for?
20:25 lizmat nine: in my original design, .candidates would allow you to do just that
20:26 lizmat .candidates was just a generic filter
20:26 nine lizmat: yep, maybe we want that back
20:26 mst if you don't provide it, you will get several of them and they'll all be terrible
20:26 psch (actually, p6box_i)
20:26 ZoffixW nine, oh, that's terrible! In my code it's a common pattern to make "plugins" that could be simply installed and the "core" code doesn't need to be changed to add new functionality—you simply add a new plugin. We actually already have Pluggable module that currently traverses @*INC for that feature: https://github.com/tony-o/perl6-pluggable/
20:26 mst Module::Pluggbale, Module::FInd, etc.
20:27 psch jnthn: i guess that means that nqp::create on r-j forgets to initialize fields?
20:27 mst the entire thing's an antipattern but it's an antipattern you have to support
20:27 nine ZoffixW, mst: I suspected as much
20:27 ZoffixW mst, why is it an antipattern?
20:28 mst ZoffixW: because it means tweaking @INC can change the behaviour of a module indirectly
20:28 mst it's horrific action at a distance
20:28 jnthn Good job we killed @*INC :P
20:28 Skarsnik could nice to have a way to query installed stuff that does a specific role :)
20:28 mst also if you rename something it usually ends up getting loaded twice until you fix that
20:28 jdv79 but there's good money is sorting that out when $coworkers can't figure it out:)
20:28 jdv79 its also a pita
20:28 mst right, exactly
20:29 mst run 'make install' on a catalyst app. delete a controller. get very very confused.
20:29 Skarsnik well @INC (or something that replace it) could be read only to not mess with it x)
20:29 jnthn nine: Don't see any particular issues with having a method to query all installed things matching some dependency spec.
20:29 ZoffixW Yes please \o/
20:29 nine Skarsnik: could be nice, but I don't see that happening. Module databases care about computation units, i.e. files. Files may contain anything and you only know after you loaded it. They may even generated classes at runtime like Inline::Perl5 does.
20:29 mst ZoffixW: basically it's a delayed action footgun - sufficiently delayed that when it goes off it's really hard to figure out why there's suddenly a bullet in your foot
20:29 jnthn If nothing else because otherwise module installers will also go duplicating it.
20:29 zakharyas joined #perl6
20:29 nine jnthn: no, just sounds like a bit of extra work to do
20:30 Skarsnik nine, could be something in the Meta file of the module
20:30 ZoffixW mst, I guess I can see your point. Install module X and all of a sudden your app you haven't touched in years is doing something new
20:31 mst ZoffixW: right. it's *heinous* to debug
20:32 nine lizmat: do you think it's possible that the line number for the NPE during build is just misleading? Exchanging the CompUnitRepo and ForeignCode lines changes nothing.
20:32 mst and usually ends up being bounced to me at work
20:32 mst in general, "requires mst to debug" is not something we consider a feature
20:32 Skarsnik well DBIis does a require ::("DBDish::$drivername") you can maybe screw it up with creating DBDish::xx modules x)
20:33 ZoffixW Then disregard my "that's terrible" comments above :) I don't see any other uses for .candidates other than making things like Pluggable, so I'm removing myself from the set of people who say they want the feature. I'm neutral on it now :)
20:33 psch nine: the NPE on r-j build is for src/Perl6/Metamodel/BOOTSTRAP.nqp:2887, because r-j doesn't instantiate an Int created with nqp::create(Int) the same as moar
20:33 mst a method like that is still worth having
20:33 lizmat nine: I didn't look at the code just yet
20:33 mst so you can do e.g. 'list available plugins'
20:34 mst you just shouldn't -enable- them via that
20:34 mst that's the part that becomes a footgun
20:34 ZoffixW Fair enough
20:34 jnthn If you're really going to do that, it's probably best to just force a single CompUnitRepo that is a just-for-this-system installation
20:34 jnthn So you never look at anything outside what you've installed/deployed for the application in question, and don't have action at a distance.
20:35 mst but at that point, I'd rather generate the relevant list at 'make dist' time
20:36 timotimo today i got not a single thing done :|
20:37 dalek rakudo/nom: c8bc505 | lizmat++ | src/core/Any-iterable-methods.pm:
20:37 dalek rakudo/nom: Implement List.first()
20:37 dalek rakudo/nom:
20:37 dalek rakudo/nom: Just gimme the first (or the last with :end)
20:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8bc50531b
20:37 jdv79 timotimo: welcome to the club
20:38 arnsholt timotimo: Sometimes I feel like every day for a whole week. The glamorous life of a PhD student =)
20:38 jnthn Not sure if "nothing" is better or worse than "I've discovered I'm probably going to have to make a breaking change in supplies that will bust folk's code, otherwise we'll be stuck with a bad choice forever after 6.c..."
20:38 nine jnthn: sounds like a hell of a lot better than "we're stuck with a bad choice forever"
20:38 dalek modules.perl6.org/new-db-builder: eeb046c | (Zoffix Znet)++ | lib/DbBuilder.pm:
20:38 dalek modules.perl6.org/new-db-builder: Emit a log message when build is complete successfully
20:38 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/eeb046c3a5
20:39 arnsholt A breaking change would suck, but terrible supplies for eternity would likely suck more, sounds like
20:39 jnthn Indeed
20:39 * jnthn really needs TimToady to discuss naming with
20:39 pink_mist jnthn: best to get it over with quickly; rip the bandaid off
20:39 jnthn But I made two things the same that really, really have to be different.
20:40 dalek rakudo/nom: 679e85f | peschwa++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
20:40 dalek rakudo/nom: Directly box the things we want to add.
20:40 dalek rakudo/nom:
20:40 dalek rakudo/nom: Apparently nqp::create(Int) misbehaves somewhat on R-J. This gets us R-J
20:40 dalek rakudo/nom: building again.
20:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/679e85f8fb
20:40 * jnthn wonders if anyone actually uses the on meta-combinator in their code...
20:40 nine psch: ah, you were faster :)
20:41 nine psch: I wonder if nqp::box_I(0, Bool) would work, too?
20:41 psch nine: maybe, yeah
20:41 psch nine: it depends, though, on where box_i expects the field
20:41 psch like, it doesn't work for IntStr cause in IntStr the Int is in field_2 or something
20:42 psch i don't know how that interacts with the enum-ness of Bool nowadays
20:42 psch note also: i didn't spectest that, 'cause i want to get back to trying to understand what's missing for allowing lower_signature on r-j
20:43 lizmat psch nine attempting to build jvm now
20:43 nine psch: seems like box_i(1, Bool) does indeed work
20:44 lizmat jnthn: afaik, it's only used internally
20:44 jnthn lizmat: True, though it's exposed
20:45 jnthn lizmat: So somebody mighta been smart enough to figure out what it offered and use it :)
20:45 lizmat true
20:45 dalek modules.perl6.org/new-db-builder: a4560b3 | (Zoffix Znet)++ | lib/DbBuilder.pm:
20:45 dalek modules.perl6.org/new-db-builder: Make --limit option actually work and emit useful log messages
20:45 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/a4560b344f
20:45 nine JVM doesn't have a lockfh :/
20:45 jnthn It was my first stab at the thing that became the pretty supply/whenever syntax :)
20:45 skids joined #perl6
20:47 psch nine: that's neat.
20:48 psch makes me wonder if we can replace the add_I hack in IntStr with boxing somehow
20:49 psch jnthn: the first issue i come across with allowing the vm binder on r-j is an empty args in methcall_noa
20:49 psch jnthn: i'm having trouble to figure out why that could happen, fwiw.  partial builds don't leave any .class to inspect and --target=jast obviously doesn't work either...
20:50 jdv79 is there a list of ideas people already have for the advent stuff?
20:50 jdv79 just to try to avoid dup'ing too much
20:51 psch jdv79: i only know of gfldex++ wanting to write about binding and Proxy and surprising interactions
20:51 masak jnthn: what's the on meta-combinator?
20:51 psch jdv79: just PR your date and title to https://github.com/perl6/mu/blob/master/misc/perl6advent-2015/schedule
20:51 psch jdv79: it was "first come, first served" last year, so i guess it's the same this year
20:52 lizmat psch nine confirm jvm build on OS X ok
20:52 konobi lo
20:53 jnthn masak: A less syntax sugared and less well thought out version of the supply/react/whenever syntax
20:53 jdv79 oh cool.  doc.perl6.org works better now.
20:54 nine lizmat: yeah :)
20:55 inokenty joined #perl6
20:57 masak jnthn: oh -- how come we don't deprecate it as quickly as we can?
20:59 lizmat masak: I think we need some tests first  :-)
20:59 jnthn masak: 'cus one of the reasons it exists is because it was the most sensible way to write a bunch of the built-in supply combinators
21:00 jnthn masak: Now I'm re-working supply guts anyway, it's a good time to replace those with supply blocks :)
21:01 masak aha.
21:03 japhb Oooh, jnthn++ for fixing Scheduler exception-swallowing bug.  I *knew* I wasn't going crazy.
21:03 * japhb rebuilds just for 9345857f0df8543fe31d108558d32dffec39e74c
21:09 diakopter___ joined #perl6
21:09 kjs_ joined #perl6
21:10 psch nine: box_i(*, Bool) is probably worth pushing imo, if only for brevity and clarity
21:10 arnsholt jnthn: What's the protocol for shaped arrays at the 6model level?
21:10 psch nine: ...but i guess you might be spectesting or something vOv
21:11 jnthn arnsholt: As in, REPR protocol? Or?
21:11 arnsholt Yeah, REPR protocol mostly
21:11 jnthn arnsholt: There's a MultiDimArray REPR
21:11 nine psch: actually I'm trying to implement nqp::lockfh for JVM, because I tried the box_i patch on the curli branch which needs lockfh ;)
21:12 jnthn You compose it with the type (like a normal array) and number of dimensions
21:12 jnthn So the number of dimensions is a part of the type (useful for good JIT later one)
21:12 jnthn *one
21:12 psch nine: ah, carry on then :)
21:12 jnthn *on
21:12 arnsholt Yeah. The MultiDimArray will probably have the bits I need
21:12 [Sno] joined #perl6
21:13 arnsholt I'm pondering a NativeCall array type for array of value types, and that fits well with my also wanting to kill off auto-resizing CArrays
21:13 arnsholt But killing off auto-resizing means wanting a way to declare shapes for CArrays =)
21:15 ZoffixMobile joined #perl6
21:16 ZoffixMobile jdv79, do you mean keyboard no longer pops out on docs.perl6.org? Would you also check modules.perl6.org is sane as well?
21:16 kjs_ joined #perl6
21:17 moritz ZoffixMobile: works fine here (no keyboard opens on page load)
21:17 yoleaux 19:09Z <[Sno]> moritz: small typo in sysroot-patch for my use-case detected, fixed and push
21:17 yoleaux 19:09Z <[Sno]> moritz: please try it and merge so I can update the Yocto package for 2015.11 ...
21:17 yoleaux 19:10Z <[Sno]> moritz: since openjdk-8 get merged upstream, soon - I can create pull request for perl6 in OE-Core hopefully soon
21:18 zengargoyle joined #perl6
21:19 moritz ZoffixMobile: just then when I enter a search word into the box, and then press return, the keyboard doesn't close (likely because it doesn't .blur())
21:19 moritz but that's really minor
21:19 kjs_ joined #perl6
21:19 rigsby joined #perl6
21:21 ZoffixMobile k
21:21 leont joined #perl6
21:24 Hor|zon joined #perl6
21:25 jdv79 ZoffixMobile: yes.  mod looks ok.
21:25 ZoffixMobile \o/
21:48 nine Oh boy compiling for JVM takes like forever
21:51 lizmat nine: yeah  :-(
21:52 rurban joined #perl6
21:52 nine Argh...and mkdir on the JVM really only creates the one directory while on MoarVM it's more like an mkpath
21:52 lizmat nine: are you sure ???
21:53 nine And it throws an error if the directory already exists
21:53 lizmat well, there are many such differences   :-(
21:53 nine lizmat: pretty sure, yes
21:54 inokenty joined #perl6
21:55 geraud joined #perl6
21:57 masak 'night, #perl6
21:57 Zoffix night
21:57 uruwi Night
21:57 lizmat gnight masak
21:58 Zoffix left #perl6
22:06 n0tjack joined #perl6
22:16 zoosha joined #perl6
22:16 pecastro joined #perl6
22:17 dalek modules.perl6.org/new-db-builder: 7c5bcab | (Zoffix Znet)++ | / (2 files):
22:17 dalek modules.perl6.org/new-db-builder: Implement and document app documentation viewing in dev mode at /perldoc/ route
22:17 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/7c5bcab165
22:19 dalek modules.perl6.org/new-db-builder: dab5791 | (Zoffix Znet)++ | lib/ModulesPerl6/Model/Dists.pm:
22:19 dalek modules.perl6.org/new-db-builder: Fix POD error
22:19 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/dab5791463
22:19 dalek nqp: 45dba5c | (Stefan Seifert)++ | src/vm/jvm/ (4 files):
22:19 dalek nqp: nqp::lockfh and nqp::unlockfh for JVM backend
22:19 dalek nqp: review: https://github.com/perl6/nqp/commit/45dba5cf91
22:20 dalek rakudo/curli: 72d5041 | (Stefan Seifert)++ | / (5 files):
22:20 dalek rakudo/curli: Remove @*INC obsoleted by $*REPO
22:20 dalek rakudo/curli: review: https://github.com/rakudo/rakudo/commit/72d50413a7
22:20 dalek rakudo/curli: b09cc6b | (Stefan Seifert)++ | src/core/CompUnit/ (2 files):
22:20 dalek rakudo/curli: Fix compatability with JVM semantics of mkdir
22:20 dalek rakudo/curli: review: https://github.com/rakudo/rakudo/commit/b09cc6bddf
22:21 dalek rakudo/nom: 4d8a904 | (Stefan Seifert)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
22:21 dalek rakudo/nom: Further simplify Bool initialization code
22:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4d8a90422d
22:24 nine Good night!
22:25 jnthn 'night, nine++
22:30 lizmat gnight nine++
22:34 rleme left #perl6
22:39 havenwood joined #perl6
22:44 havenwood joined #perl6
22:44 havenwood joined #perl6
22:45 dalek modules.perl6.org/new-db-builder: a78e86c | (Zoffix Znet)++ | lib/DbBuilder/Dist/Source (2 files):
22:45 dalek modules.perl6.org/new-db-builder: Fetch logotypes
22:45 dalek modules.perl6.org/new-db-builder:
22:45 dalek modules.perl6.org/new-db-builder: Logotypes now also have a caching mechanizm and will only be downloaded if (a) dist has new commits (b) logo in repo has different byte size.
22:45 dalek modules.perl6.org/new-db-builder: review: https://github.com/perl6/modules.perl6.org/commit/a78e86c72c
22:59 jnthn 'night, #perl6
23:00 lizmat gnight jnthn
23:01 lucasb joined #perl6
23:02 rurban1 joined #perl6
23:08 lucasb I guess this already got talked about, but I'll ask my doubt anyway: after the release, everything will be frozen forever and nothing will be able to be changed? Sure I want a fixed API thing to program, but I fear a little about backward compatibility will take the stage and not allow future changes to the language. Any plans/ideas how this will be handled in the future?
23:12 Skarsnik What will be 'fixed' is not much actually, you will probably still write script that relly on module and modules are not fixed
23:15 Sgeo joined #perl6
23:16 lucasb Well, but the core P6 API will be fixed, won't it? That's what I'm talking.
23:16 lucasb For example, I wanted @array.clear and %hash.clear methods to get added to the language, but after the release, the chances of this happening will be zero.
23:17 lucasb And I know there are other ways to clear arrays and hashes. It is just a silly example :)
23:19 lucasb m: my @a; undefine(@a); say @a.defined
23:19 camelia rakudo-moar : OUTPUT«True␤»
23:20 lucasb In the meantime, undefine() doesn't "undefine" arrays and hashes.
23:20 lucasb But maybe that's ok, since in P5 we can use undef to clear arrays and hashes, but using defined() on them doesn't make sense, iiuc.
23:20 diakopter___ lucasb: why wouldn't you write a module that adds it, and then use that module always?
23:21 secwang joined #perl6
23:24 vendethiel joined #perl6
23:25 lucasb diakopter___: ok, creating a module myself is one way to solve my issues. But another part of me wanted it to get solved in the language itself.
23:26 diakopter___ but, for whom? for "everybody" or "your customers" or what? :)
23:27 lizmat gnight, #perl6!
23:27 diakopter___ lizmat: good night
23:28 lucasb In the specific case of .clear methods, it make *me* happy. But maybe others would enjoy too. But since it didn't get added to the language in all these years, maybe I'm alone on this :)
23:29 diakopter___ I don't mean to be combative, but I'm curious about the mechanics of how it makes you happy... why not just create a fresh/empty one?
23:30 Skarsnik think of my MyType @array; and  you want to purge it and have delete called on the element
23:30 diakopter___ seems to me letting the GC destroy the old one would be much faster than writing something in the high level language to clear it..
23:30 diakopter___ Skarsnik: right, I'm asking why you would want that
23:31 diakopter___ I'm not saying there can't possibly be a reason, I'm just curious what your reason is
23:32 Skarsnik if you want to close file for example
23:32 lucasb idk, I remember sometimes having to clear a @buffer. ok, I can write '@a = Empty', but I just thought having a .clear method would be a nice API. iirc, python, ruby, java (and maybe others) have this method on their containers
23:33 diakopter___ why would .delete on an array or hash slot cause a file to be closed?
23:33 Skarsnik I mean if your delete on the object involve IO stuff having the GC do what it want it's not good
23:33 perlawhirl joined #perl6
23:37 diakopter___ I don't think clearing a container (or deleting a slot in it) causes any finalization routines to be run on its contents
23:37 Skarsnik hm
23:38 Skarsnik I think in Qt something like QList<Maclass> list; list.delete; will call delete on the object (because it's not a QList<MaClass*>)
23:41 kid51 joined #perl6
23:41 dalek rakudo-star-daily: 79903ce | coke++ | log/ (2 files):
23:41 dalek rakudo-star-daily: today (automated commit)
23:41 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/79903ce3f8
23:41 Skarsnik and I had the need to clear an array I used to put value on it that make it size vary each call/loop
23:41 dalek perl6-roast-data: 6c3eb46 | coke++ | / (9 files):
23:41 dalek perl6-roast-data: today (automated commit)
23:41 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/6c3eb46158
23:45 Skarsnik Good night #perl6 :)
23:48 Oatmeal joined #perl6

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

Perl 6 | Reference Documentation | Rakudo