»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
lizmat good night, #perl6! 00:00
raiph o/
MadcapJake can you check what traits a sub has?
psch MadcapJake: some built-in traits have accessors on the sub, e.g. is rw
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
camelia rakudo-moar : OUTPUT«True␤»
dwarring m: class MyBaseRole {}; role MyRole is MyBaseRole {}; True does MyRole
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…»
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?
dwarring versus the earlier...
m: class MyClass {}; role MyRole is MyClass {}; True does MyRole
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…»
Zoffix s/show/shot/;
00:02 rurban left
MadcapJake Zoffix: It's CSON and I think ST2 uses XML, but I've thought about writing a converter from CSON->tmBundle 00:02
it might not be too hard. 00:03
Zoffix :)
diakopter___ Zoffix: when can we add your index to this: www.modulecounts.com/
00:03 ribasushi joined
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
diakopter___ Zoffix: I'm not sure we (anyone?) can catch nNode, with its 210,000 modules 00:04
*Node
Zoffix diakopter___, my index? What?
diakopter___ module list
Zoffix doesn't have any module lists... :S
diakopter___ the site you're working on?
the ecosystem list
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.
Zoffix I wonder how many of those 210,000 modules are reinvented wheels.
diakopter___ a billion of them XD 00:05
MadcapJake Zoffix: why can't you install Atom on your home box?
jdv79 most
Zoffix Linux ZofMain 3.5.0-11-generic #11 SMP Wed Aug 22 14:45:14 CDT 2012 i686 i686 i386 GNU/Linux
I'm too lazy to upgrade and there's no 32-bit atom
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
TEttinger I'm always surprised when people make 64-bit-only software these days
Zoffix diakopter___, I wasn't working on the ecosystem list.
diakopter___, I was making an updated modules.perl6.org/ which is live already
diakopter___, what is needed for it to be included to modulecounts.com?
diakopter___ you know there's no 32-bit redhat 7 00:07
00:07 aindilis joined
diakopter___ and no 32-bit windows server... for many years 00:07
Zoffix diakopter___, do you own modulecounts.com? 00:08
diakopter___ no...
Zoffix diakopter___, I could add a route that would tell their bot how many modules we got in eco
jdv79 well, cpan has just as many if you count actual modules
Zoffix No scraping required
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
diakopter___ jdv79: well, Maven Central would have in the millions if you counted "actual modules" there too
(jvm classes)
Zoffix: I was mildly kidding; I don't think that site would want a language with only a few hundred modules 00:10
Zoffix diakopter___, :( 00:11
diakopter___, I already checkout a repo and half-way done with implementing a /total
diakopter___ well I guess Lua has less than 900
jdv79 like pear?
Zoffix does it anyway
jdv79 i think i used that once
MadcapJake Zoffix: the new modules.perl6.org is really nice looking! Great work! I wish it had opensearch support though.
jdv79 he diff tween cpan and cpan search are useless to put there 00:12
*the
00:13 cdg left
jdv79 more useful would be p6 cpan and p6 $whatever-it's-called 00:13
MadcapJake is there a way to find out what methods something has like `dir` in python? 00:14
jdv79 .^methods
dalek href="https://modules.perl6.org:">modules.perl6.org: 8948b6c | (Zoffix Znet)++ | web/lib/ModulesPerl6 (2 files):
Add route to display total number of modules in DB without a need for parsing and loading large main page
jdv79 m: Date.^methods>>.name # maybe
camelia ( no output )
jdv79 maybe not
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…»
MadcapJake m: sub square(\foo) is pure { foo ** 2 }; say &square.IS_PURE;
camelia rakudo-moar : OUTPUT«True␤»
MadcapJake boom! wish it was named as `rw` is though, but at least it's there!
diakopter___ does dists_num include revisions/versions
Zoffix diakopter___, modules.perl6.org/total 00:16
:)
raiph MadcapJake: I don't think there's any consistency to the residue left behind by any given trait
diakopter___ Zoffix: fwiw, I'll email the guy 00:17
Zoffix diakopter___++
jdv79 is a repo a module now?
diakopter___ he might as well add another daily poll at least, even if it doesn't go on the homepage yet
MadcapJake raiph: that's unfortunate, I think it might make more sense to do something like `&square.^traits` and return a list.
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"
psch MadcapJake: traits are either (1) built-in and set stuff that's needed for correct compilation or (2) mix in a role
MadcapJake: i don't think adding a .^traits MOP method is useful
Zoffix MadcapJake, yeah,it's in one of the "site tips" randomly shown on the site. 00:19
MadcapJake, modules.perl6.org/#q=Test
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)
Zoffix timotimo, lies! Lies and slander! github.com/zoffixznet/perl6-Color/...lor.pm6#L2 00:20
timotimo, :) Thanks
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?
timotimo "27 seconds ago" %)
Zoffix :D
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:21
Zoffix MadcapJake, opened a wishlist Issue for OpenSearch :) github.com/perl6/modules.perl6.org/issues/37 00:22
diakopter___ Zoffix: how/why does every module have Kwalitee of 100%
Zoffix diakopter___, github.com/perl6/modules.perl6.org...itee.pm#L6 00:23
timotimo ugh. god. damn. profiles
Zoffix diakopter___, right now I'm cleaning up the DB build script and Kwalitee is my next thing on the TODO list
diakopter___ giggle
timotimo 29 MB used to be doable
00:23 sprocket joined
Zoffix diakopter___, I'm also hacking on a Perl 6 module Kwalitee that will also check pod coverage and META 00:23
psch MadcapJake: to me it seems more useful to check whether the result (maybe "object") supports the operation instead 00:24
00:24 cdg joined, sprocket left
jdv79 timotimo: huh? 00:24
MadcapJake psch: sub mapping-func(Routine \foo) { if foo is pure { ... } else { ... } }
psch MadcapJake: anything returned by a rw-sub usually has a .VAR ~~ Scalar
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
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
jdv79 oh
diakopter___ I would name it Koalitee
psch MadcapJake: (also, minor nit, "foo is pure" would still parse as applying a trait, but that's not your point)
jdv79 pod is the worst part of it all
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
raiph MadcapJake: traits are a purely compile time entity
zengargoyle timotimo: couldn't you just massage `git blame META.list` to get list of modules added...
Zoffix diakopter___, I'll consider that name. Would be nice to have something different than P5's Kwalitee :) cpants.cpanauthors.org/ranking/five_or_more
diakopter___ like a Koala beer 00:27
Zoffix beer? :D
pink_mist beer :D
raiph MadcapJake: you can introspect objects at run-time and they may have some metadata put there by a trait
pink_mist I know there's a Tactical Nuclear Penguin beer, but Koala beer is news to me
Zoffix 0.o 00:28
raiph MadcapJake: and such metadata may be in an attribute with a name derived from the trait name
pink_mist Zoffix: www.brewdog.com/item/15/BrewDog/Ta...nguin.html
diakopter___ 🐨🍺
raiph MadcapJake: eg the `is rw` trait on a sub sets a rw attribute on the sub 00:29
diakopter___ .u 🐨🍺
yoleaux U+1F37A BEER MUG [So] (🍺)
00:29 cdg left
yoleaux U+1F428 KOALA [So] (🐨) 00:29
pink_mist haha, unicode is awesome :P
Zoffix pink_mist, I think the worst name is "Delirium Tremens"... a beer named after a medical condition that affects alcoholics :P www.thebeerstore.ca/beers/delirium-tremens
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.
pink_mist Zoffix: lol
jdv79 How is that bad?
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
diakopter___ m: my $_🐨🍺 is ::hungry
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␤…»
pink_mist *its 00:31
jdv79 pink_mist: are yo sure?
raiph MadcapJake: I agree I would have kinda expected `is pure` to set a $!pure attribute
pink_mist jdv79: it was quickly overtaken
diakopter___ Zoffix: sad modules can have Koalitears
Zoffix heh 00:32
jdv79 you may mean this one: www.brewdog.com/lowdown/blog/sink-the-bismarck
raiph MadcapJake: Or maybe a 'pure' key in a hash stored in a %!traits hash
jdv79 i had both and one was gross and the other was ok. can't remember which though.
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.
lol raiph not me :P
psch raiph: but traits can be user defined and are lexically scoped
raiph: so you could get a Routine with trait abc from ModuleA or ModuleB, that do different things
raiph psch: I'm not speaking of all traits because they're completely general as to what they do
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?
raiph psch: I wasn't distinguishing builtins from non builtins
dalek href="https://modules.perl6.org:">modules.perl6.org: 17546f5 | (Zoffix Znet)++ | web/site-tips.txt:
Add /total route to Site Tips
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
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"
Zoffix jdv79, not really a roadmap, but there is a TODO: github.com/perl6/modules.perl6.org...O-IDEAS.md
diakopter___ jdv79: chase the sun west, maybe you'll find an open bar
psch not meaning to come hostile here, fwiw. i do notice my tone is slipping a bit, sorry
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
jdv79, and then will see.
00:36 havenwood left
jdv79 Zoffix: what db? 00:36
Zoffix jdv79, modules db
jdv79, parsing raw.githubusercontent.com/perl6/ec.../META.list fetching info from github etc and storing it in db
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:(
Zoffix jdv79, what do you mean "search solution"?
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":)
metacpan does some of that iirc
i really would like to get back to looking at it someday
psch raiph, MadcapJake: sorry for coming of argumentative, in any case 00:40
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.
jdv79 digging into non-trivial p5 code isn't really what i call fun these days for me
Zoffix jdv79, essentially, now these two files: github.com/perl6/modules.perl6.org...ct/Info.pm and github.com/perl6/modules.perl6.org.../Github.pm ...
raiph Zoffix++ # m.p6.o and taking breaks
Zoffix jdv79, into single file like this: github.com/perl6/modules.perl6.org.../GitHub.pm
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"
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␤ …»
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␤»
psch raiph: i think so. it's about a unified way of checking for potential capability changes in a given argument
timotimo Zoffix: how do you like the sound of that? :)
Zoffix jdv79, which is like a plugin, so we can add more dist sources without hacking the core :)
timotimo, sounds good, if true :)
Runs in 0m6.330s on my box ATM 00:43
00:43 cdg joined
Zoffix jdv79, at $work I have a 120,011-line CGI app to convert to Mojo :P 00:44
By comparison modules.perl6.org job is quite relaxing :P
timotimo it's a moarvm patch that i just put in 00:45
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
Zoffix upgrades perl6
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:46
00:47 petercommand left, Zoffix left, petercommand joined, Zoffix joined
jdv79 do we have a plan for version integrity for the github module? 00:47
*model 00:48
00:48 petercommand left, petercommand joined, cdg left
jdv79 i think it was discussed lightly before 00:48
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?
camelia rakudo-moar : OUTPUT«(Sub)␤(Sub+{<anon|64234560>})␤»
jdv79 they are fungible 00:50
psch m: sub f is rw { }; say &f.WHAT
camelia rakudo-moar : OUTPUT«(Sub)␤»
psch raiph: no, not all
timotimo 4663 merging a subrule
1 optimizing an NFA of 19834 states
we have a winner!
actually ... 00:51
9288 merging a subrule
Zoffix timotimo, oh damn. Looks like all my other modules use :version<> as well
timotimo 1 optimizing an NFA of 42147 states
Zoffix And it used to work lol
timotimo yeah
we've only quite recently started rejecting adverbs that aren't "right" 00:52
00:52 pippo left
timotimo it'd be kinda-sorta interesting to see that 42k state NFA 00:53
but also quite hard to make out much %)
jdv79 what does it do? 00:54
timotimo it's what we use to power the | operator in regexes and what proto tokens do
jdv79 i guess i meant where did 42k states come from? 00:55
Zoffix hm 00:56
timotimo oh 00:57
dunno :)
Zoffix m: say "perl6 update made t/06-operators.t run {1-6.330/6.598}% slower"
camelia rakudo-moar : OUTPUT«perl6 update made t/06-operators.t run 0.040618% slower␤»
timotimo ... slower?
can you try with just the latest moar patch on/off? 00:58
raiph psch: thanks
Zoffix Yeah, slower. How do I do that?
timotimo you're magical
raiph Zoffix++ # magical powers 00:59
00:59 cognominal left
Zoffix eval: say 6.776 - 6.517, 6.517 - 6.330 01:00
01:00 cognominal joined
Zoffix m: say 6.776 - 6.517, 6.517 - 6.330 01:00
camelia rakudo-moar : OUTPUT«0.2590.187␤»
Zoffix timotimo, there's a lot of variance. I wouldn't read too much into it
timotimo let me check out variance locally some more ... 01:01
ugh. now it's at just a little win 01:04
Zoffix :P
Run it many times and average it out
timotimo :\
nah, that'll only make me sad
sometimes the jit just doesn't make things much better :<
01:07 yeahnoob joined
Zoffix $ perl -Mojo -wlE 'n { `prove -e perl6 -vlr t/06-operators.t` } 10' 01:07
65.948 wallclock secs ( 0.00 usr 0.00 sys + 64.74 cusr 1.01 csys = 65.75 CPU) @ 0.15/s (n=10)
6.5948 secs on average over 10 runs. 01:08
I've no idea how to revert to older moar to test what I used to have :P
timotimo how do you usually build moar?
Zoffix rakudobrew build moar 01:09
timotimo anyway, be AFK for a little bit
oh, does that even give you a newer moar?
i think it
just gives you whatever's in the MOAR_VERSION?
but there's rakudobrew triple nom master master
Zoffix ¯\_(ツ)_/¯ this is what the output says I got: fpaste.scsys.co.uk/501818 01:10
timotimo oh
Zoffix oh wow, that was a giant pull
timotimo f10000f is mine, all right
01:11 havenwood joined
Zoffix heh "Found ../install/bin/moar version 2015.11-7-gf10000f, which is new enough" 01:11
timotimo yeah 01:12
damn it.
Zoffix "Couldn't determine correct make program. Aborting." :S
01:12 rindolf left
Zoffix 6.56679 secs over 10 runs with whatever update I managed to install :P 01:16
01:17 leont left
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 :)␤»
Zoffix oh hahaha math fail :P
m: say "It's {6.56679/6.5948}% faster, but that's probably statistically insignificant :)"
camelia rakudo-moar : OUTPUT«It's 0.9957527% faster, but that's probably statistically insignificant :)␤»
Zoffix gives up and goes to watch Mythbusters
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:23 sufrostico left
timotimo ;( 01:24
anyway, that'll soon be irrelevant when "curli" gets merged because then we'll have precomp again 01:25
SmokeMachine_ Is there any plan to write a perl6 compiler to webassembly? 01:32
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:35
(I especially like that WebAssembly bothered to deal with unsigned stuff for a change.) 01:36
01:36 Actualeyes joined 01:38 tokuhiro_ joined
skids wonders where the arg to Promise.keep goes off to. 01:38
01:39 geraud left
timotimo there's 383 calls to the optimize method of the NFA and it "only" takes 1.06s 01:39
the slowest individual optimize run took 0.08s 01:40
01:40 geraud joined
jdv79 is there an idiom for "unless .index()"? i know if is with. 01:41
timotimo "without"
jdv79 too hard ^H
timotimo hides in bed
we could rename it to "unwith"?
sounds a bit like "unless" if you have a strong lithp 01:42
and pronounce the e like an i
01:43 tokuhiro_ left 01:52 geraud left 01:53 BenGoldberg joined 01:55 geraud joined
psch hm, we have uninvocable &dump_extra_node_info on some QAST types..? 02:06
i guess that might mean the method doesn't exist, among other things
02:07 diakopter___ left 02:16 geraud left 02:20 dayangkun_ joined 02:21 raiph left, vmbrasseur left 02:22 geraud joined 02:24 raiph joined 02:25 FROGGS_ joined 02:26 FROGGS left 02:30 xpen joined 02:34 bbkr left 02:40 molaf__ joined 02:44 geraud left 02:45 molaf_ left
skids gist.github.com/skids/e8149189ac5c24ae493e # Don't know if this behavior is RTd 02:46
02:47 cdg joined, eliasr left 02:49 geraud joined 02:54 kid51 left
skids Hrm. RT#125515 looks related. 02:58
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125515
03:00 cdg left 03:02 Ben_Goldberg joined 03:05 geraud1 joined 03:06 geraud left, BenGoldberg left 03:07 secwang_ joined, Ben_Goldberg left, Ben_Goldberg joined 03:10 geraud1 left 03:12 geraud joined 03:13 Ben_Goldberg left, tokuhiro_ joined 03:15 secwang_ left 03:16 secwang_ joined 03:18 secwang_ left 03:19 z8 joined, secwang joined, noganex joined 03:20 geraud left, geraud joined 03:21 dayangkun_ left, dayangkun_ joined 03:22 noganex_ left 03:26 kaare_ joined, secwang left 03:27 secwang joined 03:28 z8 left, yqt left 03:32 geraud left 03:33 geraud joined
raiph m: say $/; say "Foo".subst: /Foo/, {$/}; say $/; say "Bar".subst: /Bar/, {$/} for 1; reported as #RT126721 03:58
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'?␤␤»
raiph m: say $/; say "Foo".subst: /Foo/, {$/}; say $/; say "Bar".subst: /Bar/, {$/} for 1; # reported as #RT126721
camelia rakudo-moar : OUTPUT«Nil␤Foo␤「Foo」␤Foo␤»
03:58 MadcapJake left
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:06 geraud left 04:08 secwang left, geraud joined 04:11 quietfanatic joined 04:13 kaare_ left
quietfanatic twitter.com/dadgumjames/status/668...4685376512 twitter.com/dadgumjames/status/668...7790566400 04:13
04:18 grondilu joined
diakopter the story here is that the author of prog21.dadgum.com is mentioning Perl 6 04:21
04:23 TEttinger left 04:36 doublec_ joined 04:37 doublec left, doublec_ is now known as doublec 04:50 xpen left 04:56 dayangkun_ left
mspo spurt? :) lol 04:57
04:57 quietfanatic left, vendethiel joined 05:03 khw left 05:04 AlexDaniel left 05:12 b7j0c joined 05:17 b7j0c left 05:18 vendethiel left 05:26 stmuk joined 05:28 stmuk_ left 05:30 xpen joined, dayangkun_ joined, xpen left 05:31 dayangkun_ left 05:32 dayangkun_ joined, geraud left, geraud joined 05:38 skids left, FROGGS_ left 05:42 secwang joined 05:44 secwang left 05:45 secwang joined 05:48 _28_ria joined 05:59 xfix joined 06:02 secwang_ joined 06:04 xpen joined, xpen left, secwang left, xpen joined 06:09 molaf__ left 06:18 raiph left 06:21 darutoko joined, dalek left 06:22 dalek joined, ChanServ sets mode: +v dalek 06:25 uruwi joined, uruwi left 06:26 uruwi joined
uruwi hello 06:26
m: say "ping" 06:28
camelia rakudo-moar : OUTPUT«ping␤»
uruwi Lonely, isn't it? 06:29
test 06:30
Restarting my client. 06:32
06:32 uruwi left 06:34 uruwi joined
uruwi back 06:34
06:35 tudorconstantin joined
uruwi Hey 06:36
... 06:37
06:38 uruwi2 joined
uruwi2 Testing. 06:38
uruwi OK, client is working.
06:38 uruwi2 left 06:42 darutoko left, darutoko joined 06:48 sno left 06:52 Averna joined
uruwi Hi 06:53
06:55 rurban joined 06:57 TEttinger joined
uruwi Hi again 06:58
07:02 secwang_ left 07:07 FROGGS joined 07:09 domidumont joined 07:12 RabidGravy joined 07:14 domidumont left 07:15 domidumont joined 07:19 bbkr joined 07:23 sno joined
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:28 ribasushi left
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 Averna left
uruwi * not? 07:34
Not allow mixing into enums, I infer?
moritz yes, "not" 07:35
07:38 CIAvash joined
grondilu is there a guide somewhere on how to pre-compile a panda module? 07:41
sno moin moritz 07:42
uruwi grondilu, git clone it then use ufo? 07:44
grondilu never used ufo
uruwi I don't know actually
07:45 ribasushi joined
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)
grondilu what's zef? some new package maintainer? 07:47
I don't see it in the ecosystem anyway 07:48
dalek kudo/nom: cb1c8d4 | moritz++ | docs/ChangeLog:
Start Changelog for 2015.12
07:54
moritz grondilu: github.com/ugexe/zef
07:55 doublec left, doublec_ joined
grondilu ok thanks 07:56
moritz m: say (try die 42).^name
camelia rakudo-moar : OUTPUT«Nil␤»
07:58 rurban left 08:00 jccnd joined 08:04 rubbb joined 08:05 rubbb left
jnthn morning, #perl6 08:06
08:07 abraxxa joined
diakopter marning 08:11
08:13 zacts joined, sammers joined
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:14
08:19 telex left
jnthn nine: What codepath leads to the exception? 08:19
08:19 secwang joined
jnthn require "$filename"? 08:20
08:20 telex joined 08:22 zacts left 08:26 ely-se joined
nine yes 08:27
jnthn Do we pass a dependency specification at all there?
nine We don't. 08:28
jnthn I'm not even sure whether to go with the same exception type...
nine Well, it's still an unsatisfied dependency, just one that's specified in a different way.
jnthn True :)
08:29 [Tux] left
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
08:29 royalkiran007 joined
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:30
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
Maybe X::CompUnit::UnsatisfiedDependency wants to be a role with a couple of implementations or something.
nine Though adding it to the DependencySpecification would allow for us to unify the interfaces of need and load
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.
konobi roles? 08:33
nine Same here. It's the same, yet different.
08:33 pdcawley joined 08:34 zakharyas joined 08:35 zacts joined 08:37 zakharyas left 08:41 [Tux] joined 08:42 zakharyas joined 08:48 jccnd left 08:49 g4 joined 08:51 Upasaka left 08:54 rurban joined 09:01 dakkar joined, azawawi joined
azawawi hi 09:01
yoleaux 22 Nov 2015 13:25Z <moritz> azawawi: if .perl doesn't show it, it's not there anymore
azawawi im trying the perl6 REPL today and a strange case occured which maybe a bug 09:02
my int8 $x = 0; # first one works
$x # prints "Unhandled lexical type in lexprimspec for '$x'"
moritz azawawi: yes, bug, and afaict long known 09:04
azawawi ok thanks
jnthn int8 is only really there for use in nativecall parameters and native arrays. 09:05
So far. 09:06
azawawi moritz: I was wondering whether to map postgresql types to int or int8, int2
jnthn int1/int2/int4 likely won't make it into 6.c
09:06 Upasaka joined
jnthn Will try and get int8/int16/int32 working with lexicals though. 09:06
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
s/storge/storage
jnthn If you create a my int8 @arr[1024]; then yes, it'll pack the bytes into 1KB of memory 09:09
For native lexicals, no difference.
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
09:11 cognominal left
jnthn No 09:11
Hashes can't store native types anyway 09:12
azawawi i see
jnthn And when some time in the future they can, you'd have to have all of your values be int8 09:13
Not just some of them
azawawi but theortically we should be benefit... re github.com/azawawi/DBIish/blob/mas...ays.p6#L35
jnthn Yes, native arrays are where you can get the real savings
Or object attributes
has int8 $.foo; # will use a byte, BUT alignment rules still apply 09:14
So
class C { has int8 $.foo; has int32 $.bar; } # wastes 3 bytes between the two fields
(Same in C, fwiw.)
azawawi so for array size which is not a multiple of 2, 4, etc ... depending on the compile-time architecture 09:15
i see thanks
09:17 bass joined 09:18 kjs_ joined 09:21 jonas2 joined 09:23 kjs_ left 09:25 zakharyas left 09:29 rindolf joined
masak what's the community-approved way to do the equivalent of `perl -i.bak` in Perl 6? 09:34
(oh hai, #perl6)
azawawi moritz: interesting... arrays of oids www.postgresql.org/docs/9.4/static/...e-oid.html :) 09:36
El_Che i.bak6? too easy? :)
09:38 Ven joined 09:39 yeahnoob left, zakharyas joined
azawawi also www.postgresql.org/docs/9.4/static/...-json.html # json type in postgresql... is a candidate for db json => perl6 hash via JSON::Tiny 09:39
09:42 ely-se left 09:45 cognominal joined 09:47 zakharyas left 09:51 xfix left 09:52 zakharyas joined, rurban left, secwang left
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...
moritz DrForr: it's OK to leave topics without coverage. Relax. :-) 09:55
DrForr But that's part of the fun. Let's get ready to RUMBLE :) 09:56
09:56 avalenn_ left 09:57 avalenn joined
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. 09:58
10:00 espadrine joined 10:04 doublec joined
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
like multis + MAIN solving separate commands with separate options
masak El_Che: -i isn't implemented yet in Rakudo.
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:06 doublec_ left
moritz masak: if you open it with pipes, you have to wait for it 10:07
masak oh
that explains it 10:08
how do I wait for it?
DrForr . o ( Anticip... )
masak moritz: I read docs.perl6.org/type/Proc but didn't get the sense that &run is sync/async based on whether it has pipes.
moritz: is that documented somewhere?
10:09 kjs_ joined
moritz masak: I don't think so 10:09
masak: when you open with :out, you usually exhaust the .out handle
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 :)
the added async semantics took me by surprise
(not saying it's wrong, mind -- just surprising) 10:11
moritz jnthn: though that's not actually sufficient, I think
jnthn Well, it's still sync in so far as .clone blocks
.close even
moritz jnthn: 'cause a program can .close its STDOUT without exiting yet, no?
10:11 rurban joined
masak right -- I want it to run to completion 10:12
so I did .slurp-rest, like in the documentation
jnthn mortiz: afaik, .close does actually block until process exit
'cus the exit code comes back via that path
10:13 zakharyas left 10:14 dayangkun_ left
moritz jnthn: ah, good 10:15
jnthn masak: Proc::Async lets you just tap the out supply and discard it, fwiw. 10:16
May work out cleaner
masak oki 10:17
10:17 doublec left
masak what I want is really something synchronous 10:17
in this case, I'm only interested in the exit code 10:18
I just want to silence/redirect the output so it doesn't clutter up my script's output
masak tries using &shell instead 10:19
10:19 doublec joined 10:21 TEttinger left
masak yes, &shell works fine :) 10:23
10:25 doublec_ joined 10:26 doublec left 10:30 doublec joined 10:31 doublec_ left 10:35 Ven left 10:37 zakharyas joined
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 10:50 snarkyboojum joined
|Tux| Weird, I don't see my grades from this side. Did enyone see my earlier posted today-speeds? 10:51
It is a bit up compared to yesterday:
test 50000 22.156 22.046
test-t 50000 20.037 19.927
csv-parser 50000 27.482 27.372
10:58 xpen left 11:02 xpen joined, rindolf left 11:08 rindolf joined 11:16 perln00b joined
Zoffix reads the backlog... 11:31
How is "spit" not worse than "spurt"?
People are weird.
Unless "spurt" is a euphemism someplace. 11:32
Mojolicious also calls it spurt. And Mojo::CSV
masak wait, we're changing "spurt"? :( 11:34
Zoffix are we?
masak we're not? phew.
Zoffix [23:13:46] <quietfanatic> twitter.com/dadgumjames/status/668...4685376512 twitter.com/dadgumjames/status/668...7790566400 11:35
masak "spurt" is basically the perfect opposite of "slurp" that took us years to stumble on.
Zoffix Indeed, it is.
stmuk . o O ( what about "spokesbug" )
Zoffix hm? 11:36
masak "load"/"save" would be good options if we prefered boring to colorful/memorable.
jdv79 its far less cray than slurp-rest 11:37
*crazy
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
stmuk zoffix: it was changed to plucky
Zoffix load/save are inappropriate IMO. I'm not "loading" a file. I'm slurping its contents.
Oh 11:38
lizmat indeed, if anything, I think "load" is an alternative to "require"
jdv79 are there any good docs on the categories stuff (protoregexes and rule and method names with colonpairs,etc...)?
Zoffix more than a month ago. I'm living under a rock :P 11:39
11:39 snarkyboojum left
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:39
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:40
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
huf_ there are plenty of naughty words like this in perfectly normal conversation
"thrust"
masak somewhere out there, there's a tribe who has "pluck" meaning something horribly nasty :P
Zoffix looks it up in the dictionary
masak, but English aren't a "tribe someplace" :)
masak Zoffix: sure it is. 11:42
11:42 n0xff left
huf_ it's many tribes in many places 11:42
masak lunch &
stmuk the English are vulgar and would just snigger at "spunky" and think it was done on purpose
11:42 azawawi left
Zoffix gfldex, you typoed the example for /IO, it still says "print" instead of "put" 11:43
Never mind, I got it. 11:46
dalek c: d75ca9b | (Wenzel P. P. Peppmeyer)++ | doc/Type/Mu.pod:
add Mu.put
c: f3fdcd5 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Mu.pod:
add printable newline to example output
c: e25f9a1 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Mu.pod:
indent example for Mu.put properly
c: f416f57 | (Wenzel P. P. Peppmeyer)++ | doc/Type/IO.pod:
add sub IO::say
11:47
c: 55aeb02 | (Wenzel P. P. Peppmeyer)++ | doc/Type/IO.pod:
add sub IO::put
c: 488dd28 | (Wenzel P. P. Peppmeyer)++ | /:
Merge branch 'master' of github.com/gfldex/doc
c: 92016ef | (Zoffix Znet)++ | doc/Type/ (2 files):
Merge pull request #212 from gfldex/master

add Mu.put and IO::put, add some printable newlines
c: 26c6eeb | (Zoffix Znet)++ | doc/Type/IO.pod:
Fix typo in code example
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
gfldex perl6 htmlify.p6 seams not in a hurry 11:49
Zoffix Yeah, it's slow as molases.
gfldex Zoffix: you will have to deal with the collision then :)
Zoffix gfldex, just undo your fix and type git pull --rebase
:)
stmuk gfldex: its faster with Inline::Python 11:50
11:55 zacts left 11:58 [Sno] joined 12:00 xpen left 12:01 sno left 12:02 zakharyas1 joined 12:04 zakharyas left 12:12 llfourn left 12:26 CIAvash left
stmuk 4 12:36
oops
DrForr ww? 12:37
masak stmuk: if you're still on Perl 4, I strongly advise you to upgrade.
:P
jonas2 :-!
12:37 brrt joined
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!␤»
masak o.O 12:38
jnthn m: say "Code that runs in Perl 5 and Perl 6 is Perl { 5 ~& 6 } code!"
camelia rakudo-moar : OUTPUT«Code that runs in Perl 5 and Perl 6 is Perl 4 code!␤»
masak m: say "Code that runs in Perl 5 and Perl 6 is Perl { 5 ~ 6 } code!"
camelia rakudo-moar : OUTPUT«Code that runs in Perl 5 and Perl 6 is Perl 56 code!␤»
jnthn Wow, it works bitwising it too :)
Uh, string bitwise
masak m: say "Code that runs in Perl 5 and Perl 6 is Perl { 5 ?& 6 } code!"
camelia rakudo-moar : OUTPUT«Code that runs in Perl 5 and Perl 6 is Perl True code!␤»
masak :P
jnthn wonders why he shoulda expected that...
hah :D
masak jnthn: because ord(0) is 48 == 0x30
jnthn: so the ~&-ing happens only in the lowest hexdigit 12:39
jnthn aha! 12:40
Cute :)
12:43 kid51 joined 12:44 brrt left
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
ord("A") is 65 == 0x41. ord("a") is 97 == 0x61
jnthn Ah, thus the bit-fiddling trick to uppercase :) 12:46
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␤»
stmuk hahaha perl4++
lizmat jnthn: ^^^ ? 12:48
stmuk . o O ( require 'cgi-lib.pl')
12:48 kid51 left
stmuk oh noes the website is still up! 12:49
jnthn lizmat: Yes
lizmat ok, just checking :-)
looking at optimizing List.STORE, because it is so very slow atm
jnthn lizmat: Or at least, it's doing what I think STORE is meant to do :)
12:50 rindolf left
lizmat m: for ^100000 { my ($a,$b) = (42,666) }; say now - INIT now 12:50
camelia rakudo-moar : OUTPUT«2.068890␤»
jnthn Is it actually very slow, or is non-list assignment jsut very cheap?
Yeah, OK, that's rather slow
lizmat m: for ^100000 { my $a = 42; my $b =,666 }; say now - INIT now
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⏏05666 }; say now - INIT now␤»
lizmat m: for ^100000 { my $a = 42; my $b = 666 }; say now - INIT now
camelia rakudo-moar : OUTPUT«0.05450443␤»
12:50 krakan left
lizmat m: say 2.069 / 0.055 12:51
camelia rakudo-moar : OUTPUT«37.618182␤»
jnthn Yeah. A factor of 10 wouldn't be so terrible, but 40 is a bit high :)
lizmat yeah :-)
12:51 Skarsnik joined
dalek osystem: 6c36ba2 | (Pierre VIGIER)++ | META.list:
Add HTTP::Signature

See github.com/pierre-vigier/Perl6-HTTP-Signature
12:55
osystem: d8cf11a | RabidGravy++ | META.list:
Merge pull request #96 from pierre-vigier/master

Add HTTP::Signature
12:58 sufrostico joined
jnthn m: say 6.67 / 100000 12:59
camelia rakudo-moar : OUTPUT«0.0000667␤»
13:01 Ven joined 13:03 ab6tract left
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»
gfldex why does print add that single WS? 13:07
timotimo print doesn't, Str does, i expect
lizmat gfldex: because (3,4) stringifies that way
m: dd (3,4).Str
camelia rakudo-moar : OUTPUT«Str $var = "3 4"␤»
ilmari m: dd [1,2].Str 13:08
camelia rakudo-moar : OUTPUT«Str $var = "1 2"␤»
13:09 skids joined
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»
gfldex so List .Str with WS and Array does not 13:11
13:15 Upasaka left 13:16 perlawhirl joined
dalek href="https://modules.perl6.org:">modules.perl6.org: 8dd48ba | (Zoffix Znet)++ | web/lib-db-builder/P6Project/Info.pm:
Normalize [email@hidden.address] URLs too
13:17
osystem: 983abd8 | (Zoffix Znet)++ | server/updatelist.pl:
Normalize [email@hidden.address] URLs too
13:18
13:19 Upasaka joined 13:22 jonas2 left 13:26 kaare_ joined
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»
gfldex is the difference between print and .print intentional?
masak lizmat: irclog.perlgeek.de/perl6/2015-11-24#i_11591075 is in line with my expectations. 13:28
lizmat masak: ok, :-)
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.
lizmat: and in that case, I'd expect spillover variables to be "unset"
that semantics is much clearer than (say) retaining the old value. 13:29
DrForr *whoof*. Three talks submitted for OSCON. Now the fun (and waiting) begins. 13:30
timotimo three? wow.
13:30 ely-se joined
masak DrForr++ 13:31
DrForr: does any of them have any connection to Perl 6?
DrForr All three.
masak whoa
masak boggles
DrForr Yeah. Should be interesting. 13:32
timotimo so here's a thought: the NFA optimizer has a deduplicator that uses an O(n^2) algorithm 13:33
nested loops
it could very well be that that's what's taking all the time. i'll measure
stmuk DrForr: good luck!
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.
masak cool
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»
timotimo DrForr: you da man! 13:37
DrForr *bows* 13:39
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:41
El_Che DrForr: kudos. Great timing so close to christmas 13:42
moritz timotimo: could the deduplication be done with a hash table instead? 13:43
13:43 FROGGS left
timotimo that was my thought. perhaps. 13:44
i didn't try to change the code yet ... or look closely enough
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:45
timotimo \o/ 13:46
gfldex m: my $list = (1,2,3); $list.print; put; $list.Str.print;
camelia rakudo-moar : OUTPUT«123␤1 2 3»
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:47
13:47 perln00b left
timotimo gist.github.com/timo/39c37b65287312574e9a - who's good with graphing stuff and correlation and such? 13:48
especially the scientific notation makes it very hard to see 13:50
and soooo many digits
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
13:54 s_kilk joined
skids $=pod seems too ephemeral to pull that off from a module. 13:55
El_Che DrForr: we can celebrate the acceptance at fosdem :) 13:57
you could do an acceptance speech :P
DrForr Oh, god. I might not *survive* that. 13:58
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%)
that looks like something's really gone quadratic/cubic there
optimize from 943 to 312 size took 0.00437045097351074; 0.00363016128540039 was remapping (83.0614805520703%) 14:00
optimize from 836 to 416 size took 0.00425529479980469; 0.00348448753356934 was remapping (81.8859255939041%)
out of those that have no scientific notation at the end, it seems like the remapping percentage is very high
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>…»
masak I'm confused by this error message. 14:05
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.
(a) should the above be legal, rather than an error?
jnthn It looks like an error while producing an error...
masak yeah... 14:06
lizmat m: role R { has $.x }; class S does R { has $.x }; S.new
camelia rakudo-moar : OUTPUT«===SORRY!===␤Attribute '$!x' already exists in the class 'S', but a role also wishes to compose it␤»
lizmat looks like in the auto-punning of the role ?
jnthn Maybe
sergot m: role R { has $.x }; role S does R { method set-x($!x) {} }; S.new.x(1);
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…»
timotimo nqp-m: my int $foo = 10 if 0; say($foo);
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…»
timotimo nqp-m: my int $foo := 10 if 0; say($foo);
camelia nqp-moarvm: OUTPUT«0␤»
timotimo nice, that works.
masak sergot: that one is fine, though.
sergot ok 14:07
jnthn I can't look now, I'm trying to untangle supplies...
masak sergot: in the sense that $!x attributes are *only* visible in the class/role block they were declared.
jnthn: that's OK.
jnthn: should I rakudobug it?
sergot masak: right
jnthn masak: Pretty sure the collisoins not found while trying to do error reporting is in there, but can be good to check
lizmat masak: the error seems familiar, wouldn't be surprised if there is a ticket for it already
masak submits rakudobug
gfldex in io_operators.pm 14:08
sorry :-/
14:09 llfourn joined
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
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>…»
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
timotimo github.com/perl6/nqp/blob/master/s...A.nqp#L939 <- moritz 14:12
gfldex that may explain the difference in
m: my $list = (1,2,3); print $list; put; $list.print;
camelia rakudo-moar : OUTPUT«1 2 3␤123»
timotimo oh!
we're allowed to say "put;" without getting an error!
m: say;
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…»
timotimo m: put;
camelia rakudo-moar : OUTPUT«␤»
gfldex what is confusing btw :)
mspo m: say "put;" 14:13
camelia rakudo-moar : OUTPUT«put;␤»
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…»
timotimo m: put put "put";
camelia rakudo-moar : OUTPUT«put␤True␤»
timotimo m: put put put put
camelia rakudo-moar : OUTPUT«␤True␤True␤True␤»
14:14 llfourn left
gfldex so put is True-1? 14:15
timotimo but True - 1 is False?
14:15 AlexDaniel joined
timotimo well, it's 0 14:15
AlexDaniel .u  
yoleaux U+2008 PUNCTUATION SPACE [Zs] ( )
moritz timotimo: yes, looks tricky
AlexDaniel .u
yoleaux Search for a Unicode character by codepoint, name, or raw character
timotimo moritz: a hash table could serve as a pre-filter somehow perhaps? 14:16
but i'm not sure :| 14:17
14:17 sufrostico left 14:18 skids left
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
timotimo: problem that it would need to be updated on each nqp::splice call
timotimo yeah, ugh. 14:20
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
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?
its impossible to read on a phone 14:22
i tap in a benign spot on the page and it refocuses 14:23
web 2.0--
timotimo ugh that's pretty bad
jdv79 i will now do something else entirely cause i cant get the kbd to go away 14:24
timotimo ugh 14:25
gfldex one of the javascript files reads: "autoFocus: true" 14:26
14:26 s_kilk left
moritz since it's a small convenience for some, and a large inconvenience for others, we should probably switch that off 14:27
14:27 kjs_ left
dalek c: 0dbd4b4 | (Wenzel P. P. Peppmeyer)++ | doc/Type/IO.pod:
extend IO::print example
14:28
doc: 7ef63fa | (Wenzel P. P. Peppmeyer)++ | doc/Type/IO.pod:
doc: fix example for IO::put
14:28 dalek left 14:29 dalek joined, ChanServ sets mode: +v dalek
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
like, i could imagine "spit"-ing little bits into a file 14:30
14:34 rindolf joined
AlexDaniel
.oO( “barf”? What the?? )
14:36
14:38 xpen joined
dalek kudo/nom: e1a0219 | lizmat++ | src/core/List.pm:
Make my ($a,$b) = 42,666; a little bit faster

Instead of being 34 times slower than the equivalent my $a = 42; my $b = 666, it is now only 28 times slower.
14:39
Ven *g* lizmat++ 14:43
maybe that can be desugared into the second form at some point, though?
14:43 ely-se left
pink_mist my Num $beast = 666; #? 14:43
AlexDaniel m: sub foo ($z (Int $y)) { }; foo(42(25));
camelia rakudo-moar : OUTPUT«Cannot find method 'CALL-ME'␤ in block <unit> at /tmp/dRDlWNoAEK:1␤␤»
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
AlexDaniel not sure if that is awesome enough, but what is this: 14:46
m: sub foo ($z ($y)) { }
camelia ( no output )
AlexDaniel m: sub foo ($z ($y)) { }; foo(25);
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 14:49 Ven is now known as Guest9025
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 tokuhiro_ left, pmurias joined
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␤␤»
AlexDaniel m: sub foo ($z ($y ($x ($a ($b))))) { }
camelia ( no output )
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␤␤»
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…»
arnsholt m: sub f($x ($y)) { say $x, $y }; f(:a(1)) # Maybe?
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␤␤»
arnsholt Huh, nope
AlexDaniel m: sub foo ($z ($y)) { say $z; say $y; }; foo([25]) 14:56
camelia rakudo-moar : OUTPUT«[25]␤25␤»
AlexDaniel alright 14:57
m: sub foo ($z ($y ($x))) { say $z; say $y; say $x }; foo([[25], ]);
camelia rakudo-moar : OUTPUT«[[25]]␤[25]␤25␤»
Skarsnik Hello, how I can inspect the 'namespace' of a module to find defined type for example? 14:59
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
moritz m: class A { class B { } }; say A::.keys 15:04
camelia rakudo-moar : OUTPUT«(B)␤»
moritz Skarsnik: ^^ that's how you find our-scoped things
Skarsnik Should I check in UNIT::EXPORT::FOO maybe? 15:05
but thx :)
moritz Skarsnik: depends on what you're looking for
15:07 kjs_ left
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
jnthn: does it seems sane?
15:08 Guest9025 left 15:09 kjs_ joined
Skarsnik moritz, I try to find types/class exported by a modules that bind a C lib. 15:09
15:09 kjs_ left
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:09
Skarsnik ok 15:14
found it x) perl6 -I ../perl6-gumbo/lib/ -e 'use Gumbo::Binding;say Gumbo::Binding::EXPORT::DEFAULT::.perl'
jnthn pmurias: Given it's dynamically scoped, nearly anything could end up being run inside a gather/take 15:15
15:16 Ven_ joined 15:18 CIAvash joined
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:18
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.
pmurias jnthn: so a sub would be either called as foo.$call or foo.$callCPS
DrForr We're so close to LPW that I really don't mind not doing a social, but it'd be nice. 15:20
15:20 z8 joined
pmurias jnthn: I haven't really figured out a way to implement coroutines without paying a hefty performance cost for them 15:21
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
15:22 sufrostico joined
jnthn It thrown, or if there's a handler? 15:22
*If 15:25
mrf DrForr: I wouldn't mind teh excuse to drink beer :D 15:26
DrForr You need an *excuse*?
15:28 ab6tract left 15:29 z8 left
pmurias jnthn: when there is a handle 15:32
* handler
jnthn In what scope? 15:33
The function itself?
If so, could you compile a wrapper with handler + state, and a function with the code body?
(An inner one...)
15:34 Ven_ left
pmurias jnthn: I'm not fully sure 15:34
jnthn: I think it disables optimalizations in all the scopes that contain catch/try 15:35
15:36 Sgeo_ left 15:41 molaf joined 15:42 sufrosti1o joined, Ven_ joined 15:43 sufrostico left 15:44 sufrostico joined
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:46
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?
zengargoylew you can't use space to page
or / to search in page yourself. 15:48
nine So you need to press <tab> once before being able to use space or /
zengargoylew worse, if you scroll with the mouse first, then hit space or PgUp it takes you to the top.
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
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, perlawhirl left
ZoffixW zengargoyle, "i thought we fixed the doc".... it is fixed. What is the issue? 15:50
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.
zengargoylew think it might be a mobile thing...
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
15:52 tokuhiro_ joined
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.
ZoffixW nine, why is it broken javascript?
DrForr Same here, it breaks up/down arrows.
ZoffixW DrForr, but it doesn't
DrForr I just meant the autofocus. 15:55
ZoffixW We specifically addressed that.
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.
DrForr Not the site specifically, I was talking in general...
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
nine, what phone/browser is that? Doesn't happen on mine.
jdv79 happens on andriod chrome for me 15:57
ZoffixW Tried both Chrome and Opera here
on Android. Though I use "Hacker's Keyboard" instead of the default one.
AlexDaniel m: say "hello\vworld";
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 tokuhiro_ left
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
ZoffixW: Firefox on Android
jdv79 its a webpage. i'm using a real browser. it should just work ^H.
AlexDaniel m: say "hello\bworld"; 15:59
camelia rakudo-moar : OUTPUT«helloworld␤»
AlexDaniel m: say "hello\aworld";
camelia rakudo-moar : OUTPUT«helloworld␤»
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.
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
jdv79 i do not understand you're stance 16:00
*your 16:01
16:03 zakharyas joined 16:04 zakharyas1 left
dalek c: 9e567b0 | (Zoffix Znet)++ | / (2 files):
Use HTML5 instead of JS to autofocus on search box
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.
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)
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
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
AlexDaniel perhaps bloat is 16:09
Skarsnik hm, how I can redefine say already? I try have it be silent when setting a variable.
m: my $sil = False; sub say(|) {.say unless $sil}; say "piko"
camelia rakudo-moar : OUTPUT«(Any)␤»
16:09 sufrosti1o left
ZoffixW AlexDaniel, which bloat? 16:09
AlexDaniel ZoffixW: js one, I guess 16:10
16:10 sufrostico left
ZoffixW AlexDaniel, that table is half a meg of markup 16:10
16:10 khw joined
ZoffixW And only 227KB of script. 16:10
moritz fwiw with firefox on mobile, I can close the keyboard 16:11
but it's still annoying that it pops up on every page
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
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.
(at least before the above commit)
16:12 japhb_ is now known as japhb
AlexDaniel ZoffixW: by the way, what all these js files are doing besides making the thing sortable? 16:12
16:13 domidumont left, rindolf left
AlexDaniel and searchable 16:13
ZoffixW nine, will autofocus attribute do anything for an element dynamically injected with JS? 16:14
I guess I could just test. This site doesn't require static file generation...
16:15 xpen left
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
(and to do it relatively efficiently)
turns out it is: gist.github.com/masak/38d295b2525c073ec352
ZoffixW sweet 16:16
16:16 loren joined
masak I didn't consider any cases where the operands are negative 16:16
but that's easy to add onto what's already there
16:17 Begi11116 joined, xpen joined
ZoffixW AlexDaniel, thanks for noticing: 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.
masak n0tjack: sub params are totally lexical. 16:19
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:19 dwarring left
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
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…
masak n0tjack: to me it has been a good idea that ended up in happiness :>
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.
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
masak n0tjack: that's... missing out :/ and opinions may differ, but I don't consider "lexical" to mean "local only"
ZoffixW 10KB non gzipped that is
16:22 Ven_ left 16:23 dwarring joined
n0tjack masak: It does tend to decrease the risk of spooky-action-at-a-distance 16:23
That's the trouble "shadow locals" (as we called them) were notorious for in the APL world
though I imagine that could be mitigated by read-only-ness. 16:24
16:24 Begi11117 joined 16:27 Begi11116 left
dalek href="https://modules.perl6.org:">modules.perl6.org: 9d1dffd | (Zoffix Znet)++ | web/public/js/main.js:
Do not autofocus search box on mobile
16:27
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
yoleaux lizmat: I'll pass your message to nine.
16:31 n0tjack left
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
And that's why we'll soon won't have the entire ecosystem on one page.
16:32 rindolf joined
flussence that JS is just for the sort buttons right? 16:33
AlexDaniel ZoffixW: well, when the page is loading, nothing is sorted…
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?
ZoffixW AlexDaniel, what do you mean "lag while loading"? Lag where?
AlexDaniel ZoffixW: yeah, that works, I'm ok with that. It is just something to consider next time, perhaps
16:35 thowe left
ZoffixW flussence, and search too. See also github.com/perl6/modules.perl6.org/issues/38 16:35
16:35 ely-se left
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.
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.
Google's page speed gives us a rating of 68/100 ATM IIRC 16:36
16:36 xpen left
ZoffixW I get "3.67s (onload: 4.51s)" Firebug metrics on my box 16:36
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)
10.96s (onload: 12.28s) with JS
AlexDaniel hmm
ZoffixW But I don't get any lag while it's loading
flussence probably depends on the browser 16:39
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
flussence hm, then I dunno
RabidGravy "Stage parse : 1806.386" -> speccial 16:41
flussence ouch.
flussence has flashbacks to r-p
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 8948b6c | (Zoffix Znet)++ | web/lib/ModulesPerl6 (2 files):
Add route to display total number of modules in DB without a need for parsing and loading large main page
href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 17546f5 | (Zoffix Znet)++ | web/site-tips.txt:
Add /total route to Site Tips
href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 8dd48ba | (Zoffix Znet)++ | web/lib-db-builder/P6Project/Info.pm:
Normalize [email@hidden.address] URLs too
href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 9d1dffd | (Zoffix Znet)++ | web/public/js/main.js:
Do not autofocus search box on mobile
href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 97451fc | (Zoffix Znet)++ | / (5 files):
Merge branch 'master' into new-db-builder
ZoffixW :/ 16:42
arnsholt RabidGravy: Did you suspend your laptop in the middle of the compile, perhaps? 16:44
RabidGravy nah, Raspberry Pi rev B :)
ZoffixW BTW,,, RabidGravy++ Test::Meta module is great. 16:45
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"
ZoffixW Gonna add it to my Test::Kwalitee that will eventually calculate dist Kwalitee on modules.perl6.org.... or Test::Koalitee / Koalitee :P
RabidGravy :)
16:46 Begi11117 is now known as Begi
ZoffixW gfldex, thanks 16:47
RabidGravy I probably need to add some more of the "customary" fields to META6 at some point
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
ZoffixW gfldex, well, I'm not surprised. The table plugin parses the table for sorting/search index.
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" :)
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:53 zakharyas left
ZoffixW gfldex, I see 80% of the time spent in bootstrap.js 16:54
gfldex, and that Issue is already recorded: github.com/perl6/modules.perl6.org/issues/38
ATM I don't think we need *any* of bootstrap.js
dalek kudo/nom: 866e2f1 | lizmat++ | src/core/ (5 files):
Make List/Array/Hash/Pair.gist about 20% faster
16:54 cdg joined
hoelzro o/ #perl6 16:55
ZoffixW \o
lizmat hoelzro o/
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 69fc2fd | (Zoffix Znet)++ | / (2 files):
Test document /total route to get back to 100% test/pod coverage of ::Root controller
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.
flussence
.oO( I wish browsers would just implement html5 sortable tables already... )
16:56
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. )
ZoffixW I wish browsers would just read my mind
Like this dude: t2.gstatic.com/images?q=tbn:ANd9GcQ...GDFmZp_zWQ
Would be interesting to wear that gear to do $work stuff :P 16:58
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 048a0ca | (Zoffix Znet)++ | t/01-models/01-build-stats.t:
Increase ::BuildStats model test coverage to 100%
17:01
17:03 pmurias left
ZoffixW We might be including jQuery twice too :o 17:08
17:08 n0tjack joined
hoelzro o/ lizmat 17:08
moritz ZoffixW: jjQuery :-) 17:09
ZoffixW :D
17:14 hankache joined
dalek href="https://modules.perl6.org:">modules.perl6.org: 3b9ff6c | (Zoffix Znet)++ | web/ (2 files):
Toss Bootstrap3 JS files that we do not need (Closes #38)
17:22
17:22 rurban left
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
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 3b9ff6c | (Zoffix Znet)++ | web/ (2 files):
Toss Bootstrap3 JS files that we do not need (Closes #38)
17:26
href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 637f704 | (Zoffix Znet)++ | / (2 files):
Merge branch 'master' into new-db-builder
17:29 telex left 17:30 ZoffixW left, loren left, telex joined 17:31 autarch left 17:33 autarch joined 17:36 kjs_ joined, vendethiel joined
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 08ca5e9 | (Zoffix Znet)++ | lib/DbBuilder.pm:
Do not toss existing logotypes

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
17:43 kjs_ left 17:44 dakkar left 17:46 diana_olhovik joined, lucasb joined 17:53 yasu joined 17:54 abraxxa left 17:56 muraiki_ joined 17:57 yasu left 17:58 diana_olhovik left
hankache evening everyone 17:58
17:58 muraiki left, muraiki_ left 17:59 muraiki joined
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 5661448 | (Zoffix Znet)++ | / (2 files):
Gracefully handle case where no logotypes are present in DB
17:59
18:05 zacts joined
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 4daf387 | (Zoffix Znet)++ | lib/DbBuilder.pm:
Update build stats at build end
18:10
lucasb oh hai 18:12
moritz }o{ lucasb 18:13
lucasb can't .head and .tail default to 1 instead of needing a explicit argument?
moritz: o/
uruwi ^ 18:14
hankache o/
18:16 rindolf left
uruwi But can't you do @stuff[0] or @stuff[*-1] respectively? 18:16
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: b03495a | (Zoffix Znet)++ | lib/DbBuilder.pm:
Refactor so we only instantiate our models once
18:17
lucasb uruwi: well, it would be just for convenience, but I agree it's a minor thing 18:19
uruwi ^ 18:20
18:20 xfix joined
zengargoylew more useful when it's @stuff.tail(10).head(2) 18:23
18:23 kjs_ joined 18:26 Actualeyes left 18:27 thundergnat joined
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. rosettacode.org/wiki/Zeckendorf_ari...tic#Perl_6 18:30
18:33 haircode_ joined
n0tjack what's the syntax for asking for the shape of a shaped array? 18:35
if I say my @a[7;5;2] = ... ; how can I get 7 5 2 back?
18:38 zakharyas joined, bass left
psch m: my @a[7;5;2]; say @a.shape 18:39
camelia rakudo-moar : OUTPUT«(7 5 2)␤»
n0tjack well played, perl6 18:40
thanks psch++
psch didn't actually know that and just tried it.
n0tjack m: my @a[7;5;2]; say @a.rank;
camelia rakudo-moar : OUTPUT«Method 'rank' not found for invocant of class 'Array'␤ in block <unit> at /tmp/MPNiaJdS2i:1␤␤»
n0tjack aww.
m: my @a[7;5;2]; say +@a.shape; 18:41
camelia rakudo-moar : OUTPUT«3␤»
n0tjack good enough
18:41 ZoffixW joined
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␤␤»
hankache no luck
n0tjack I guess an explicit rank function is not required in a language that distinguishes scalar vs array contexts 18:42
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␤»
n0tjack I guess floor 2.rand .. but seems messy.
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.
camelia rakudo-moar : OUTPUT«0␤»
dwarring m: say [0,1].pick for 1..10
camelia rakudo-moar : OUTPUT«0␤1␤1␤1␤0␤0␤1␤1␤1␤1␤»
dwarring m: say [0,1].pick for 1..10
camelia rakudo-moar : OUTPUT«0␤1␤0␤0␤1␤1␤0␤1␤0␤0␤»
18:45 yqt joined
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 modules.perl6.org/#sort-col=3&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
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 (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
dwarring nine: not a big deal, have refactored
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:47
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:49
uruwi floor(2.rand) is your best bet 18:50
Or 2.rand.floor
zengargoylew m: my $what = 2; my $many = 10; say (^$what).pick($many); 18:51
camelia rakudo-moar : OUTPUT«(0 1)␤»
zengargoylew m: my $what = 2; my $many = 10; say (^$what).roll($many);
camelia rakudo-moar : OUTPUT«(1 0 1 1 0 0 1 1 1 0)␤»
n0tjack uruwi: yeah that's what I figured, just seems a tad expensive 18:52
uruwi Wrap it in a sub
n0tjack uruwi: to promote to double only to demote to int a second later
uruwi Creating a new range object seems a tad expensive too
Until Perl 6 has an irand method, using floor seems to be the best bet 18:53
18:53 zacts left
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?
zengargoylew uruwi: well volunteered! 18:55
18:56 ggoebel6 left, domidumont joined
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:56
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 espadrine left
n0tjack uruwi: yeah, that's where I landed too. But I appreciate your .roll(many) example, I needed that as well; 18:57
uruwi n0tjack pastebin.com/BEt4CFSL 18:59
n0tjack uruwi: huh, surprising 19:02
19:02 lucasb left
n0tjack you're right that setting up a Range is more expensive than the .floor 19:02
19:06 hankache left 19:07 bass joined
zengargoylew uruwi: we have a nifty Bench module: git://github.com/tony-o/perl6-bench.git 19:07
[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.
[Sno] .tell moritz please try it and merge so I can update the Yocto package for 2015.11 ...
yoleaux [Sno]: I'll pass your message to moritz.
uruwi Thank you zengar
[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.
[Sno] will the versioning schema remain? 19:12
19:13 abaugher left, spider-mario joined, abaugher joined 19:17 kjs_ left, kaare_ left 19:19 zakharyas left
dalek Iish: 6f1fb8f | (Sylvain Colinet)++ | / (3 files):
Move fetchrow_typedhash in the base role
19:20
Iish: 3d328c6 | (Zoffix Znet)++ | / (3 files):
Merge pull request #30 from Skarsnik/master

Move fetchrow_typedhash in the base role
19:21 kaare_ joined
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.
ab5tract just got back from a beer with BooK++
i went to demonstrate the "object hash", but couldn't remember nor find the syntax 19:23
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;
camelia rakudo-moar : OUTPUT«Hash[Any,Int] $var = (my Any %{Int} = 1 => 2)␤Hash $var = {"1" => 2}␤»
19:28 raiph left 19:29 raiph joined, kaare_ left 19:30 kaare_ joined 19:32 n0tjack left 19:33 ollej_ joined 19:37 n0tjack joined 19:38 CIAvash left
ab5tract o/ flussence 19:39
sorry for not getting back to this variant of my name since September! I've quite forgotten what we were talking about
flussence me too :D 19:40
ab5tract I'll check the logs when I get a chance :)
19:40 zakharyas joined
flussence whatever it was, if I can't remember it it's probably not all that urgent :) 19:40
19:40 bass left
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} = " ␤»
ab5tract m: my $color = "green"; my %h; %h{$color} = " is the choice"; say "$color%h{$color}" if $color === %h.keys[0]
camelia rakudo-moar : OUTPUT«green is the choice␤»
ab5tract that is too cool
ab5tract attempts rudimentary summoning spell in the direction of BooK 19:43
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
afk for now. dinner!
uruwi nomnomom
19:44 zengargoylew left
dalek kudo/curli: 632436a | (Stefan Seifert)++ | src/core/CompUnit.pm:
Fixup "Rename CompUnit.name to short-name"

  .^name really should stay .^name
19:44
kudo/curli: 8af2c6c | (Stefan Seifert)++ | src/core/CompUnit/Repository/FileSystem.pm:
Fixup "Use IO::Path for all paths in CompUnit handling"

CompUnit::Repository::FileSystem::load could have used some testing.
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
ab5tract (filter being completely optional, of course)
nine lizmat: but but but how? 19:50
dalek kudo/nom: 9345857 | jnthn++ | src/core/ThreadPoolScheduler.pm:
Fix thinko in scheduler that swallowed exceptions.

Deals with a bunch of silent failures that made debugging harder.
19:51
ast: a96334c | jnthn++ | S17-supply/interval.t:
Add test for RT #125621.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125621
19:53 zakharyas left
jferrero m: say "Hello from Madrid Perl Monguers!" 19:53
camelia rakudo-moar : OUTPUT«Hello from Madrid Perl Monguers!␤»
dalek ast/curli: b727ecc | jdv79++ | S17-supply/lines.t:
Add specific test for chunked CRLF. See 97b93c3.
19:54
ast/curli: ea09e0b | (Stefan Seifert)++ | S17-supply/lines.t:
Merge branch 'master' into curli
ast/curli: a9db4b3 | (Stefan Seifert)++ | / (5 files):
Adapt more tests to new CompUnit::Repository world
ast/curli: 0e39a19 | (Stefan Seifert)++ | S11-compunit/compunit-repository.t:
Update CompUnit::Repository tests for new required methods
jnthn m: say "Hola! Quiero una cerveza, por favor!" # ;-) 19:55
camelia rakudo-moar : OUTPUT«Hola! Quiero una cerveza, por favor!␤»
n0tjack I'd like a camelia mnemonic like m:, say ms:, which implicitly adds a "say" to the final results.
like ms: 3; would be the same as m: say 3;
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
ZoffixW Actually, what I'd want more is the way perlbot does it... Prints the last return value 19:57
to m: 2+2 would print 4
n0tjack yeah, that's what I'm saying, though probably not clearly.
ZoffixW I guess it's the same as what you're talking about, since say is more magical in P6
n0tjack yes.
I just forget the "say" part constantly adn then feel sheepish for flooding the channel even more than I usually do.
stmuk n0tjack: me too!</aol> 19:58
dalek Heuristic branch merge: pushed 19 commits to rakudo/curli by niner
19:59 bass joined
dalek ast/curli: 42b86ae | (Stefan Seifert)++ | S (2 files):
Prepare for removal of @*INC
20:01
lizmat nine: not sure how
nine: when I revert to a06069b1d7c582f6243 , I get: Attribute '$!value' is not a native int 20:02
in (gen/jvm/BOOTSTRAP.nqp:2027)
in (gen/jvm/BOOTSTRAP.nqp:246)
ZoffixW wait wat?
Removal of @*INC?
I'm using some code that depends on @*INC
nine ZoffixW: gist.github.com/jnthn/47a42b2e86e7e552b2e2 20:03
lizmat: 70ad84ac43d30833f268729453d928c19946b582 may have fixed that one already
ZoffixW Damn. That's a lot of text. 20:04
lizmat nine: a, then my bisect was faulty
20:06 darutoko left
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
nine oh my
lizmat java.lang.NullPointerException 20:09
in (gen/jvm/BOOTSTRAP.nqp:2097)
in (gen/jvm/BOOTSTRAP.nqp:246)
nine Maybe it's about time I find out how to compile rakudo for JVM
psch nine: yes please 20:10
in general i'd like people to at least build it, spectest not required
but yes, HEAD has a NPE too, when trying to assign CompUnitRepo to the EXPORT::DEFAULT WHO 20:11
i think that happened on bool_enum already too, although i don't see a connection
20:14 bass left
stmuk github.com/neovim/neovim has quite a sexy README.md 20:14
nine What was the intention of prefix/share/libraries.json?
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␤␤»
Skarsnik Do you guy/girls use something to preview your README.md?
ZoffixW Skarsnik, I just google for "online markdown editor" and use that... Like dillinger.io/ 20:16
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:19
geekosaur pandoc :p 20:20
20:20 kjs_ joined
jnthn Skarsnik: I stick it in a gist and make the filename x.md :) 20:21
Skarsnik ok thx x) 20:22
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?
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?
jnthn That'll get you a 0 of course :)
Or just nqp::box_I 20:24
psch jnthn: it doesn't on r-j, it gets null for field_0
ah, box_I
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
.candidates was just a generic filter 20:26
nine lizmat: yep, maybe we want that back
mst if you don't provide it, you will get several of them and they'll all be terrible
psch (actually, p6box_i)
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: github.com/tony-o/perl6-pluggable/
mst Module::Pluggbale, Module::FInd, etc.
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
nine ZoffixW, mst: I suspected as much
ZoffixW mst, why is it an antipattern?
mst ZoffixW: because it means tweaking @INC can change the behaviour of a module indirectly 20:28
it's horrific action at a distance
jnthn Good job we killed @*INC :P
Skarsnik could nice to have a way to query installed stuff that does a specific role :)
mst also if you rename something it usually ends up getting loaded twice until you fix that
jdv79 but there's good money is sorting that out when $coworkers can't figure it out:)
its also a pita
mst right, exactly
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)
jnthn nine: Don't see any particular issues with having a method to query all installed things matching some dependency spec.
ZoffixW Yes please \o/
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.
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
jnthn If nothing else because otherwise module installers will also go duplicating it.
20:29 zakharyas joined
nine jnthn: no, just sounds like a bit of extra work to do 20:29
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 domidumont left
mst ZoffixW: right. it's *heinous* to debug 20:31
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
in general, "requires mst to debug" is not something we consider a feature
Skarsnik well DBIis does a require ::("DBDish::$drivername") you can maybe screw it up with creating DBDish::xx modules x)
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
mst a method like that is still worth having
lizmat nine: I didn't look at the code just yet
mst so you can do e.g. 'list available plugins'
you just shouldn't -enable- them via that 20:34
that's the part that becomes a footgun
ZoffixW Fair enough
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
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.
mst but at that point, I'd rather generate the relevant list at 'make dist' time 20:35
timotimo today i got not a single thing done :| 20:37
dalek kudo/nom: c8bc505 | lizmat++ | src/core/Any-iterable-methods.pm:
Implement List.first()

Just gimme the first (or the last with :end)
jdv79 timotimo: welcome to the club
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..."
nine jnthn: sounds like a hell of a lot better than "we're stuck with a bad choice forever"
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: eeb046c | (Zoffix Znet)++ | lib/DbBuilder.pm:
Emit a log message when build is complete successfully
20:39
arnsholt A breaking change would suck, but terrible supplies for eternity would likely suck more, sounds like
jnthn Indeed
jnthn really needs TimToady to discuss naming with
pink_mist jnthn: best to get it over with quickly; rip the bandaid off
jnthn But I made two things the same that really, really have to be different.
dalek kudo/nom: 679e85f | peschwa++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Directly box the things we want to add.

Apparently nqp::create(Int) misbehaves somewhat on R-J. This gets us R-J building again.
20:40
jnthn wonders if anyone actually uses the on meta-combinator in their code...
nine psch: ah, you were faster :) 20:41
psch: I wonder if nqp::box_I(0, Bool) would work, too?
psch nine: maybe, yeah
nine: it depends, though, on where box_i expects the field
like, it doesn't work for IntStr cause in IntStr the Int is in field_2 or something
i don't know how that interacts with the enum-ness of Bool nowadays 20:42
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
lizmat psch nine attempting to build jvm now 20:43
nine psch: seems like box_i(1, Bool) does indeed work
lizmat jnthn: afaik, it's only used internally 20:44
jnthn lizmat: True, though it's exposed
lizmat: So somebody mighta been smart enough to figure out what it offered and use it :) 20:45
lizmat true
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: a4560b3 | (Zoffix Znet)++ | lib/DbBuilder.pm:
Make --limit option actually work and emit useful log messages
nine JVM doesn't have a lockfh :/
jnthn It was my first stab at the thing that became the pretty supply/whenever syntax :)
20:45 skids joined
psch nine: that's neat. 20:47
makes me wonder if we can replace the add_I hack in IntStr with boxing somehow 20:48
20:48 ZoffixW left
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
20:49 [Sno] left
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:49
jdv79 is there a list of ideas people already have for the advent stuff? 20:50
just to try to avoid dup'ing too much
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?
psch jdv79: just PR your date and title to github.com/perl6/mu/blob/master/mi...5/schedule
jdv79: it was "first come, first served" last year, so i guess it's the same this year
lizmat psch nine confirm jvm build on OS X ok 20:52
konobi lo
jnthn masak: A less syntax sugared and less well thought out version of the supply/react/whenever syntax 20:53
20:53 inokenty left
jdv79 oh cool. doc.perl6.org works better now. 20:53
nine lizmat: yeah :) 20:54
20:55 inokenty joined
masak jnthn: oh -- how come we don't deprecate it as quickly as we can? 20:57
20:58 kjs_ left
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
masak: Now I'm re-working supply guts anyway, it's a good time to replace those with supply blocks :) 21:00
masak aha. 21:01
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, kjs_ joined
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?
psch nine: ...but i guess you might be spectesting or something vOv
jnthn arnsholt: As in, REPR protocol? Or? 21:11
arnsholt Yeah, REPR protocol mostly
21:11 kjs_ left
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 ;)
jnthn You compose it with the type (like a normal array) and number of dimensions 21:12
So the number of dimensions is a part of the type (useful for good JIT later one)
*one
psch nine: ah, carry on then :)
jnthn *on
arnsholt Yeah. The MultiDimArray will probably have the bits I need
21:12 [Sno] joined
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
But killing off auto-resizing means wanting a way to declare shapes for CArrays =)
21:14 zengargoyle left 21:15 ZoffixMobile joined
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
21:16 kjs_ joined 21:17 kjs_ left
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
19:09Z <[Sno]> moritz: please try it and merge so I can update the Yocto package for 2015.11 ...
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
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
but that's really minor
21:19 kjs_ joined, rigsby joined
ZoffixMobile k 21:21
21:21 leont joined 21:23 rigsby left 21:24 Hor|zon joined
jdv79 ZoffixMobile: yes. mod looks ok. 21:25
ZoffixMobile \o/
21:33 ZoffixMobile left 21:48 kaare_ left
nine Oh boy compiling for JVM takes like forever 21:48
21:49 geraud left
lizmat nine: yeah :-( 21:51
21:52 rurban joined, inokenty left
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 ???
nine And it throws an error if the directory already exists 21:53
lizmat well, there are many such differences :-(
nine lizmat: pretty sure, yes
21:54 inokenty joined 21:55 geraud joined 21:56 cognominal left
masak 'night, #perl6 21:57
Zoffix night
uruwi Night
lizmat gnight masak
21:58 Zoffix left 21:59 xfix left 22:00 Begi left 22:02 n0tjack left 22:06 n0tjack joined 22:07 n0tjack left 22:10 zakharyas left 22:15 muraiki left 22:16 pecastro_ left, zoosha_ left, zoosha joined, pecastro joined
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 7c5bcab | (Zoffix Znet)++ | / (2 files):
Implement and document app documentation viewing in dev mode at /perldoc/ route
22:17
href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: dab5791 | (Zoffix Znet)++ | lib/ModulesPerl6/Model/Dists.pm:
Fix POD error
22:19
p: 45dba5c | (Stefan Seifert)++ | src/vm/jvm/ (4 files):
nqp::lockfh and nqp::unlockfh for JVM backend
kudo/curli: 72d5041 | (Stefan Seifert)++ | / (5 files):
Remove @*INC obsoleted by $*REPO
22:20
kudo/curli: b09cc6b | (Stefan Seifert)++ | src/core/CompUnit/ (2 files):
Fix compatability with JVM semantics of mkdir
kudo/nom: 4d8a904 | (Stefan Seifert)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Further simplify Bool initialization code
22:21
nine Good night! 22:24
jnthn 'night, nine++ 22:25
lizmat gnight nine++ 22:30
22:34 rleme left 22:37 havenwood left 22:39 havenwood joined 22:44 havenwood left, havenwood joined, havenwood left, havenwood joined
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: a78e86c | (Zoffix Znet)++ | lib/DbBuilder/Dist/Source (2 files):
Fetch logotypes

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
jnthn 'night, #perl6 22:59
lizmat gnight jnthn 23:00
23:01 lucasb joined 23:02 rurban1 joined 23:03 rurban left 23:05 spider-mario left
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:08
23:11 rurban1 left
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:12
23:15 Sgeo joined
lucasb Well, but the core P6 API will be fixed, won't it? That's what I'm talking. 23:16
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.
And I know there are other ways to clear arrays and hashes. It is just a silly example :) 23:17
23:17 eliasr left 23:19 kjs_ left
lucasb m: my @a; undefine(@a); say @a.defined 23:19
camelia rakudo-moar : OUTPUT«True␤»
lucasb In the meantime, undefine() doesn't "undefine" arrays and hashes. 23:20
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.
diakopter___ lucasb: why wouldn't you write a module that adds it, and then use that module always?
23:21 secwang joined 23:24 vendethiel left, vendethiel joined
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:25
diakopter___ but, for whom? for "everybody" or "your customers" or what? :) 23:26
lizmat gnight, #perl6! 23:27
23:27 RabidGravy left
diakopter___ lizmat: good night 23:27
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:28
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:29
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..
Skarsnik: right, I'm asking why you would want that
I'm not saying there can't possibly be a reason, I'm just curious what your reason is 23:31
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?
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 23:35 Oatmeal left
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
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:38
23:41 kid51 joined
dalek kudo-star-daily: 79903ce | coke++ | log/ (2 files):
today (automated commit)
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
dalek rl6-roast-data: 6c3eb46 | coke++ | / (9 files):
today (automated commit)
Skarsnik Good night #perl6 :) 23:45
23:46 Skarsnik left 23:48 Oatmeal joined 23:51 znpy left 23:52 lucasb left