Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-05-12

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

All times shown according to UTC.

Time Nick Message
01:30 astj_ joined #perl6-dev
01:49 ilbot3 joined #perl6-dev
01:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
01:51 geekosaur joined #perl6-dev
02:01 samcv [18:59:48] <samcv> why didn't we bump the subversion for nqp and moarvm again... cause 2017.04.3 requires a newer version of moarvm and nqp, and moarvm and nqp only have tags up to 2017.04.3
02:01 samcv i'm trying to get gentoo's version bumped and trying to see what happened Zoffix so 2017.04.2 and .1 didn't need any changes to nqp and moarvm?
02:02 samcv and then we didn't bump the moarvm and nqp version when 2017.04.3 was released?
05:31 brrt joined #perl6-dev
05:57 lizmat Files=1192, Tests=58579, 210 wallclock secs (12.67 usr  4.60 sys + 1243.96 cusr 115.61 csys = 1376.84 CPU)
06:22 astj joined #perl6-dev
06:29 geekosaur joined #perl6-dev
06:42 brrt joined #perl6-dev
06:55 [TuxCM] joined #perl6-dev
07:04 lizmat joined #perl6-dev
07:06 astj joined #perl6-dev
07:28 * lizmat waves from the PTS in Lyon
07:30 * brrt waves from AMS
08:26 lizmat so I want to add the information contained in nqp/gen/moar/stage1/nqp-config.nqp as part of the perl6 -V output
08:26 lizmat something like:
08:27 lizmat nqp::version=2017.04-96-g9763728
08:29 lizmat so I wonder if I need to require that file, and then run hll_config(my %h)
08:34 Ven joined #perl6-dev
08:37 AlexDaniel joined #perl6-dev
08:46 samcv lizmat, are you against us making tags for nqp and moarvm that match with 2017.04.3 ?
08:47 samcv since the newest tag is not new enough for 2017.04.3
08:47 samcv which was not the case for 2017.04.2 which didn't need any change to moar
08:53 lizmat I have nothing against that, but then I'm really the worst person to ask
08:53 lizmat you probably want to check with moritz [Coke] timotimo
08:54 lizmat ok: different approach
08:54 lizmat I would like to have "perl6 -V" call something from the setting
08:55 lizmat my 'nqp' fu is not strong enough
08:55 lizmat I know I need to do something in nqp/src/HLL/Compiler.nqp
08:55 lizmat inside "verbose_config"
08:55 lizmat but I seem to be missing some crucial parts of information there
08:57 samcv trying to add more info there?
08:57 samcv or have it cause side effects
08:59 lizmat more info: basically nqp / kernel / distro info
08:59 lizmat probably also the $*REPO chain
09:00 lizmat for CPAN-testers
09:00 lizmat so we can get all of the applicable information of a Perl 6 module test report to the author of the module in case of faiulure
09:01 lizmat *failure  :-)
09:02 samcv :)
09:02 samcv all the info I said i wanted ALL the info
09:02 jnthn lizmat: I think there's an nqp::backendconfig op or so that this info can be pulled out of
09:02 samcv i think i've called that before
09:02 samcv but that just dumps them right
09:02 jnthn oh
09:02 jnthn And
09:02 jnthn nqp --show-config
09:02 jnthn perl6 --show-config
09:02 jnthn :)
09:02 samcv she wanted to add info though?
09:02 jnthn Dumps all of them
09:03 samcv or she wanted to *get* that info
09:03 jnthn samcv: The op gives back a hash
09:03 samcv that is shown with perl6 -V from inside perl 6
09:03 samcv yeah i know i've used it :)
09:03 jnthn So you can do what you like with it
09:03 samcv sorry i think i was thinking the opposite thing.  she wanted to add information that you would see additional info with perl6 -V
09:04 * jnthn re-reads it all :)
09:04 jnthn hah, right
09:07 jnthn m: use nqp; say nqp::hllize(nqp::getcomp('nqp').config)
09:07 camelia rakudo-moar a9a161: OUTPUT: «Cannot call method 'config' on a null object␤  in block <unit> at <tmp> line 1␤␤»
09:07 jnthn m: use NQP; use nqp; say nqp::hllize(nqp::getcomp('nqp').config)
09:07 camelia rakudo-moar a9a161: OUTPUT: «===SORRY!===␤Could not find NQP at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-1/share/perl6/site␤    /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-1/share/perl6␤    CompUnit::Reposit…»
09:07 jnthn m: use NQP:from<nqp>; use nqp; say nqp::hllize(nqp::getcomp('nqp').config)
09:07 camelia rakudo-moar a9a161: OUTPUT: «===SORRY!===␤Could not find NQP at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-1/share/perl6/site␤    /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-1/share/perl6␤    CompUnit::Reposit…»
09:07 jnthn Hmm
09:08 jnthn m: use nqp; EVAL '1', :lang<nqp>; say nqp::hllize(nqp::getcomp('nqp').config)
09:08 camelia rakudo-moar a9a161: OUTPUT: «No compiler available for language 'nqp'␤  in block <unit> at <tmp> line 1␤␤»
09:09 jnthn m: use nqp; EVAL '1', :lang<NQP>; say nqp::hllize(nqp::getcomp('nqp').config)
09:09 camelia rakudo-moar a9a161: OUTPUT: «No compiler available for language 'NQP'␤  in block <unit> at <tmp> line 1␤␤»
09:09 jnthn huh, I thought we wired that up, maybe not
09:09 jnthn Anyway, if the NQP::Compiler object can somehow be loaded then it's available through .config on that, it seems
09:16 nine [Tux]: any new timings? :)
09:18 lizmat jnthn: well we would also like to add $*KERNEL and $*DISTRO info
09:19 lizmat or are you saying that's all in there also ?
09:19 lizmat if so, why are we using `uname` in various parts of Kernel.pm
09:20 jnthn It calls uname? Hm :)
09:20 jnthn heh
09:20 jnthn Well, calling that from in Perl6::Compiler should be relatively easy
09:20 jnthn There's a .eval method available on that object
09:21 jnthn So can just self.eval('$*KERNEL') or similar
09:21 jnthn (Sorry, bit tied up to look up exact naming)
09:21 lizmat ok, gotcha
09:21 lizmat so that would load the setting ?
09:22 jnthn Yeah
09:22 jnthn It happens right at the start of stage parse
09:25 robertle joined #perl6-dev
09:35 lizmat m: class A { has Int $.a is default(42) }; dd A.new.a   # expected to see 42 there, not Int, so feels like "is default" on attrs isn't implemented?
09:35 camelia rakudo-moar a9a161: OUTPUT: «Int␤»
09:36 lizmat m: my Int $a is default(42); say $a
09:36 camelia rakudo-moar a9a161: OUTPUT: «42␤»
09:45 lizmat m: class A { has Int $.a is default(42) }; use nqp; dd nqp::getattr(A.CREATE,A,q/$!a/).VAR.default  # oddly enough, it appears to be set
09:45 camelia rakudo-moar a9a161: OUTPUT: «42␤»
09:46 lizmat class A { has Int $!a is default(42); method a() is raw { $!a } }; dd A.CREATE.a   #  but this doesn't  :-(
09:53 japhdc joined #perl6-dev
09:55 robertle joined #perl6-dev
10:00 lizmat m: class A { has Int $!a is default(42); method a() is raw { $!a } }; dd A.CREATE.a   #  but this doesn't  :-(
10:00 camelia rakudo-moar a9a161: OUTPUT: «Int $!a = Int␤»
10:06 lizmat RT #131290   # for those interested
10:06 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131290
10:06 Zoffix samcv: right, .1 and .2 didn't need bumps, .3 mistakenly forgot the bumps
10:07 Ven joined #perl6-dev
10:07 samcv ok. i can tag moarvm and nqp. should i do 2017.04.3 ? that should be easiest for people to follow right
10:08 Zoffix samcv: there's no point. It'd require a .4 release of Rakudo and we're not making one
10:08 samcv would it?
10:08 samcv can't we just tag the repos?
10:08 samcv you can tag previous commits
10:08 Zoffix samcv: what would be the point of those tags?
10:09 samcv those are tags that are the release designated by 2017.04.3
10:09 Zoffix samcv: nope
10:10 samcv the tags of where moarvm and nqp are as required by 2017.04.3 that is
10:10 samcv it's weird that nqp and moarvm have no tags new enough for 2017.04.3
10:11 samcv it's a distinct release marker
10:11 Zoffix samcv: 2017.04.3 doesn't refer to 2017.04.3 tags; which is why you'd need yet another point release to fix it
10:11 * Zoffix thought the .04 release fiasco business was behind us
10:11 samcv we have 2017.04.3 tag in rakudo yes?
10:11 Zoffix Yes
10:11 samcv but there are no nqp or moarvm tags new enough to meet the requirements
10:12 Zoffix What requirement?
10:12 samcv that 2017.04.3 requires
10:12 Zoffix It doesn't require 2017.04.3
10:12 samcv you can tag any commit you want does't have to be the current commit. tags are seperate from the commits themselves
10:12 Zoffix Looks at build/tools/NQP_VERSIOn
10:12 samcv i know it doesn't
10:13 samcv that what we should tag nqp as 2017.04.3 because the newest tag for nqp is not new enough to satisfy rakudo's nqp dependency
10:14 Zoffix Or we could wait 1 week and forget about it and not mess with .04 release 4 weeks after it happened
10:15 Zoffix because you'd be taging a non-release with a release tag
10:15 samcv hm
10:16 samcv i suppose so. maybe can add some comment in the release info for 2017.04.3 and mention the tags needed for nqp and moarvm
10:17 samcv that would be ok with me. then we have it at least documented on the announcement page that it requires those tags.
10:18 samcv Zoffix, does that sound alright with you? i can add the tags to https://github.com/rakudo/rakudo/blob/nom/docs/announce/2017.04.3.md and leave it at that?
10:18 Zoffix Go for it
10:18 samcv ok cool
10:18 japhdc joined #perl6-dev
10:18 samcv works for me, sorry for being a pain :|
10:31 astj joined #perl6-dev
10:33 Geth ¦ rakudo/nom: 0f400eb429 | (Samantha McVey)++ | docs/announce/2017.04.3.md
10:33 Geth ¦ rakudo/nom: Update 2017.04.3 announce to mention NQP and MoarVM tags
10:33 Geth ¦ rakudo/nom:
10:33 Geth ¦ rakudo/nom: Mention there was no newer NQP or MoarVM releases and list the
10:33 Geth ¦ rakudo/nom: required git tags for them respectively.
10:33 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0f400eb429
10:37 Zoffix Cool PTS pictures: https://www.instagram.com/p/BT_QJGDDQSQ/?taken-by=perltoolchainsummit
10:37 Zoffix Is that Olaf standing there? I think he's the only Perler I met in person
10:38 astj joined #perl6-dev
10:45 Ven_ joined #perl6-dev
11:15 tadzik http://tadzik.net/pub/core.25388 core dump from a moarvm segfault, if anyone's interested in looking into it. Seems like a GC bug
11:16 pmurias joined #perl6-dev
11:34 timotimo tadzik: it's kind of useless without debug symbols?
11:34 japhdc joined #perl6-dev
11:35 tadzik ah shite
11:35 tadzik where did I go wrong? I ran it with perl6-gdb-m, do I need to build it differenty to have them?
11:38 timotimo i have no idea how to work with core dumps effectively
11:38 timotimo you can just ship libmoar.so over i expect
11:55 timotimo tadzik: will you give me the libmoar.so you used? :)
11:55 tadzik yep, yep, coming up :)
11:58 timotimo will you also give the p6 code you ran?
11:58 timotimo or "what were you doing" or something
11:58 timotimo i don't want to waste too much effort on a known problem ;)
11:59 tadzik it was forestfire.pl :)
11:59 tadzik I tried to generate a profile data like yours
11:59 timotimo aha, did you forget to remove the SIGNAL tap?
12:00 tadzik hmm, can't say that I forget if I didn't know I have to :P
12:00 tadzik and yeah, with it removed it works
12:00 timotimo comment out the line starting with SIGNAL and that has "tap" in it
12:00 timotimo yeah, known bug: profiler explodes when you have multithreading active
12:03 tadzik I see
12:06 [TuxCM] joined #perl6-dev
12:07 timotimo i mean ... instead of waiting longer to get tuits to fix that, we could output a warning where it would try to collect the data "threads were active. program is likely to crash, or profile is likely to be garbage"
12:08 japhdc joined #perl6-dev
12:24 nine lizmat: CompUnit::RepositoryRegistry.use-repository(CompUnit::Repository::Filesystem.new(:prefix('.'))
12:29 japhdc joined #perl6-dev
12:34 Ven joined #perl6-dev
12:46 Geth ¦ nqp: 736835d80a | (Elizabeth Mattijsen)++ | src/HLL/Compiler.nqp
12:46 Geth ¦ nqp: Allow for extra config info to be shown from HLL
12:46 Geth ¦ nqp:
12:46 Geth ¦ nqp: This uses the approach of a dynamic variable that, when called, will
12:46 Geth ¦ nqp: nqp::say whatever it thinks it needs to say as extra config information.
12:46 Geth ¦ nqp:
12:46 Geth ¦ nqp: I tried just calling a subroutine: that also works, but spoils the global
12:46 Geth ¦ nqp: namespace even further: a dynamic variable only needs registration in a
12:47 Geth ¦ nqp: <…commit message has 6 more lines…>
12:47 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/736835d80a
12:47 Geth ¦ nqp: 4ac87728b0 | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION
12:47 Geth ¦ nqp: Bump Moar to get nqp::rand_I fixes
12:47 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/4ac87728b0
12:47 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.04-62-g362277b...2017.04-64-g6d5ea04
12:53 Ven_ joined #perl6-dev
12:59 Zoffix nine: where did you dig up this module? https://github.com/zoffixznet/perl6-Ecosystem-Test/issues/1
13:01 Zoffix nine: ah, it's still in META.list
13:01 Zoffix Removed.
13:01 Zoffix I was gonna do something with it, but now I forget what...
13:02 nine Zoffix: ok :)
13:04 Zoffix buggable: eco
13:04 buggable Zoffix, Out of 831 Ecosystem dists, 67 have warnings, 13 have errors, and 648 have no tags in META file. See https://modules.perl6.org/update.log for details
13:04 Zoffix I'm guessing the 13 errors is the META.info -> META6.json swapped by tadzik recently and the auto-META-renamer hasn't renamed them yet
13:04 nine Zoffix: soooo...regarding perl6-Ecosystem-Test, is it actually valid to have a module without source information in the ecosystem? What would the purpose be?
13:05 brrt joined #perl6-dev
13:06 Zoffix nine: no idea. Judging by the name of the module, I'd figure I was gonna test what breaks when a module is missing source information
13:07 nine Well, now you've found something ;)
13:07 Zoffix And since it's been in it long enough for me to forget about it and nothing broke, I guess stuff doesn't care about missing source information
13:07 Zoffix nine: I see it's even indexed by module.perl6.org and points to the right repo: http://modules.perl6.org/dist/Ecosystem::Test
13:07 Geth ¦ rakudo/nom: 67ab60dcb8 | (Elizabeth Mattijsen)++ | src/core/Process.pm
13:07 Geth ¦ rakudo/nom: Add support for $*SAY-ADDITIONAL-CONFIG-INFO
13:07 Geth ¦ rakudo/nom:
13:07 Geth ¦ rakudo/nom: This is called whenever we do "perl6 -V".  Implemented as a dynamic
13:07 Geth ¦ rakudo/nom: variable so that it remains invisible in the global namespace.
13:07 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/67ab60dcb8
13:07 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.04-96-g9763728...2017.04-98-g4ac8772
13:07 Geth ¦ rakudo/nom: c240195ddc | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
13:07 Geth ¦ rakudo/nom: Bump NQP to get -V support and nqp::rand_I fixes
13:07 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c240195ddc
13:07 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.04-96-g9763728...2017.04-98-g4ac8772
13:08 Zoffix And maybe the test was "Does our tooling even use the source information or can it figure out the source automagically?"
13:08 Ven_ joined #perl6-dev
13:08 Zoffix from the meta file URL
13:09 Zoffix $ zef install Ecosystem::Test
13:09 Zoffix ===> Searching for: Ecosystem::Test
13:09 Zoffix No such method 'IO' for invocant of type 'Any'
13:09 Zoffix in code  at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/4B1D5A60B59D9541E13F76E0E2A2D550E0144053 (Zef::Client) line 184
13:09 Zoffix At least something breaks :P
13:20 nine My meta2rpm script also broke
13:21 Zoffix heh
13:25 Geth ¦ rakudo/nom: 95c5e1ffa8 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp
13:25 Geth ¦ rakudo/nom: postcircumfix:<[ ]> assumes atpos_o, not atpos_s
13:25 Geth ¦ rakudo/nom:
13:25 Geth ¦ rakudo/nom: So make sure we use atpos_s on $named_names
13:25 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/95c5e1ffa8
13:26 Ven_ joined #perl6-dev
13:46 [TuxCM] This is Rakudo version 2017.04.3-227-g95c5e1ffa built on MoarVM version 2017.04-64-g6d5ea042
13:46 [TuxCM] csv-ip5xs        2.450
13:46 [TuxCM] test            12.525
13:46 [TuxCM] test-t           4.227 - 4.341
13:46 [TuxCM] csv-parser      13.008
13:47 [TuxCM] nine, there you go. Sorry for the delay
13:50 nine m: say 4.227/2.450
13:50 camelia rakudo-moar 95c5e1: OUTPUT: «1.725306␤»
13:50 nine woohoo :)
13:54 Ven joined #perl6-dev
13:55 Zoffix buggable: speed 5
13:55 buggable Zoffix, █▁▁▁▁ data for 2017-05-12–2017-05-12; range: 4.220s–6.181s; 42% faster
13:55 Zoffix lol
13:55 Zoffix If only :P
13:55 Zoffix buggable: speed 6
13:55 buggable Zoffix, ▂↑▁▁▁▃ data for 2017-05-11–2017-05-12; range: 4.220s–6.181s; 2% slower
13:55 Zoffix buggable: speed 20
13:55 buggable Zoffix, ▂▄▃▃▃▃▃▂▁▂▂▁▂▁▂↑▁▁▁▃ data for 2017-05-04–2017-05-12; range: 4.220s–6.181s; 2% slower
13:57 Zoffix That percentage calculator should probably be made smarter :)
14:09 Ven_ joined #perl6-dev
14:19 astj joined #perl6-dev
14:19 Geth ¦ rakudo/nom: e2082a6987 | (Elizabeth Mattijsen)++ | src/core/VM.pm
14:19 Geth ¦ rakudo/nom: Remove unneeded and obsolete 'precomp-dir'
14:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e2082a6987
14:19 Geth ¦ rakudo/nom: 94c4e7bf98 | (Elizabeth Mattijsen)++ | src/core/Process.pm
14:19 Geth ¦ rakudo/nom: Add $*DISTRO information to perl6 -V output
14:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/94c4e7bf98
14:19 Ven__ joined #perl6-dev
14:29 * Zoffix just experienced an inadequate performance issue in production code :(
14:30 Zoffix m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 {  when /'-- ' [ Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov |  Dec] '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:30 camelia rakudo-moar 95c5e1: OUTPUT: «0.20802497␤»
14:30 Zoffix m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 {  when /'-- ' @a '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:30 camelia rakudo-moar 95c5e1: OUTPUT: «3.1291016␤»
14:30 Zoffix Though in actual script the second one was taking so long I just rewrote it in the terms of the first version :)
14:31 Zoffix m: my @a =  <Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec>; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 {  when /'-- ' @a '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:31 camelia rakudo-moar 94c4e7: OUTPUT: «3.2125608␤»
14:31 Zoffix I think there's even a ticket for this one.
14:32 jnthn I think it's one of those cases where the mutability of @a makes it a tad tricky to optimize well
14:32 Zoffix Yeah
14:32 jnthn We may need some rules around that to allow less duplicate work
14:33 Zoffix There's a related ticket: https://rt.perl.org/Ticket/Display.html?id=127064#ticket-history
14:33 jnthn For that case I think you get a significant speedup by typing the variable
14:34 jnthn m: my $a = 'foo'; for ('a' x 100
14:34 camelia rakudo-moar 94c4e7: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at <tmp>:1␤------> 3my $a = 'foo'; for ('a' x 1007⏏5<EOL>␤    expecting any of:␤        statement end␤      …»
14:34 jnthn m: my $a = 'foo'; for ('a' x 100 ~ "foo") xx 1000 { /$a/ }; say now - INIT now
14:34 camelia rakudo-moar 94c4e7: OUTPUT: «0.0032907␤»
14:35 jnthn m: my $a = 'foo'; for ('a' x 100 ~ "foo") xx 10000 { /$a/ }; say now - INIT now
14:35 camelia rakudo-moar 94c4e7: OUTPUT: «0.0240111␤»
14:35 jnthn m: my Str $a = 'foo'; for ('a' x 100 ~ "foo") xx 10000 { /$a/ }; say now - INIT now
14:35 camelia rakudo-moar 94c4e7: OUTPUT: «0.0238258␤»
14:35 jnthn Hmm, I'm sure there was something like that
14:36 Zoffix Wouldn't it still be mutable? Like it could change on every iteration
14:36 jnthn Yeah, but it could call !LITERAL instead of !INTERPOLATE and avoid a check each time
14:41 timotimo why do we get so bad performance in that regex even though it starts with a literal?
14:43 timotimo hm, perhaps it'd be better to use ||@a there?
14:43 Geth ¦ rakudo/nom: 53df2aa8da | (Elizabeth Mattijsen)++ | src/core/CompUnit/RepositoryRegistry.pm
14:43 Geth ¦ rakudo/nom: Remove unused variable and its initialization
14:43 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/53df2aa8da
14:47 timotimo m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 {  when /'-- ' ||@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:47 camelia rakudo-moar 94c4e7: OUTPUT: «19.2803383␤»
14:47 timotimo not better, eh?
14:47 timotimo m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 {  when /'-- ' @a '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:47 camelia rakudo-moar 94c4e7: OUTPUT: «2.9414239␤»
14:47 timotimo m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 {  when /'-- ' |@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:48 camelia rakudo-moar 94c4e7: OUTPUT: «(timeout)»
14:48 Zoffix :o
14:48 timotimo huh what the ...
14:48 timotimo i thought @a is equivalent to either of those
14:48 Zoffix m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7180 {  whe /'-- ' |@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:48 camelia rakudo-moar 94c4e7: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unexpected block in infix position (missing statement control word before the expression?)␤at <tmp>:1␤------> 3 {  whe /'-- ' |@a '-' \d**2 '-' \d**4 /7⏏5 { } }; say now - INIT now␤    expectin…»
14:48 Zoffix It's equivalent to the |@a
14:48 * Zoffix thought
14:48 Zoffix m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 718 {  when /'-- ' |@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:48 timotimo that's also what i thought
14:49 Zoffix m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 7 {  when /'-- ' |@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:49 camelia rakudo-moar 94c4e7: OUTPUT: «(timeout)»
14:49 camelia rakudo-moar 94c4e7: OUTPUT: «0.31506473␤»
14:49 Zoffix wow
14:49 Zoffix m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 100 {  when /'-- ' |@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:49 camelia rakudo-moar 94c4e7: OUTPUT: «4.269762␤»
14:49 Zoffix m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 100 {  when /'-- ' ||@a '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:49 camelia rakudo-moar 94c4e7: OUTPUT: «0.3336069␤»
14:49 Zoffix m: my @a = 1..12; for ('a' x 100 ~ " -- Jan-12-2017") xx 100 {  when /'-- ' @a '-' \d**2 '-' \d**4 / { } }; say now - INIT now
14:49 camelia rakudo-moar 94c4e7: OUTPUT: «0.0607072␤»
14:49 Zoffix m: say 4.269762/0.0607072
14:49 camelia rakudo-moar 94c4e7: OUTPUT: «70.3337001␤»
14:49 Zoffix apparently-equivalent but 70x slower
14:50 timotimo well well, we still have a lot of opportunities to improve these things
14:50 * Zoffix files this one to keep a record
14:50 timotimo also, we could totally have a special case for Range objects in the regex engine
14:51 timotimo but that doesn't help your case at all
14:51 Zoffix There isn't a range there tho.
14:51 timotimo because you wanted an array of words
14:51 timotimo @a = 1..12
14:51 timotimo if you used $a instead, that'd be a different story
14:51 timotimo and the @$a in the regex?
14:53 Zoffix filed as https://rt.perl.org/Ticket/Display.html?id=131297
15:01 timotimo Zoffix: if you know you're looking for single words from an array, you could \w+ and check the values in a <?{ ... }>, wouldn't that perform better?
15:01 tadzik Zoffix: seems like I got it to work: http://imgur.com/a/LAaIG though it should probably not be so user-exposed
15:02 Zoffix timotimo: I just replaced it with literals and was done with it. It's a one-off script to update filenames
15:02 timotimo have a little "developer mode" button at the bottom like the docs have
15:02 timotimo ah, i didn't realize
15:02 tadzik maybe something like modules.perl6.org/problems-for/tadzik, which would just show me what I can fix in my stuf
15:03 Zoffix I just mentioned it 'cause it was proper production use of Perl 6 and I hit something that was LTA :)
15:03 timotimo that's fair
15:03 Zoffix tadzik: that looks awesome :)
15:05 tadzik :3
15:11 lizmat_ joined #perl6-dev
15:15 Zoffix .tell curt_ Our modules.perl6.org currently rejects logotypes that aren't 32x32px. Sent you a PR to fix yours: https://github.com/CurtTilmes/perl6-eredis/pull/1
15:15 yoleaux Zoffix: I'll pass your message to curt_.
15:16 Zoffix nine: if you're short on topics to talk about at PTS... we support these "logotypes" on modules.perl6.org but AFAIK they're entirely unspecced.
15:16 tadzik Zoffix: we could use Imager to resize them on the spot, would that be desirable>?
15:17 tadzik or Imagemagick or whatever else
15:21 Zoffix tadzik: feels like the wrong approach. We'd just be masking the problem instead of fixing it, especially since the filename has "32x32" in it. In the 800+ dists, this is only the second time a non-standard sized logotype appeared
15:22 tadzik ah, indeed. So it declares 32x32, but isn't, that's a Problem
15:22 tadzik something to put on the Problems list :P
16:05 Ven joined #perl6-dev
16:17 lizmat so what's so special about val() that we don't have a proto sub val() in the setting, and we *do* have multi sub val()'s ?
16:22 Zoffix s: &val
16:22 SourceBaby Zoffix, Sauce is at https://github.com/rakudo/rakudo/blob/53df2aa/src/core/allomorphs.pm#L119
16:22 * Zoffix shrugs
16:22 Zoffix That would normally lead to a proto
16:24 * Zoffix stabs in the dark and guesses the proto for it is made somewhere in the grammar because it uses val() to do things, doesn't it?
16:26 lizmat could be
16:28 Zoffix I think it using &val here... https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Actions.nqp#L9433
16:29 lizmat yeah, but where does the proto live?
16:29 lizmat ah well, taking a different approach
16:44 MasterDuke_ joined #perl6-dev
16:59 [TuxCM] joined #perl6-dev
17:05 dogbert17 joined #perl6-dev
17:07 dogbert17 Zoffix or lizmat: are you around?
17:07 Zoffix dogbert17: sup?
17:07 dogbert17 does https://gist.github.com/dogbert17/29095e6418272518295b47c5aa9de53a look ok'ish?
17:08 dogbert17 tested in S32-container/buf.t
17:10 Zoffix dogbert17: looks good to me. That goes into  doc/Type/Blob.pod6, right?
17:10 dogbert17 yup :)
17:10 lizmat dogbert17:
17:11 lizmat if you call it on a Buf, you get a Buf returned
17:11 lizmat m: say Buf.new([1, 2, 3]).reverse
17:11 camelia rakudo-moar 53df2a: OUTPUT: «Buf:0x<03 02 01>␤»
17:11 lizmat m: say Blob.new([1, 2, 3]).reverse
17:11 camelia rakudo-moar 53df2a: OUTPUT: «Blob:0x<03 02 01>␤»
17:11 Ven joined #perl6-dev
17:11 lizmat not sure if that pod covers Buf as well
17:12 dogbert17 there's a separate pod for that
17:12 dogbert17 But I guess that I could put a 'copy' there as well
17:13 * Zoffix would just replace one of those Blob examples with a Buf
17:13 Zoffix ('cause Buf does Blob)
17:13 dogbert17 that can be arranged
17:23 Ven_ joined #perl6-dev
17:24 Geth ¦ rakudo/nom: b6496eda71 | (Elizabeth Mattijsen)++ | src/core/Process.pm
17:24 Geth ¦ rakudo/nom: Also add $*KERNEL info to perl6 -V output
17:24 Geth ¦ rakudo/nom:
17:24 Geth ¦ rakudo/nom: At least for now
17:24 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b6496eda71
17:26 Zoffix m: sub prefix:<∑> ($x, $y, $z?) is looser(&infix:<,>) { dd [ $x, $y, $z ] }; say ∑ 1, 2;
17:26 camelia rakudo-moar 53df2a: OUTPUT: «Too few positionals passed; expected 2 or 3 arguments but got 1␤  in sub prefix:<∑> at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
17:26 Zoffix m: sub prefix:<∑> (*@ ($x, $y, $z?) ) is looser(&infix:<,>) { dd [ $x, $y, $z ] }; say ∑ 1, 2;
17:26 camelia rakudo-moar 53df2a: OUTPUT: «[1, 2, Any]␤Nil␤»
17:26 Zoffix kinda weird it don't work for non-slurpies
17:27 jnthn A prefix only ever gets passed one argument
17:27 jnthn Postfixes too
17:28 Zoffix Ah
17:28 jnthn So far as the parser's concenred, a prefix operates on a single thing
17:28 jnthn They're parsed different to function calls and listops
17:30 literal joined #perl6-dev
17:32 Geth ¦ rakudo/nom: 0c46aff2bd | (Elizabeth Mattijsen)++ | 2 files
17:32 Geth ¦ rakudo/nom: Add support for $*KERNEL.archname
17:32 Geth ¦ rakudo/nom:
17:32 Geth ¦ rakudo/nom: To be used by CPAN-testers
17:32 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0c46aff2bd
17:32 lizmat dinner&
17:39 Ven_ joined #perl6-dev
17:47 dogbert17 m: say callframe(12)
17:47 camelia rakudo-moar b6496e: OUTPUT: «ctxcaller needs an MVMContext␤  in block <unit> at <tmp> line 1␤␤»
17:53 Ven_ joined #perl6-dev
17:56 dogbert17 there seems to be something wrong with the second (~10 lines long) CallFrame example on https://docs.perl6.org/type/CallFrame
17:56 dogbert17 it never enters the block after 'when CallFrame {', can anyone see why?
17:58 Zoffix m: callframe(1).^name.say
17:58 camelia rakudo-moar 0c46af: OUTPUT: «CallFrame␤»
17:58 Zoffix Ah doh
17:58 Zoffix dogbert17: because when smartmatches against $_ not the $name the given block assigns the value to
17:59 Zoffix s/$name/$frame/;
17:59 dogbert17 ah
18:00 dogbert17 should I change to:
18:00 dogbert17 given callframe($level) {
18:00 dogbert17 my $frame = $_;
18:08 perlpilot or just  ....   when $frame ~~ CallFrame { ... }
18:08 perlpilot or eliminate the $frame variable entirely
18:10 dogbert17 perlpilot: thx, if I run a corrected example it prints out '(IterateOneWithoutPhasers)'. Is that the expected result?
18:10 Zoffix Yeah, it's one of the things handling the for loop
18:10 dogbert17 cool
18:11 Ven joined #perl6-dev
18:11 Zoffix ZOFVM: Files=1229, Tests=135469, 109 wallclock secs (21.05 usr  2.87 sys + 2240.30 cusr 136.14 csys = 2400.36 CPU)
18:13 Geth ¦ rakudo/nom: 1c4d845196 | (Zoffix Znet)++ | lib/Test.pm6
18:13 Geth ¦ rakudo/nom: Fix is-deeply for Junction args
18:13 Geth ¦ rakudo/nom:
18:13 Geth ¦ rakudo/nom: Currently passing a Junction as one of the args threads `proclaim` call,
18:13 Geth ¦ rakudo/nom: causing several lines of duplicate-ish test output to be generated.
18:13 Geth ¦ rakudo/nom:
18:13 Geth ¦ rakudo/nom: Fix by boolifying result first.
18:13 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1c4d845196
18:14 Geth ¦ roast: 4682d963f9 | (Zoffix Znet)++ | S24-testing/9-is_deeply.t
18:14 Geth ¦ roast: Test `is-deeply` gives sane results for Junctions
18:14 Geth ¦ roast:
18:14 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/1c4d845196
18:14 Geth ¦ roast: review: https://github.com/perl6/roast/commit/4682d963f9
18:16 Zoffix .oO( a better fix is probably boolify the arg inside proclaim.... but I already turned off my VM... )
18:18 Zoffix m: use Test; like "foo", any /bar/, /foo/
18:18 camelia rakudo-moar 0c46af: OUTPUT: «not ok 1 - text matches '/bar/'␤␤# Failed test 'text matches '/bar/''␤# at SETTING::src/core/Junction.pm line 249␤#      expected: '/bar/'␤#      got: 'foo'␤ok 2 - text matches '/foo/'␤»
18:18 Zoffix k
18:21 Ven_ joined #perl6-dev
18:24 AlexDaniel joined #perl6-dev
18:26 Zoffix oh, like itself gets threaded
18:28 Ven_ joined #perl6-dev
18:30 Geth ¦ rakudo/nom: 651f4b06ad | (Zoffix Znet)++ | lib/Test.pm6
18:30 Geth ¦ rakudo/nom: Revert "Fix is-deeply for Junction args"
18:30 Geth ¦ rakudo/nom:
18:30 Geth ¦ rakudo/nom: This reverts commit 1c4d845196b28b2e427e9df4799f092366e4a5f7.
18:30 Geth ¦ rakudo/nom:
18:30 Geth ¦ rakudo/nom: - Going to generalize the fix
18:30 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/651f4b06ad
18:30 Geth ¦ rakudo/nom: dc5eece9ad | (Zoffix Znet)++ | lib/Test.pm6
18:30 Geth ¦ rakudo/nom: Make `proclaim` Junction-safe
18:30 Geth ¦ rakudo/nom:
18:30 Geth ¦ rakudo/nom: Take junctions as args and boolify them so that test routines that
18:30 Geth ¦ rakudo/nom: can work with Junctions don't need to remember to boolify their
18:30 Geth ¦ rakudo/nom: results before passing it to `proclaim`, to avoid duplicated output.
18:30 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dc5eece9ad
18:32 Geth ¦ rakudo/js: 4051b6f8d2 | pmurias++ | gen/js/.gitignore
18:32 Geth ¦ rakudo/js: [js] Add a .gitignore for gen/js
18:32 Geth ¦ rakudo/js: review: https://github.com/rakudo/rakudo/commit/4051b6f8d2
18:32 Geth ¦ rakudo/js: d7fb541e77 | pmurias++ | package.json
18:32 Geth ¦ rakudo/js: [js] Add a package.json so that stuff can be installed into node_modules
18:32 Geth ¦ rakudo/js: review: https://github.com/rakudo/rakudo/commit/d7fb541e77
18:36 Ven_ joined #perl6-dev
19:09 Ven joined #perl6-dev
19:35 Ven_ joined #perl6-dev
19:53 Ven_ joined #perl6-dev
20:12 timotimo Zoffix: do you have an opinion on whether isa-ok should disarm Failure objects? especially when it's called like "isa-ok $the-failure, Failure"
20:13 [TuxCM] joined #perl6-dev
20:15 Zoffix timotimo: that'll make toast fail
20:16 Zoffix timotimo: https://irclog.perlgeek.de/perl6-dev/2017-04-02#i_14364400
20:16 Zoffix I mean roast fail
20:20 Zoffix I'm actually making a new Test module ATM.... It ain't got an isa-ok at all. `is` smartmatches and so subsunes that use case. And it'll defuse failures too
20:20 Zoffix subsumes
20:20 Zoffix and like and isnt and unlike and does-ok and many cmp-ok usecases
20:27 Zoffix m: use Test; like 'foo', none /bar/
20:27 camelia rakudo-moar dc5eec: OUTPUT: «not ok 1 - text matches '/bar/'␤␤# Failed test 'text matches '/bar/''␤# at SETTING::src/core/Junction.pm line 249␤#      expected: '/bar/'␤#      got: 'foo'␤»
20:28 Zoffix Yeah, in my module you use none Junctions to specify unlike/isnt
20:29 timotimo ah, ok
20:29 timotimo i somehow missed when you first told me that
20:29 timotimo thanks
20:31 Zoffix Sauce for my module https://github.com/zoffixznet/perl6-Testo it's next on my todo list after IO grant and release
20:39 Ven joined #perl6-dev
20:55 samcv have we ever done google summer of code?
20:55 tadzik only with Parrot I think
20:55 tadzik so, long ago :)
20:55 samcv we sshould do it again. google basically pays people to intern right?
20:56 tadzik my laptop sticker says 2014, and I think that was the last one
20:56 tadzik yep
21:19 Ven joined #perl6-dev
21:20 perlpilot tadzik: that sounds about right.  I think we did GSoc from 2009ish to 2014 and then TPF was rejected one year and then I lost track
21:22 perlpilot samcv: we should participate in that other thing with high school students too, if we can.
21:24 tadzik Google Code-In
21:59 lizmat joined #perl6-dev
22:19 Geth ¦ rakudo/nom: ba0581d75b | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
22:19 Geth ¦ rakudo/nom: Partial fix for RT #131300
22:19 Geth ¦ rakudo/nom:
22:19 Geth ¦ rakudo/nom: Prevents (elem) and (cont) (and their Unicode counterparts) from
22:19 Geth ¦ rakudo/nom: infinilooping.
22:19 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131300
22:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ba0581d75b
22:25 lizmat m: dd Bag.Set   # tssskkk
22:25 camelia rakudo-moar dc5eec: OUTPUT: «Cannot look up attributes in a Bag type object␤  in block <unit> at <tmp> line 1␤␤»
22:28 timotimo ttjjss? :)
22:31 lizmat I will look at the other problem cases tomorrow, after some sleep
22:31 lizmat good night, #perl6-dev!
22:35 tadzik timotimo: wha :)
22:36 jnthn 'night, lizmat++
22:56 Zoffix .tell lizmat FWIW the ba0581d75b fix now gives False for cases that are, say `Int ∋ Int`; Perhaps Set:U.Set should return set(Set) as it does for other type objects?
22:56 yoleaux Zoffix: I'll pass your message to lizmat.

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