Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-08-06

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

All times shown according to UTC.

Time Nick Message
00:07 BenGoldberg joined #perl6-dev
01:52 ilbot3 joined #perl6-dev
01:52 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
03:02 Geth ¦ perl6.org: 5b26af2750 | (Zoffix Znet)++ (committed using GitHub Web editor) | source/resources/index.html
03:02 Geth ¦ perl6.org: P6F is now published
03:02 Geth ¦ perl6.org: review: https://github.com/perl6/perl6.org/commit/5b26af2750
04:29 Ben_Goldberg joined #perl6-dev
06:24 buggable joined #perl6-dev
07:50 Geth joined #perl6-dev
08:08 Ven joined #perl6-dev
09:06 Geth ¦ rakudo/nom: aca4b941ce | (Stefan Seifert)++ | lib/NativeCall.pm6
09:06 Geth ¦ rakudo/nom: Save 2 method calls per NativeCall call
09:06 Geth ¦ rakudo/nom:
09:06 Geth ¦ rakudo/nom: There are obviously too many calls involved.
09:06 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aca4b941ce
09:06 [Tux] This is Rakudo version 2017.07-132-gabf1cfe72 built on MoarVM version 2017.07-320-g600c2e9c
09:06 [Tux] csv-ip5xs        2.682
09:06 [Tux] test            12.188
09:06 [Tux] test-t           3.685 - 3.724
09:06 [Tux] csv-parser      14.414
09:06 nine [Tux]: that was before the commit I just pushed, wasn't it?
09:07 [Tux] 10:57:18
09:07 [Tux] so most probably yes, I'll run it again, just for you :)
09:16 nine :)
09:16 [Tux] This is Rakudo version 2017.07-133-gaca4b941c built on MoarVM version 2017.07-320-g600c2e9c
09:16 [Tux] csv-ip5xs        2.315
09:16 [Tux] test            12.367
09:16 [Tux] test-t           3.763 - 4.085
09:16 [Tux] csv-parser      14.749
09:16 nine Nice!
09:17 [Tux] look at the other numbers. It is probably within the wow-and-flutter noise margin
09:17 nine I haven't seen csv-ip5xs < 2.5 in quite a while
09:17 nine And all other numbers are larger than before
09:18 [Tux] running a third time
09:25 [Tux] This is Rakudo version 2017.07-133-gaca4b941c built on MoarVM version 2017.07-320-g600c2e9c
09:25 [Tux] csv-ip5xs        2.329
09:25 [Tux] test            12.049
09:25 [Tux] test-t           3.691 - 3.736
09:25 [Tux] csv-parser      14.107
09:25 nine Still looks good :)
09:30 dogbert11 joined #perl6-dev
09:31 [Tux] yes
09:58 Ven joined #perl6-dev
10:08 AlexDaniel joined #perl6-dev
10:15 timotimo nine: that's not really "two method calls per nativecall call", though? it's 1 + 1 / $times-called per nativecall call :P
10:15 timotimo oh
10:15 timotimo .signature and .arity
10:15 timotimo d'oh
10:37 AlexDaniel Hm, interesting. perl6 -e 'say 42' is ?6ms faster with MVM_SPESH_DISABLE=1
10:38 AlexDaniel doesn't look like a lot but in these 6ms you can run perl5 -wE 'say 42' :)
10:39 timotimo i don't know how to get time to display more accuracy than 0.01s
10:42 Ven_ joined #perl6-dev
10:42 AlexDaniel timotimo: well… run something in a loop, divide by the number of iterations…
10:42 AlexDaniel but what shell are you using?
10:42 timotimo fish
10:42 timotimo but i believe fish actually gives me /usr/bin/time
10:43 AlexDaniel well, if you run something in bash, then I believe you'll get 0.001s accuracy by default
10:44 timotimo indeed
10:45 timotimo how do i get it to show the wallclock time?
10:45 AlexDaniel I think “real” is exactly that
10:45 timotimo ah, ok
10:45 timotimo yes, looks like
10:46 AlexDaniel I wanted to try some other shell for a while, and fish looked very promising… until I realized that it does not have ctrl+r
10:47 AlexDaniel almost all commands I run start with ctrl+r (yay for infinite bash history). Bummer.
10:47 timotimo yeah, it takes a bit of getting used to how you do that in fish
10:47 timotimo but now i miss how fish does it in other programs
10:48 AlexDaniel well, you can't do *that* in fish, there's no recursive search that you can continue adjusting when you're already in it
10:48 timotimo oh
10:49 timotimo that's true
11:16 Geth_ ¦ star: stmuk++ created pull request #96: be less misleading the README shown on github so people less likely to mistake the RBS (Ridiculous Build System) ;-) for the star distro tarball itself
11:16 Geth_ ¦ star: review: https://github.com/rakudo/star/pull/96
11:17 Geth_ ¦ star: 1e7ee75684 | (Steve Mynott)++ | 3 files
11:17 Geth_ ¦ star: be less misleading the README shown on github so people less likely to mistake the RBS (Ridiculous Build System) ;-) for the star distro tarball itself
11:17 Geth_ ¦ star: review: https://github.com/rakudo/star/commit/1e7ee75684
11:17 Geth_ ¦ star: 694f91ca0c | (Steve Mynott)++ (committed using GitHub Web editor) | 3 files
11:17 Geth_ ¦ star: Merge pull request #96 from stmuk/master
11:17 Geth_ ¦ star:
11:17 Geth_ ¦ star: Be less misleading with the README shown on github so people less likely to mistake the RBS (Ridiculous Build System) ;-) for the star distro tarball itself
11:17 Geth_ ¦ star: review: https://github.com/rakudo/star/commit/694f91ca0c
11:18 Geth ¦ 6.d-prep: 6578f69c5b | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
11:18 Geth ¦ 6.d-prep: See if we can nail down the META6.json spec
11:18 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/6578f69c5b
11:59 Ven joined #perl6-dev
12:23 http_GK1wmSU joined #perl6-dev
12:25 http_GK1wmSU left #perl6-dev
12:30 jnthn Zoffix++ # love the improved modules.perl6.org
12:30 Zoffix \o/
12:55 Skarsnik joined #perl6-dev
13:10 lizmat joined #perl6-dev
13:26 Skarsnik_ joined #perl6-dev
13:27 AlexDaniel joined #perl6-dev
13:28 BenGoldberg joined #perl6-dev
13:36 lizmat https://domm.plix.at/perl/2017_08_what_i_expect_from_a_web_framework.html   # not sure this was mentioned already here
13:36 yoleaux 5 Aug 2017 23:10Z <eater[sha2017]> lizmat: You may like this: https://github.com/the-eater/shinit
14:35 nine Is there a way to replace a routine's for a faster result than mixing in a role with a CALL-ME method? I would like to avoid the overhead of checking a NativeCall sub's arguments against the stub's arity.
15:01 Skarsnik stub arity?
15:03 Skarsnik_ joined #perl6-dev
15:05 timotimo how many parameters you're allowed to pass
15:08 timotimo Skarsnik: this is about nativecall installing a CALL-ME to handle passed arguments and call nqp::nativecall to actually do the call into C
15:09 timotimo nine: ideally we'd generate code at compile time for every "is native" routine instead of having a single CALL-ME handle calls for every single native routine
15:09 Skarsnik hm
15:10 Skarsnik should be doable at compile time to determine the thing needed to do the C call (outside the library)
15:11 timotimo hm?
15:12 nine timotimo: yes. Seems strange that we only setup the routine on the first call instead of immediately.
15:12 timotimo that's a property i'd actually like to keep (at least accessible)
15:13 nine why?
15:13 timotimo though it might be preferable to have a function specifically to check if a symbol exists
15:13 timotimo yeah, i take back my earlier comment
15:13 Skarsnik I mean to prepare the vm to run the sub, you need to setup thing like compilo mangler and other stuff?
15:14 Skarsnik You only need to know the actual .so to run it, so it can be later if I remember correctly
15:14 timotimo hm, do we have a function that tries to figure out what kind of mangling is needed?
15:14 Skarsnik well the code is already there, otherwise it would not work
15:15 Skarsnik just need to change when it's called
15:17 timotimo one thing that's bad for performance is that CALL-ME is basically invisible to spesh
15:17 timotimo there's a forwarder that gets called with the arguments and that calls CALL-ME for us by just passing on the capture
15:18 timotimo i don't think the forwarder is visible to spesh, either, but i'm not sure about that
15:18 timotimo it might have to learn about invocation protocols or something
15:18 timotimo but that'll only make the forwarder a bit better that calls into CALL-ME
15:19 nine Isn't even creating the Capture work we'd like to avoid? We can only use positional arguments anyway.
15:19 Skarsnik hm
15:19 Skarsnik yeah, even c++ class mapping use positionnal
15:19 timotimo it might not create a full perl6-level capture object
15:20 nine Right now I'm pretty sure it does
15:20 timotimo OK
15:20 jdv79 is the tags feature of modules.perl6.org curated in any way?
15:20 timotimo i don't think so
15:20 nine my Mu $args := nqp::getattr(nqp::decont(args), Capture, '@!list');
15:20 nine in CALL-ME
15:20 timotimo it just pulls what's in the META6.json files
15:20 timotimo oh, i meant the forwarder in front of CALL-ME
15:21 jdv79 so i could put "howdy doody" in a tag and it'll show up on the front page?
15:21 jdv79 that's funny if so
15:21 Skarsnik yeah
15:22 Skarsnik but it only most "popular" one by default
15:22 Skarsnik +show
15:22 jdv79 so it is "curated"
15:23 timotimo „curated”
15:23 timotimo m: say "curated" ~~ /.+/
15:23 camelia rakudo-moar aca4b9: OUTPUT: «?curated??»
15:25 jdv79 Z, WIP, FUN, VALID, SILLY, PERL6, INSTALLABLE - some interesting ones in the mix already
15:27 timotimo Z, WIP, FUN, VALID, SILLY, PERL6, INSTALLABLE - pick any 4
15:32 Skarsnik_ joined #perl6-dev
15:45 pharv joined #perl6-dev
16:08 Ven joined #perl6-dev
16:40 Ben_Goldberg joined #perl6-dev
16:49 astj joined #perl6-dev
16:54 Ven_ joined #perl6-dev
17:14 Ben_Goldberg joined #perl6-dev
17:19 astj joined #perl6-dev
18:08 lizmat joined #perl6-dev
18:15 Zoffix jdv79: no, they're not curated
18:16 Zoffix jdv79: other than this automated thing: https://github.com/perl6/modules.perl6.org/blob/master/tag-aliases.json
18:17 Zoffix and those that have 3 dists that use them get displayed on the home page by default, the rest are hidden: https://github.com/perl6/modules.perl6.org/blob/master/lib/ModulesPerl6/Model/Dists.pm#L161-L162
18:18 Zoffix That magic number will get higher as we grow an
18:18 Zoffix s/an$//
18:19 japhb Zoffix: http://modules.perl6.org/t/TERMINAL does not contain Terminal::Print.  How did that list get created?
18:20 Zoffix japhb: by module authors using the "standard" meta key: https://github.com/briandfoy/perl6-chemistry-elements/blob/master/META6.json#L20
18:20 Zoffix Well, it's standard, just not in roast yet
18:20 japhb Ah.  Interesting.
18:22 japhb OK, what about default tagging -- e.g. adding English words from the module's name to the tags (perhaps only if there was no tags key in the META6)?
18:22 japhb Or maybe that functionality belongs in mi6 ....
18:22 Zoffix mi6, I'd say
18:23 Zoffix IMO there's little point in trying to guesstimate the tag. The search feature already searches the names.
18:23 japhb Does skaji have the same name here?
18:23 Zoffix no idea
18:24 japhb Zoffix: But the tag cloud currently forms an attractive nuisance: People will see a word that they associate with whatever they're looking for, and click on it immediately, not realizing they will get less complete results than the search.
18:25 Zoffix But I can click the "Z" tag and get the dist that was tagged with it, instead of getting any dist that has "z" in its name or description.
18:25 japhb Not that I think the tag cloud should go away, just that we need to make sure it won't lead people down the wrong path when trying to find something -- having mi6 auto-fill the tags should help
18:26 Zoffix Just maybe label it that it's module author tags or something
18:26 japhb Zoffix: Oh, agreed.  But would you expect something like 'Z::Machine' to have the 'Z' tag?  :-)
18:27 Zoffix And on results also add a link "search for BLAH"
18:27 Zoffix I don't know what "Z" is in that context.
18:27 japhb Infocom's old standard for interactive fiction interpreters
18:27 Skarsnik hm interesting, this seems to stale skarsnik@debian:~/perl6/rakudo$ LD_PRELOAD=/usr/lib/libefence.so make test
18:28 japhb Zoffix: Yes, I like the idea of adding a "search for BLAH" on the tag results page
18:39 Skarsnik lol it deleted the content of my rakudo folder
18:39 Ven joined #perl6-dev
19:11 lizmat commute to Amsterdam&
19:18 ggoebel joined #perl6-dev
19:18 timotimo joined #perl6-dev
19:18 chansen_ joined #perl6-dev
19:18 tbrowder joined #perl6-dev
19:31 BenGoldberg joined #perl6-dev
19:47 brrt joined #perl6-dev
20:02 Skarsnik Ok libefence made make test stale
20:03 Skarsnik I wonder if it's because of the perl call
20:08 Skarsnik Dunno if this interesting https://gist.github.com/Skarsnik/1f08516c0ec080dfecb6fa6cd47eebf8
20:19 timotimo if efence puts one page before and after every allocation, it could end up mapping a crapton of pages
20:31 Skarsnik how can I build moar to have the debug symbols btw?
20:33 Zoffix Skarsnik: if my memory serves me right...  (from rakudo's checkout):  cd nqp/MoarVM; perl Configure.pl --prefix=../../bin --debug=3; make -j8; make install; cd ../..
20:33 Zoffix Skarsnik: if my memory serves me right...  (from rakudo's checkout):  cd nqp/MoarVM; perl Configure.pl --prefix=../../install --debug=3; make -j8; make install; cd ../..
20:33 Zoffix the second one
20:34 Zoffix Skarsnik: if my memory serves me right...  (from rakudo's checkout):  cd nqp/MoarVM; perl Configure.pl --prefix=../../install/bin --debug=3; make -j8; make install; cd ../..
20:34 Zoffix one of those... I think the third one :)
20:36 Skarsnik do I need to rebuild everything?
20:36 Skarsnik rakudo perl6 build is so confusing xD
20:37 Zoffix No just that command
20:39 Skarsnik good :)
20:39 Skarsnik #6  0x00007ffff767a71b in MVM_malloc (size=0) at src/core/alloc.h:2
20:39 Skarsnik yeah that sucks to execute that x)
20:42 jnthn Why?
20:42 yoleaux 19:49Z <brrt> jnthn: i need to rethink how to disable the jt compiler at build time, now that it is so much larger than before
20:42 Skarsnik calling malloc for 0 byte seems strange
20:42 jnthn It's implementation defined whether it returns NULL or a pointer, and free will work out either way
20:42 jnthn So long as you don't try to use the memory it's fine
20:43 Skarsnik why not returning NULL and avoid the malloc call?
20:43 Skarsnik or not even call stuff in this case
20:43 jnthn Why duplicate a check that's already going to take place?
20:44 timotimo you have to store the "how many bytes do i have" in some way anyway and if that comes up to be 0 you won't be accessing any memory anyway (usually)
20:47 tadzik joined #perl6-dev
20:49 jdv79 does anyone have experience using I::P5 with a lot of async?
20:49 jdv79 last time i tried it was not a good situation
20:50 Skarsnik I hate/love efence
20:51 timotimo you know, when you compile moarvm with --asan it'll also install little redzones around fixedsizeallocator made allocations
20:51 timotimo though they aren't explosive if you touch 'em
20:55 Zoffix jdv79: haven't had any issues. IIUC you need to compile your perl with -Dusemultiplicity tho
20:56 Zoffix perlbrew install perl-5.26.0 --notest -Duseshrplib -Dusemultiplicity
20:56 Zoffix perlbrew switch perl-5.26.0
21:03 Skarsnik damn, I hate crash in macro x)
21:17 ilmari[m] joined #perl6-dev
21:17 CIAvash[m] joined #perl6-dev
21:59 pharv joined #perl6-dev
22:01 AlexDaniel mmm, classic thing https://github.com/rakudo/rakudo/blob/nom/src/core/CompUnit/Repository/Installation.pm#L26
22:01 AlexDaniel writeable or writable? Both are correct, but rakudo has “writable” in all error messages but this method name is writeable
22:02 AlexDaniel ( http://php.net/manual/en/function.is-writeable.php )
22:03 AlexDaniel LPT don't use “write?able” when naming methods :)
22:10 Geth ¦ rakudo: AlexDaniel++ created pull request #1130: Spellcheck
22:10 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1130
22:12 AlexDaniel m: say Date.today.later(:3camelia)
22:12 camelia rakudo-moar aca4b9: OUTPUT: «Cannnot use unit camelia with Date.delta?  in block <unit> at <tmp> line 1??»
22:12 Geth ¦ rakudo/nom: bf7063d1ae | (Aleks-Daniel Jakimenko-Aleksejev)++ | src/core/Exception.pm
22:12 Geth ¦ rakudo/nom: “Cannnot” ? “cannot”
22:12 Geth ¦ rakudo/nom:
22:12 Geth ¦ rakudo/nom: This was found during my failed attempt to pass the source code
22:12 Geth ¦ rakudo/nom: through the spell checker. It is failed because:
22:12 Geth ¦ rakudo/nom:
22:12 Geth ¦ rakudo/nom: * This is practically all I was able to find.
22:12 Geth ¦ rakudo/nom: * There is no quick way to reproduce the results.
22:12 Geth ¦ rakudo/nom: * I can't guarantee that I didn't miss anything, particularly
22:12 Geth ¦ rakudo/nom:   because I forgot to ?git pull? before doing the work… (so it is
22:12 Geth ¦ rakudo/nom:   hundreds of commits behind ????)
22:12 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bf7063d1ae
22:12 Geth ¦ rakudo/nom: c3da74d804 | (Aleks-Daniel Jakimenko-Aleksejev)++ | src/core/CompUnit/PrecompilationRepository.pm
22:12 Geth ¦ rakudo/nom: “Precomping” ? “Precompiling”
22:12 Geth ¦ rakudo/nom:
22:12 Geth ¦ rakudo/nom: I wouldn't argue that “precomping” is not a word we can use, but
22:12 Geth ¦ rakudo/nom: “precompiling” is used everywhere else in the same file.
22:12 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c3da74d804
22:12 Geth ¦ rakudo/nom: da4a0f50ac | (Zoffix Znet)++ (committed using GitHub Web editor) | 2 files
22:12 Geth ¦ rakudo/nom: Merge pull request #1130 from AlexDaniel/spellcheck
22:12 Geth ¦ rakudo/nom:
22:12 Geth ¦ rakudo/nom: Spellcheck
22:12 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/da4a0f50ac
22:53 MasterDuke joined #perl6-dev
23:03 Ven joined #perl6-dev
23:19 pharv joined #perl6-dev
23:19 astj joined #perl6-dev
23:37 pochi joined #perl6-dev
23:50 jdv79 MoarVM panic: Internal error: zeroed target thread ID in work pass
23:50 jdv79 what does it mean?
23:52 timotimo memory corruption
23:52 timotimo possibly
23:52 timotimo could be something's writing past an object's body into the next body's header
23:53 timotimo not sure if anything else would manipulate the thread id or set it to 0
23:53 timotimo there's a #define in moarvm's src/gc/debug.h that you can increase to make moar slower but pick up problems like that much earlier
23:54 jdv79 oh ok

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