Zoffix | .ask jnthn any tips for fixing this bug: `m: say &min ~~ Callable; #`(False) &min.^compose; say &min ~~ Callable; #`(True)` Some new commits went in that tickle it and that's currently marked as a release blocker. I can only think of something nutty like collecting all the traited subs and then .^composing it at the end of setting | 00:15 | |||||||||||||||||||||||||||||||||||||
yoleaux | Zoffix: I'll pass your message to jnthn. | ||||||||||||||||||||||||||||||||||||||
Zoffix | .tell jnthn For context, the breakage is caused by `is pure` mixing in a role before Callable is fully composed. It's github.com/rakudo/rakudo/issues/1566 | 00:16 | |||||||||||||||||||||||||||||||||||||
yoleaux | Zoffix: I'll pass your message to jnthn. | ||||||||||||||||||||||||||||||||||||||
Zoffix | .tell jnthn and nother hack I can think of is mixing in `role is-pure does Callable` instead of just `role is-pure`. Dunno how much evil it is to have a role (Callable) mixed in from two places like this is; `say &min.^roles; # ((is-pure) (Callable) (Callable))` | 00:21 | |||||||||||||||||||||||||||||||||||||
yoleaux | Zoffix: I'll pass your message to jnthn. | ||||||||||||||||||||||||||||||||||||||
timotimo | it'd probably be fine to put all the "is pure" mixins after Callable is finished | 00:25 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 67f36e3605 | (Timo Paulssen)++ | src/core/IO/Socket/Async.pm6 first draft of "datagram"-oriented API for udp sockets ask the .Supply to give you :datagrams and you'll receive instances of IO::Socket::Async::Datagram with .data being the string or buffer of data and .hostname and .port being the sender's address. |
00:27 | |||||||||||||||||||||||||||||||||||||
rakudo: b406b32006 | (Timo Paulssen)++ | src/core/IO/Socket/Async.pm6 change :datagrams to :datagram, add encode method and throw exceptions for decode or encode on a datagram with the wrong type of data. |
|||||||||||||||||||||||||||||||||||||||
rakudo: ada26ca18e | (Timo Paulssen)++ | src/core/IO/Socket/Async.pm6 Merge branch 'udp_receive_hostname_port' by passing :datagram to the Supply method on a IO::Socket::Async in udp mode, you can get the hostname and port of the sending socket with every message. |
|||||||||||||||||||||||||||||||||||||||
timotimo | zscript is testing for the bumpage | 00:29 | |||||||||||||||||||||||||||||||||||||
fish: “env ZSCRIPT_DIR=/home/timo/perl…” terminated by signal SIGSEGV (Address boundary error) | 00:31 | ||||||||||||||||||||||||||||||||||||||
well that isn't fun :o | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: dd2c901921 | (Timo Paulssen)++ | tools/build/NQP_REVISION [NQP Bump] Brings 3 commits NQP bump brought: github.com/perl6/nqp/compare/2018....gaa765773d aa765773d [MoarVM Bump] Brings 2 commits 070ec18bb speed up sql output by about 30% c855b116e remove space for consistent format MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...g408555456 408555456 ignore libuv-caused "fake" empty datagrams 6466cd639 expose both hostname and port of received datagrams |
00:33 | |||||||||||||||||||||||||||||||||||||
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....gaa765773d | |||||||||||||||||||||||||||||||||||||||
Zoffix | Based on the comment on the script lizmat++ already tried that: "I tried fixing this by moving Routine.pm to before traits.pm so that Routine would be fully composed. But this turned out to be a rabbit-hole that will take some real re-organizing the setting for that to work, as it would also need Attribute.pm before Routine.pm and that is really a can of worms." | 00:34 | |||||||||||||||||||||||||||||||||||||
It's not just `is pure`, it's all the traits that get mixed into callables (like `is nodal`, `is default`, `is hidden-from-USAGE` if that's used anywhere) | 00:37 | ||||||||||||||||||||||||||||||||||||||
I guess lizmat tried rearranging source files of traits not the source of where the traits are used | |||||||||||||||||||||||||||||||||||||||
Zoffix tries that | |||||||||||||||||||||||||||||||||||||||
timotimo: any idea how to find where Callable is finished? None of the `is pure`s are before `src/core/Callable.pm6` in the core files list, so I guess it's not finished there | 00:40 | ||||||||||||||||||||||||||||||||||||||
timotimo | o :( | ||||||||||||||||||||||||||||||||||||||
no* | |||||||||||||||||||||||||||||||||||||||
Zoffix | hm, maybe it's not callable, but Routine or something like that. Gonna try puttin all the trait use after all the files for Callable types | 00:42 | |||||||||||||||||||||||||||||||||||||
\o/ | 00:48 | ||||||||||||||||||||||||||||||||||||||
timotimo++ | |||||||||||||||||||||||||||||||||||||||
MasterDuke | did a bump get messed up? i just built moar and nqp at HEAD, but rakudo is complaining that nqp is too old | 00:58 | |||||||||||||||||||||||||||||||||||||
yoleaux | 5 Mar 2018 02:33Z <Zoffix> MasterDuke: FWIW rindolf's program in NQP version; still 1.86x slower. Maybe some of these ops don't get JITted? No idea how to check: gist.github.com/zoffixznet/cb19c86...19f7ee9383 | ||||||||||||||||||||||||||||||||||||||
5 Mar 2018 07:41Z <brrt> MasterDuke: yeah I'm seeing it. I really wonder how you're getting a CAST_LOAD_ADDR from that | |||||||||||||||||||||||||||||||||||||||
Zoffix | FWIW that gist is outdated. Latest version is 2.5x faster than P5 for me | 00:59 | |||||||||||||||||||||||||||||||||||||
this one gist.github.com/zoffixznet/4df7a30...fb65bbb0a4 | 01:00 | ||||||||||||||||||||||||||||||||||||||
MasterDuke: probably.... I don't see an nqp push above. | 01:01 | ||||||||||||||||||||||||||||||||||||||
timotimo | aha! | ||||||||||||||||||||||||||||||||||||||
Geth | nqp: 070ec18bb2 | (Timo Paulssen)++ | src/vm/moar/HLL/Backend.nqp speed up sql output by about 30% by accumulating pieces of string and writing data out to the file when there's enough. Before this change we'd write mostly below 100 bytes per write call, now the number is between 10_000 and 15_000. |
||||||||||||||||||||||||||||||||||||||
Zoffix | :) | ||||||||||||||||||||||||||||||||||||||
Geth | nqp: aa765773d8 | (Timo Paulssen)++ | tools/build/MOAR_REVISION [MoarVM Bump] Brings 2 commits MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...g408555456 408555456 ignore libuv-caused "fake" empty datagrams 6466cd639 expose both hostname and port of received datagrams |
||||||||||||||||||||||||||||||||||||||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...g408555456 | |||||||||||||||||||||||||||||||||||||||
timotimo | oh, i wasn't sure if i should push that commit yet, the other one | 01:02 | |||||||||||||||||||||||||||||||||||||
oh well, i'll push any necessary debugging afterwards | |||||||||||||||||||||||||||||||||||||||
MasterDuke | cool, working now | 01:03 | |||||||||||||||||||||||||||||||||||||
timotimo | sorry about that | 01:04 | |||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build failed. Timo Paulssen 'Merge branch 'udp_receive_hostname_port' | 01:09 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/350095318 github.com/rakudo/rakudo/compare/8...a26ca18e08 | |||||||||||||||||||||||||||||||||||||||
MasterDuke | timotimo: np. btw, any idea if it would be faster (or just easier on the GC) to create a fixed size nqp::list_s upfront and just stick the bits in? | 01:12 | |||||||||||||||||||||||||||||||||||||
timotimo | i think the GC only cares about the amount of active slots inside the list; the slot array itself is alloced and realloced to grow; pre-sizing it to the correct size can help, though. | 01:14 | |||||||||||||||||||||||||||||||||||||
however, after the list has been full the first time, it won't have to grow any more unless it passes that point again | |||||||||||||||||||||||||||||||||||||||
MasterDuke | right, just realized that | ||||||||||||||||||||||||||||||||||||||
but still, it'd be a bunch of bindpos_s instead of push_s, would that make a difference? | 01:15 | ||||||||||||||||||||||||||||||||||||||
timotimo | i would assume push_s to be better since you don't have to carry around the index yourself and do the increments | 01:16 | |||||||||||||||||||||||||||||||||||||
Zoffix | m: <a b c>.grep: { state %code-files is SetHash = <foo bar>; LEAVE %code-files{$_}--; } | 01:23 | |||||||||||||||||||||||||||||||||||||
camelia | Invocant of method 'SET-SELF' must be an object instance of type 'QuantHash', not a type object of type 'SetHash'. Did you forget a '.new'? in block at <tmp> line 1 in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
Zoffix | boo | ||||||||||||||||||||||||||||||||||||||
m: <a b c>.grep: { state %code-files is SetHash = <foo bar>; LEAVE dd %code-files } | |||||||||||||||||||||||||||||||||||||||
camelia | SetHash.new("foo","bar") SetHash SetHash |
||||||||||||||||||||||||||||||||||||||
Zoffix | `state` is buggy AF | ||||||||||||||||||||||||||||||||||||||
MasterDuke | hm, if my benchmark is representative, bindpos_s is faster and uses less memory | 01:24 | |||||||||||||||||||||||||||||||||||||
timotimo | oh? i'd be interested in that benchmark | 01:25 | |||||||||||||||||||||||||||||||||||||
Zoffix | Ah, it's RT#131508 | 01:26 | |||||||||||||||||||||||||||||||||||||
synopsebot | RT#131508 [new]: rt.perl.org/Ticket/Display.html?id=131508 [BUG] `state` with % is Sethash in whenever block ends up with a type object on second iteration | ||||||||||||||||||||||||||||||||||||||
MasterDuke | 'my int $a := 0; my $l := nqp::list_s(); nqp::setelems($l, 500); while $a++ < 1_000_000 { my int $i := 0; while $i++ < 500 { nqp::bindpos_s($l, $i, "asdfasdfasdfasdfasdfasdf") } }' | ||||||||||||||||||||||||||||||||||||||
vs 'my int $a := 0; my $l := nqp::list_s(); while $a++ < 1_000_000 { my int $i := 0; while $i++ < 500 { nqp::push_s($l, "asdfasdfasdfasdfasdfasdf") } }' | |||||||||||||||||||||||||||||||||||||||
/usr/bin/time reported 11.4s for push_s and 3926972maxresident | 01:27 | ||||||||||||||||||||||||||||||||||||||
but 7.8s for bindpos_s and 20536maxresident | |||||||||||||||||||||||||||||||||||||||
oh, whoops, forgot to clear the array in the push_s version | |||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. Timo Paulssen 'Merge branch 'udp_receive_hostname_port' | ||||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/350095318 github.com/rakudo/rakudo/compare/8...a26ca18e08 | |||||||||||||||||||||||||||||||||||||||
timotimo | fascinating | 01:28 | |||||||||||||||||||||||||||||||||||||
warrants a closer look i'd say | |||||||||||||||||||||||||||||||||||||||
but i'll go sleep first | |||||||||||||||||||||||||||||||||||||||
MasterDuke | add the splice is a little better | 01:29 | |||||||||||||||||||||||||||||||||||||
'my int $a := 0; my $l := nqp::list_s(); my $e := nqp::list_s(); while $a++ < 1_000_000 { my int $i := 0; while $i++ < 500 { nqp::push_s($l, "asdfasdfasdfasdfasdfasdf") }; nqp::splice($l, $e, 0, 500) }' | |||||||||||||||||||||||||||||||||||||||
10.3s and 20948maxresident | 01:30 | ||||||||||||||||||||||||||||||||||||||
so mem is the same as bindpos_s, but it's a little slower | |||||||||||||||||||||||||||||||||||||||
later... | |||||||||||||||||||||||||||||||||||||||
timotimo | oh, haha | 01:31 | |||||||||||||||||||||||||||||||||||||
yeah, you weren't clearing out the list between the runs | |||||||||||||||||||||||||||||||||||||||
so the push version would make a million more entries into that hash | |||||||||||||||||||||||||||||||||||||||
sorry, list | |||||||||||||||||||||||||||||||||||||||
Zoffix | m: say Mu.^lookup('splice') ~~ Callable | 01:32 | |||||||||||||||||||||||||||||||||||||
camelia | False | ||||||||||||||||||||||||||||||||||||||
Zoffix | curses... I can move routines, but not the classes | ||||||||||||||||||||||||||||||||||||||
And I already wrote a test covering the use -_- | |||||||||||||||||||||||||||||||||||||||
m: Mu.^lookup("splice").^compose; say Mu.^lookup('splice') ~~ Callable | 01:34 | ||||||||||||||||||||||||||||||||||||||
camelia | True | ||||||||||||||||||||||||||||||||||||||
Zoffix | guess I'll hack it that way | ||||||||||||||||||||||||||||||||||||||
grrrrr | 01:39 | ||||||||||||||||||||||||||||||||||||||
oh nm, it might be OK. But there's `HYPER( sub (\obj) is nodal { obj."$meth-name"(|c) }, SELF ),` in Mu.pm6 | |||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build failed. Timo Paulssen '[NQP Bump] Brings 3 commits | 01:41 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/350096653 github.com/rakudo/rakudo/compare/a...2c901921b4 | |||||||||||||||||||||||||||||||||||||||
Zoffix | So.... wtf is there a proto-only for splice in Mu? | ||||||||||||||||||||||||||||||||||||||
m: Any.^lookup('EXISTS-KEY').^compose; say Iterator.^lookup('EXISTS-KEY') ~~ Callable | 01:48 | ||||||||||||||||||||||||||||||||||||||
camelia | False | ||||||||||||||||||||||||||||||||||||||
Zoffix | ZofBot: cue expletives | ||||||||||||||||||||||||||||||||||||||
ZofBot | Zoffix, And Father said he would pay someone £50 to do it after school and he wasn’t going to take no for an answer | ||||||||||||||||||||||||||||||||||||||
Zoffix | Right this ain't gonna work. | 01:49 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo/fix-Callable-composition: 3506395576 | (Zoffix Znet)++ | 6 files Draft of fixing some routines not doing Callable role Was working out OK, until hitting this issue: Any.^lookup('EXISTS-KEY').^compose; say Iterator.^lookup('EXISTS-KEY') ~~ Callable; # False So not only we need to recompose methods, but also need to go through kids and recompose them... |
01:51 | |||||||||||||||||||||||||||||||||||||
Zoffix | .tell jnthn Another idea that promised to be OK, but ran into hacky category (mentioned in commit message): github.com/rakudo/rakudo/commit/3506395576 The start of src/core/traited-routines.pm6 file added there does .^compose on methods [missing BEGIN block]. Is it too much do go through all methods of all types defined by that point and do .^compose on anything that !~~ Callable? | 01:53 | |||||||||||||||||||||||||||||||||||||
yoleaux | Zoffix: I'll pass your message to jnthn. | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 3259953e5f | usev6++ | t/spectest.data Don't run stress tests for lock-async on JVM Since fixing the ThreadPoolScheduler (commit 8d954027fd) these tests are dying badly. I'm quite sure, an underlying problem is surfacing now. |
06:49 | |||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. usev6 'Don't run stress tests for lock-async on JVM | 07:30 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/350179339 github.com/rakudo/rakudo/compare/d...59953e5f65 | |||||||||||||||||||||||||||||||||||||||
Geth | roast: 2592631616 | LLFourn++ | S03-operators/set_elem.t Tests for GH #1593 github.com/rakudo/rakudo/issues/1593 |
08:21 | |||||||||||||||||||||||||||||||||||||
|Tux| |
|
11:49 | |||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. Timo Paulssen '[NQP Bump] Brings 3 commits | 11:56 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/350096653 github.com/rakudo/rakudo/compare/a...2c901921b4 | |||||||||||||||||||||||||||||||||||||||
Geth | nqp: 7e8e93012a | (Tom Browder)++ (committed using GitHub Web editor) | README.pod add reference to built-in routines |
12:15 | |||||||||||||||||||||||||||||||||||||
dogbert17 | multi sub foo(Int $x where 1..10) { state $bar = 42; say $bar; }; foo(3); | 12:16 | |||||||||||||||||||||||||||||||||||||
evalable6 | (Any) | ||||||||||||||||||||||||||||||||||||||
dogbert17 | multi sub foo(Int $x) { state $bar = 42; say $bar; }; foo(3); | ||||||||||||||||||||||||||||||||||||||
evalable6 | 42 | ||||||||||||||||||||||||||||||||||||||
timotimo | huh, that's fascinating | 12:18 | |||||||||||||||||||||||||||||||||||||
dogbert17 | timotimo: RT #130257 | 12:19 | |||||||||||||||||||||||||||||||||||||
synopsebot | RT#130257 [new]: rt.perl.org/Ticket/Display.html?id=130257 [BUG] state variable not initialized in some multi subs | ||||||||||||||||||||||||||||||||||||||
Geth | nqp: 5bc5283693 | (Tom Browder)++ (committed using GitHub Web editor) | examples/fib.nqp don’t need “nqp::” for built-ins |
12:21 | |||||||||||||||||||||||||||||||||||||
nqp: ffa648a2fe | (Tom Browder)++ (committed using GitHub Web editor) | examples/loops.nqp make example show off nqp features a bit more |
12:27 | ||||||||||||||||||||||||||||||||||||||
nqp: ea1349b348 | (Tom Browder)++ (committed using GitHub Web editor) | README.pod add note about speed-ups using NQP |
12:35 | ||||||||||||||||||||||||||||||||||||||
travis-ci | NQP build failed. Tom Browder 'add note about speed-ups using NQP' | 12:52 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/perl6/nqp/builds/350295474 github.com/perl6/nqp/compare/ffa64...1349b3486c | |||||||||||||||||||||||||||||||||||||||
Geth | nqp: a065e99f08 | (Tom Browder)++ | 2 files rename and prettify with markdown |
12:59 | |||||||||||||||||||||||||||||||||||||
nqp: 17a1eedeae | (Tom Browder)++ | 8 files Merge branch 'master' of github.com/perl6/nqp |
|||||||||||||||||||||||||||||||||||||||
travis-ci | NQP build passed. Tom Browder 'Merge branch 'master' of github.com/perl6/nqp' | 13:18 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/perl6/nqp/builds/350305437 github.com/perl6/nqp/compare/ea134...a1eedeae06 | |||||||||||||||||||||||||||||||||||||||
Geth | nqp: 83469703e5 | (Zoffix Znet)++ | tools/build/MOAR_REVISION [MoarVM Bump] Brings 2 commits MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...3-ge639691 e639691 [JIT] Release only spill slots without active overlap dffe6f9 We already have a MVM_spesh_get_lex_type |
13:28 | |||||||||||||||||||||||||||||||||||||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...3-ge639691 | |||||||||||||||||||||||||||||||||||||||
rakudo: ec9a227b37 | (Zoffix Znet)++ | tools/build/NQP_REVISION [NQP Bump] Brings 7 commits NQP bump brought: github.com/perl6/nqp/compare/2018....3-g8346970 8346970 [MoarVM Bump] Brings 2 commits 17a1eed Merge branch 'master' of github.com/perl6/nqp a065e99 rename and prettify with markdown ea1349b add note about speed-ups using NQP ... (7 more lines) |
13:29 | ||||||||||||||||||||||||||||||||||||||
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....3-g8346970 | |||||||||||||||||||||||||||||||||||||||
timotimo | tbrowder: it may not be a good idea to suggest nqp usage to module authors that aren't at the same time core devs, since we make no stability guarantees for nqp:: ops at all | 13:37 | |||||||||||||||||||||||||||||||||||||
tbrowder | how can that be since it is the basis of Rakudo Perl 6? | 13:39 | |||||||||||||||||||||||||||||||||||||
[Coke] | timotimo++ | 13:40 | |||||||||||||||||||||||||||||||||||||
we can change nqp because we make rakudo still work when we do. | |||||||||||||||||||||||||||||||||||||||
timotimo | very easy: the core devs develop both rakudo and nqp, and when changes are made in nqp, the corresponding changes are made in rakudo immediately, then the version requirement is bumped | ||||||||||||||||||||||||||||||||||||||
geekosaur | tbrowder, because the higher level can provide guarantees | ||||||||||||||||||||||||||||||||||||||
[Coke] | so rakudo stays working despite the changes in nqp. | ||||||||||||||||||||||||||||||||||||||
geekosaur | if I write a line of C code, I can be reasonably certain it will compile to the same functionality on x86 or arm | ||||||||||||||||||||||||||||||||||||||
which says nothing about the representation of the compiled code | 13:41 | ||||||||||||||||||||||||||||||||||||||
timotimo | some things are indeed very unlikely to change. atpos or existskey for example | ||||||||||||||||||||||||||||||||||||||
but ops have been deprecated in the past, and it's not unlikely others will change behaviour in subtle ways that can trip up module authors that don't follow core development closely | |||||||||||||||||||||||||||||||||||||||
tbrowder | ok, so use of the stable rakudo is accompanied by its stable nqp, and an nqp user should have tests... | ||||||||||||||||||||||||||||||||||||||
timotimo | not only in stable rakudo | 13:42 | |||||||||||||||||||||||||||||||||||||
we increase the version requirement for nqp on the master branch multiple times in between releases | 13:43 | ||||||||||||||||||||||||||||||||||||||
github.com/rakudo/rakudo/commits/m...P_REVISION - check out the history of this file | |||||||||||||||||||||||||||||||||||||||
should we remove mention of the @rakudoperl twitter account from the nqp readme? its last tweet was a rakudo star release on 2013, the one before that was 2011 | 13:45 | ||||||||||||||||||||||||||||||||||||||
and its bio is "the perl 6 compiler for parrot" %) | |||||||||||||||||||||||||||||||||||||||
wait, i saw that in the rakudo readme | 13:47 | ||||||||||||||||||||||||||||||||||||||
it should probably link to p6lert, too | |||||||||||||||||||||||||||||||||||||||
Geth | nqp: ca77cf86e0 | (Zoffix Znet)++ (committed using GitHub Web editor) | README.pod Correct note suggesting use of NQP We don't offer any end-user support, so we shouldn't suggest people to use NQP for performance gains. |
13:54 | |||||||||||||||||||||||||||||||||||||
rakudo: 78ed66c704 | (Timo Paulssen)++ | README.md remove mention of long-abandoned twitter account |
14:00 | ||||||||||||||||||||||||||||||||||||||
rakudo: e09f2ecc41 | (Timo Paulssen)++ | README.md point out the p6lert service near the beginning |
|||||||||||||||||||||||||||||||||||||||
Zoffix | tbrowder: "how can it be": we can't remove or change behaviour of Perl 6's &lines() much, because people use that code and rely on its specific behaviour. If we change &lines, we'll break the users' code, because we have no guarantees we updated all of the code to use the new &lines correctly. However, we *can* change IO::Handle!LINES-ITERATOR any way we want and can even remove it, because it's a private | 14:02 | |||||||||||||||||||||||||||||||||||||
routine so the only use of it are inside Rakudo. We can update *all* of its usage while changing/removing it, thus no code gets broken. Same is with `nqp`, except unlike `!LINES-ITERATOR` we don't have an easy means to prevent other code using it, so we have to enforce it by documentation instead. Right now we can change `nqp::stat` to be more performant by modifying how it's called, but if users start | |||||||||||||||||||||||||||||||||||||||
using NQP code, we can't easily change it without breaking code. | |||||||||||||||||||||||||||||||||||||||
m: sub nqp-stat-s($f) { $f.IO.s }; sub file-size { nqp-stat-s $^f }; say file-size $*HOME.add: ".bashrc" | |||||||||||||||||||||||||||||||||||||||
camelia | 35 | ||||||||||||||||||||||||||||||||||||||
Zoffix | m: sub nqp-stat-s($f, $stat) { $f.IO."$stat"() }; sub file-size { nqp-stat-s $^f, "s" }; say file-size $*HOME.add: ".bashrc" | 14:03 | |||||||||||||||||||||||||||||||||||||
camelia | 35 | ||||||||||||||||||||||||||||||||||||||
Zoffix | tbrowder: ^ above I changed how private nqp-stat-s is used and what it does, but the `file-size` routine remains unchanged and still gives the same results, even though under the hood it now uses a different NQP routine. Same with Rakudo. Yes, it requires stable NQP and NQP has tests, but it doesn't mean users are free to use NQP, because it change. | 14:04 | |||||||||||||||||||||||||||||||||||||
s/changed/removed nqp-stat entirely and added nqp-stat-s instead/; | |||||||||||||||||||||||||||||||||||||||
tbrowder: and make enough people to use something unsupported and then this happens: irclog.perlgeek.de/perl6/2017-05-28#i_14650194 | 14:12 | ||||||||||||||||||||||||||||||||||||||
tbrowder | ok, i get it, but authors of published modules are already using nqp (viz., drforr). | 14:30 | |||||||||||||||||||||||||||||||||||||
Zoffix | tbrowder: that's not an argument to recommend more people do it. | 14:32 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | they're free to do that, and their code is free to break any time | ||||||||||||||||||||||||||||||||||||||
Zoffix | viz and DrForr will have their modules broken and will have only themselves to blame for using unsupported features. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | and obviously I will not be ensuring that breakage due to the use of nqp ops doesn't happen for the next release | 14:33 | |||||||||||||||||||||||||||||||||||||
tbrowder | on that note, since cpan doesn’t show the current test status of modules, is there such a list somewhere else? i think zoffix runs tests periodically and lists some kind of results. | 14:35 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | you mean toaster? | ||||||||||||||||||||||||||||||||||||||
this: toast.perl6.party/ | |||||||||||||||||||||||||||||||||||||||
tbrowder | AlexDaniel: what about changing my comments to reflect the inhernt unstable nature of nqp? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | also I run toaster myself many times before the release, but I don't publish the results | 14:36 | |||||||||||||||||||||||||||||||||||||
tbrowder: Zoffix++ already fixed the note: github.com/perl6/nqp/commit/ca77cf...7108c00300 | |||||||||||||||||||||||||||||||||||||||
tbrowder | ref toaster, i, as a module user, would like to see toaster results run regularly (i.e., automatically) and see results for linux and windows. | 14:38 | |||||||||||||||||||||||||||||||||||||
Zoffix: good mod, thnx | 14:40 | ||||||||||||||||||||||||||||||||||||||
Zoffix | tbrowder: well volunteered? | ||||||||||||||||||||||||||||||||||||||
eco: Toaster | |||||||||||||||||||||||||||||||||||||||
god's sake. | |||||||||||||||||||||||||||||||||||||||
eco: Toaster | 14:41 | ||||||||||||||||||||||||||||||||||||||
buggable | Zoffix, Toaster 'Toaster of Perl 6 Ecosystem Modules': github.com/zoffixznet/perl6-Toaster | ||||||||||||||||||||||||||||||||||||||
Zoffix | tbrowder: you're free to donate the computation time and publish the results ^ | ||||||||||||||||||||||||||||||||||||||
tbrowder | doesn’t perl6 have hosts to run such tests? | 14:42 | |||||||||||||||||||||||||||||||||||||
lizmat | tbrowder: we don't have anything like cpan-testers (yet) | 14:43 | |||||||||||||||||||||||||||||||||||||
Zoffix | tbrowder: we have a VM that could be used. You can speak to nine and he'd give you the keys to set up the software to make continuous Toaster run. | ||||||||||||||||||||||||||||||||||||||
lizmat | I hope the next PTS will allow us to set something up | ||||||||||||||||||||||||||||||||||||||
Zoffix | eco: Zef::CPANReporter | ||||||||||||||||||||||||||||||||||||||
buggable | Zoffix, Zef::CPANReporter 'Zef plugin to send test reports to cpantesters': github.com/garu/Zef-Reporter | ||||||||||||||||||||||||||||||||||||||
Zoffix | We do, in a way ^. Just need to find people to use it | 14:44 | |||||||||||||||||||||||||||||||||||||
tbrowder | i’m happy to use my server while i’m still kicking if i can get som advice for setup.. | ||||||||||||||||||||||||||||||||||||||
Zoffix | tbrowder: this should be it: github.com/zoffixznet/perl6-Toaste...e-vm-setup | ||||||||||||||||||||||||||||||||||||||
tbrowder: but I found sometimes the process hangs, which makes automating it entirely a bit problematic | |||||||||||||||||||||||||||||||||||||||
(more accurately, some module's installation hangs and the .kill that's supposed to kill them ain't working). | 14:45 | ||||||||||||||||||||||||||||||||||||||
At least that happend in the past, but I think recently it was behaving OK. | 14:46 | ||||||||||||||||||||||||||||||||||||||
tbrowder | ok, looks like good starting instructions, but don’t hold your collective breaths... | 14:55 | |||||||||||||||||||||||||||||||||||||
Zoffix | tbrowder: oh, and the entirely automated version would need to periodically nuke ~/.zef (or, possibly, just the cache dir inside). On my toaster VM in the past I did run out of disk space due to that dir being really big | 15:05 | |||||||||||||||||||||||||||||||||||||
tbrowder | ok, i now have a dedicated server getting provisioned with Deb 8, 64-bit. anyone wanting access can send me their desired user name and a public key. i will give them sudoer privileges. ip tba when available. | 15:51 | |||||||||||||||||||||||||||||||||||||
oh, and the ip will be associated with domain perl6.club | 15:55 | ||||||||||||||||||||||||||||||||||||||
Geth | roast: ronaldxs++ created pull request #393: Skip repeated socket close test on windows rather than hang. |
18:37 | |||||||||||||||||||||||||||||||||||||
roast: 8a4a0af471 | (Ronald Schmidt)++ | S32-io/IO-Socket-INET.t Skip repeated socket close test on windows rather than hang. |
18:44 | ||||||||||||||||||||||||||||||||||||||
roast: 86abb5376b | (Zoffix Znet)++ (committed using GitHub Web editor) | S32-io/IO-Socket-INET.t Merge pull request #393 from ronaldxs/io-socket-inet-windows-hang Skip repeated socket close test on windows rather than hang. |
|||||||||||||||||||||||||||||||||||||||
mr_ron | Noticed that for WSL (windows subsystem linux) $*DISTRO.name is ubuntu but $*DISTRO.is-win is false. Wondering if $*DISTRO.is-win should be true on WSL? | 18:51 | |||||||||||||||||||||||||||||||||||||
Zoffix | m: my class MuskRat2 is Rat is FatRat does Rational[Int, Int] {}; say MuskRat2.new(1, 2).perl; | 19:17 | |||||||||||||||||||||||||||||||||||||
camelia | Cannot resolve caller infix:<==>(DeT, Int); none of these signatures match: ($?) (\a, \b) (Real \a, Real \b) (Int:D \a, Int:D \b) (int $a, int $b) (Num:D \a, Num:D \b --> Bool) (num $a, num $b --> Bool) … |
||||||||||||||||||||||||||||||||||||||
Zoffix | .oO( DeT, Int ? some weird bug that bakes in type captures? ) |
19:18 | |||||||||||||||||||||||||||||||||||||
mr_ron: isn't WSL meant to be a ubuntu on windows and parts that are broken are just 'cause they're not implemented? I'd expect a .is-win to give me a windows filesystem and cmd.exe for a shell, not make it essentially meaningless. A lot of our tests operate on that belief. We could have an easier method to detect WSL, but shoving it into .is-win is a big mistake IMO | 19:22 | ||||||||||||||||||||||||||||||||||||||
Don't have my Win10 box by my side, but isn't `$*KERNEL.release.contains: "Microsoft"` essentially it when it comes to WSL? | 19:28 | ||||||||||||||||||||||||||||||||||||||
Doesn't look like a huge amount of typing, given you'd not need to detect it as often as differences between Win32 and linux | 19:29 | ||||||||||||||||||||||||||||||||||||||
mr_ron | r: dd $*KERNEL | 19:57 | |||||||||||||||||||||||||||||||||||||
camelia | Kernel linux = Kernel.new(release => Str, name => "linux", auth => "unknown", version => Version, signature => Blob, desc => Str) | ||||||||||||||||||||||||||||||||||||||
mr_ron | Please forgive my ignorance but why isn't Kernel.release expanded? | 20:01 | |||||||||||||||||||||||||||||||||||||
r: say $*KERNEL.release | |||||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
#1 SMP Sun Oct 22 06:56:24 UTC 2017 (1d80e8a) | |||||||||||||||||||||||||||||||||||||||
Zoffix | What do you mean edxpanded? Do you mean why it's not part of `dd`'s output above? It's probably not an attribute | 20:02 | |||||||||||||||||||||||||||||||||||||
s: $*KERNEL, 'release', \() | |||||||||||||||||||||||||||||||||||||||
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/e09f...el.pm6#L60 | ||||||||||||||||||||||||||||||||||||||
Zoffix | yeah just a method that shells out | ||||||||||||||||||||||||||||||||||||||
mr_ron | Got it thanks - will fix my patch to use $*KERNEL unless you object ... | 20:03 | |||||||||||||||||||||||||||||||||||||
Zoffix | mr_ron: well, does it work? I didn't test it and was just going off this: github.com/MoarVM/MoarVM/commit/45...921d11R815 | 20:04 | |||||||||||||||||||||||||||||||||||||
which'd probably be available in $*KERNEL.release | |||||||||||||||||||||||||||||||||||||||
mr_ron | My patch works but seems not to use best way to test for WSL. | 20:05 | |||||||||||||||||||||||||||||||||||||
Zoffix | yeah | 20:06 | |||||||||||||||||||||||||||||||||||||
m: dd $*KERNEL.Capture | 20:08 | ||||||||||||||||||||||||||||||||||||||
camelia | \(:auth("unknown"), :desc(Str), :name("linux"), :release("#1 SMP Sun Oct 22 06:56:24 UTC 2017 (1d80e8a)"), :signature(Blob), :version(v4.4.92.31.default)) | ||||||||||||||||||||||||||||||||||||||
Geth | roast: ronaldxs++ created pull request #394: Fix wsl test thanks to explanation by Zoffix++. Oops |
20:24 | |||||||||||||||||||||||||||||||||||||
mr_ron | Patch could still be better. Thinking cygwin or something could be another windows linux. Should really check if distro is ubuntu I think. | 20:40 | |||||||||||||||||||||||||||||||||||||
working on it now | |||||||||||||||||||||||||||||||||||||||
never mind I guess - would expect other windows linux to have the same winsock delay problem. | 20:43 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | m: 'fog'.subst: :g, /./, 'x'; say $/ | 21:06 | |||||||||||||||||||||||||||||||||||||
camelia | 「g」 | ||||||||||||||||||||||||||||||||||||||
Geth | roast: bbf13ab9c5 | (Ronald Schmidt)++ | S32-io/IO-Socket-INET.t Fix wsl test thanks to explanation by Zoffix++. Oops |
21:10 | |||||||||||||||||||||||||||||||||||||
roast: 08b6dbeaf8 | (Zoffix Znet)++ (committed using GitHub Web editor) | S32-io/IO-Socket-INET.t Merge pull request #394 from ronaldxs/io-socket-inet-windows-hang Fix wsl test thanks to explanation by Zoffix++. Oops |
|||||||||||||||||||||||||||||||||||||||
dogbert17 | Zoffix: it looks as if your commit github.com/rakudo/rakudo/commit/95...a3bd2db657 might have fixed RT #129912 :-) | 21:26 | |||||||||||||||||||||||||||||||||||||
synopsebot | RT#129912 [new]: rt.perl.org/Ticket/Display.html?id=129912 [OPTIMIZER] Subset produces Cannot invoke this object (REPR: Null; VMNull) | ||||||||||||||||||||||||||||||||||||||
MasterDuke | timotimo: did you try benchmarking a bindpos_s version of the sql output? | 21:47 | |||||||||||||||||||||||||||||||||||||
timotimo | i did not | 21:50 | |||||||||||||||||||||||||||||||||||||
dogbert17 | Zoffix: shouldn't the test in github.com/perl6/roast/commit/7eea...aa0b0207ff be enough to close RT #126897 ? | 22:47 | |||||||||||||||||||||||||||||||||||||
synopsebot | RT#126897 [open]: rt.perl.org/Ticket/Display.html?id=126897 [BUG] Slip objects deparse as List | ||||||||||||||||||||||||||||||||||||||
Zoffix | dogbert17: thanks. I closed those tickets. What ticket is `'fog'.subst: :g, /./, 'x'; say $/`? The fix should be trivial | 23:05 | |||||||||||||||||||||||||||||||||||||
dogbert17 | Zoffix: let me check ... | 23:06 | |||||||||||||||||||||||||||||||||||||
RT #130688 | 23:08 | ||||||||||||||||||||||||||||||||||||||
synopsebot | RT#130688 [new]: rt.perl.org/Ticket/Display.html?id=130688 [BUG] .subst/.subst-mutate with :g do not set $/ to all the matches | ||||||||||||||||||||||||||||||||||||||
Zoffix | Thanks | 23:09 | |||||||||||||||||||||||||||||||||||||
dogbert17 | thanks for closing the other RT's I wasn't 100% certain hence the questions | ||||||||||||||||||||||||||||||||||||||
Geth | nqp: e98481898e | (Zoffix Znet)++ (committed using GitHub Web editor) | 2 files Use correct extension for file format Fixes github.com/rakudo/rakudo/issues/1597 R#1597 |
23:10 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#1597 [open]: github.com/rakudo/rakudo/issues/1597 nqp/docs/jvminterop-goals.md is not in markdown format | ||||||||||||||||||||||||||||||||||||||
Geth | nqp: 50d436a7d0 | (Zoffix Znet)++ (committed using GitHub Web editor) | docs/jvminterop-goals.pod Fix encoding error |
||||||||||||||||||||||||||||||||||||||
dogbert17 | Zoffix: slightly OT but perhaps this is something for you: www.vermintide.com/ | 23:12 | |||||||||||||||||||||||||||||||||||||
Zoffix | I avoid Warhammer stuff. Doesn't strike me as something I'd enjoy | 23:38 |