»ö« 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 postfixat /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/mwOeIZTPV8Two terms in a rowat /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/u5jndvXCdwUndeclared 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«NilFoo「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 = 43Any 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/OqVUoPq8B1Preceding context expects a term, but found infix , insteadat /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«1231231 2 3123» | ||
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«1231 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/h6upjWZ7VqAttribute $!x not declared in role Sat /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 3123» | ||
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/5leZnQoJzAUnsupported 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 nounat /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/emGQXyWNVEUnable 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«putTrue» | ||
timotimo | m: put put put put | ||
camelia | rakudo-moar : OUTPUT«TrueTrueTrue» | ||
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/3huKtfe624Shape 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 typeat /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]255» | ||
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/YbhbQ2JQ5jUnrecognized 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«0111001111» | ||
dwarring | m: say [0,1].pick for 1..10 | ||
camelia | rakudo-moar : OUTPUT«0100110100» | ||
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/9pQkxSh396Variable '$color' is not declaredat /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
|