Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
vrurg m: module Foo { role R is export { }; our sub foo is export { }; }; for Foo::EXPORT::ALL::.keys -> $sym { note $sym, " => ", $sym.VAR.^name } 01:16
evalable6 &foo => Scalar
R => Scalar
vrurg Hm, is it how it must be??
Geth rakudo: vrurg self-assigned Re-import from a 3rd module results in installation of containerized symbols. github.com/rakudo/rakudo/issues/2979
vrurg++ created pull request #2980: Decontainerize non-scalar symbols upon import
02:12
roast: vrurg++ created pull request #550:
Add tests for non-containerized exports
02:41 travis-ci joined
travis-ci Rakudo build errored. Patrick Böker 'Merge pull request #2963 from patzim/static-exec-path 02:41
travis-ci.org/rakudo/rakudo/builds/544995816 github.com/rakudo/rakudo/compare/e...0c866cbe16
02:41 travis-ci left 03:27 epony joined 03:28 epony left 03:29 epony joined
Geth rakudo: 3af3bde70e | (Vadim Belman)++ | src/Perl6/World.nqp
Decontainerize non-scalar symbols upon import

rakudo/rakudo#2979
03:30
rakudo: 6565810f5c | (Vadim Belman)++ (committed using GitHub Web editor) | src/Perl6/World.nqp
Merge pull request #2980 from vrurg/EXPORT-bug

Decontainerize non-scalar symbols upon import
synopsebot RAKUDO#2979 [open]: github.com/rakudo/rakudo/issues/2979 Re-import from a 3rd module results in installation of containerized symbols.
roast: 8a9fee029b | (Vadim Belman)++ | 3 files
Add tests for non-containerized exports

rakudo/rakudo#2979
roast: 0228a15d2b | (Vadim Belman)++ (committed using GitHub Web editor) | 3 files
Merge pull request #550 from vrurg/EXPORT-bug

Add tests for non-containerized exports
04:51 travis-ci joined
travis-ci Rakudo build passed. Vadim Belman 'Merge pull request #2980 from vrurg/EXPORT-bug 04:51
travis-ci.org/rakudo/rakudo/builds/545044968 github.com/rakudo/rakudo/compare/3...65810f5c38
04:51 travis-ci left 05:26 jmerelo joined
jmerelo Time to fill the user survey again: docs.google.com/forms/d/e/1FAIpQLS...g/viewform 05:26
05:49 AlexDaniel left 06:15 jmerelo left 06:48 patrickb joined 07:35 epony left 07:52 robertle joined
lizmat Files=1262, Tests=108017, 202 wallclock secs (26.90 usr 7.20 sys + 2838.94 cusr 242.08 csys = 3115.12 CPU) 08:42
09:11 patrickb left
Geth nqp: 7cccdb13e2 | (Elizabeth Mattijsen)++ | src/core/NQPRoutine.nqp
Fix same pasto as github.com/rakudo/rakudo/commit/95a7866c07

Again, Michael Schroeder++ for the spot.
09:34
10:22 robertle left, rba[m] joined 10:31 robertle joined 10:35 patrickb joined
nine m: while True { FIRST exit; } 10:41
evalable6 WARNINGS for /tmp/lccJLg5wEJ:
Useless use of LOOP_BLOCK_1 symbol in sink context (line 1)
nine That warning makes no sense to me
lizmat pretty LTA, I agree 10:45
11:21 robertle left
nine And wrong I guess? 11:23
m: for 0..Inf { FIRST exit; } 11:24
evalable6
Geth rakudo: HarmtH++ created pull request #2982:
Don't forbid using variable during its initialisation
11:36
nqp: taboege++ created pull request #557:
Change associativity of exponentiation to 'right'
12:39
13:28 ggoebel joined 13:33 pamplemousse joined 14:07 AlexDaniel joined
Geth nqp: 33ae05ac69 | (Ben Davies)++ | 9 files
[js] Refactor src/vm/js/nqp-runtime/global-context.js
14:14
nqp: 9af601552b | (Paweł Murias)++ (committed using GitHub Web editor) | 9 files
Merge pull request #555 from Kaiepi/js

  [js] Refactor src/vm/js/nqp-runtime/global-context.js
14:30 pmurias joined
pmurias Kaiepi: I merged the PR (had to fix some bitrot first), thank you for contributing 14:30
Geth nqp: 9b64ecaeea | (Paweł Murias)++ | 3 files
[js] Fix serialization and deserialization of boot int/str arrays
15:11 pmurias left 15:34 patrickb left 17:32 MasterDuke left 17:33 pamplemousse_ joined 17:35 pamplemousse left 18:18 lucasb_ joined 19:59 sivoais joined 20:01 Geth left, Geth joined 20:09 pamplemousse_ left 20:24 AlexDaniel left 20:27 pmurias joined 20:31 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 20:36 |Tux| left 20:43 AlexDaniel left 20:45 AlexDaniel joined 20:48 AlexDaniel left 20:49 AlexDaniel joined 20:52 |Tux| joined 21:14 brrt joined
Geth nqp: 6dc8d600a4 | (Tobias Boege)++ | src/NQP/Grammar.nqp
Change associativity of exponentiation to 'right'

The associativity of the %exponentiation infix spec in NQP::Grammar was 'left' which does not match usual convention in mathematics and the associativity of ** in Perl 6. This commit changes it to 'right'.
21:32
nqp: 9ec13cf764 | (Tobias Boege)++ | t/nqp/013-op.t
Add tests for exponentiation in nqp/013-op.t

The exponentiation operator was not exercised before.
nqp: 85775f04f3 | (Tom Browder)++ (committed using GitHub Web editor) | 2 files
Merge pull request #557 from taboege/exp-associativity

Change associativity of exponentiation to 'right'
21:43 pamplemousse_ joined 21:44 pmurias left 21:58 pamplemousse_ left 22:00 pamplemousse_ joined 22:01 pmurias joined 22:14 pamplemousse_ left 22:17 pamplemousse_ joined
timotimo m: my Supplier::Preserving $msg .= new; start { react { whenever $msg.Supply { .say; if (False, False, False, True).pick { say "cannot write to closed socket"; die "oh no" } } } }; for ^20 { $msg.emit($_) }; $msg.done; 22:28
evalable6
timotimo m: my Supplier::Preserving $msg .= new; start { react { whenever $msg.Supply { .say; if (False, False, False, True).pick { say "cannot write to closed socket"; die "oh no" } } } }; for ^20 { $msg.emit($_) }; $msg.done; sleep 2;
evalable6 (exit code 1) 0
Unhandled exception in code scheduled on thread 4
cannot write to closed s…
timotimo, Full output: gist.github.com/3b49450eb60355a6b8...2768a63da4
timotimo m: my Supplier::Preserving $msg .= new; start { react { whenever $msg.Supply { .say; if (False, False, False, True).pick { say "cannot write to closed socket"; die "oh no" } } } }; for ^20 { $msg.emit($_); say "sent $_"; }; $msg.done; sleep 2; 22:29
evalable6 (exit code 1) sent 0
Unhandled exception in code scheduled on thread 4
sent 1
sent 2
sent …
timotimo, Full output: gist.github.com/e86a2dc4df8549b9bf...b6b2fada5d
timotimo m: my Supplier::Preserving $msg .= new; my $senser = supply { whenever $msg { emit $_; QUIT { say "the thing quit oh no" } }; }; start { react { whenever $senser { .say; if (False, False, False, True).pick { say "cannot write to closed socket"; die "oh no" } } } }; for ^20 { $msg.emit($_); say "sent $_"; }; $msg.done; sleep 2; 22:31
evalable6 (exit code 1) sent 0
Unhandled exception in code scheduled on thread 4
sent 1
sent 2
sent …
timotimo, Full output: gist.github.com/5ab3f9f26123c07386...0863e31805
timotimo m: my Supplier::Preserving $msg .= new; my $senser = supply { whenever $msg { emit $_; QUIT { say "the thing quit oh no" }; DONE { say "the message queue is done oh my"; }; LAST { say "the message senser is LASTed" } }; }; start { react { whenever $senser { .say; if (False, False, False, True).pick { say "cannot write to closed socket"; die "oh no" } } } }; for ^20 { $msg.emit($_); say "sent $_"; };
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/evB_K_202R
Undeclared name:
DONE used at line 1
timotimo $msg.done; sleep 2;
damn it, too long for irc
m: my Supplier::Preserving $msg .= new; my $senser = supply { whenever $msg.Supply.on-close({ say "the message supply closed" }) { emit $_; }; }; start { react { whenever $senser { .say; if (False, False, False, True).pick { say "cannot write to closed socket"; die "oh no" }; CATCH { done } } } }; for ^20 { $msg.emit($_); say "sent $_"; }; $msg.done; sleep 2; 22:36
evalable6 sent 0
sent 1
sent 2
sent 3
sent 4
sent 5
sent 6
sent 7
sent 8
sent 9
sent 10
sent 11
sent…
timotimo, Full output: gist.github.com/0cbb8af44287f473e9...0ec8c97b9d
22:36 brrt left
timotimo m: my Supplier::Preserving $msg .= new; my $senser = supply { whenever $msg.Supply.on-close({ say "the message supply closed" }) { emit $_; }; }; start { react { whenever $senser { .say; if (False, False, False, True).pick { say "cannot write to closed socket"; die "oh no" }; CATCH { done } } } }; for ^5 { $msg.emit($_); say "sent $_"; }; $msg.done; sleep 2; 22:36
evalable6 sent 0
sent 1
sent 2
sent 3
sent 4
0
1
2
cannot write to closed socket
the message supply closed
the message supply closed
kawaii Ooooo what's going on here 22:37
timotimo the .on-tap on the Supply allows you to be notified when the interested party has stopped listening 22:38
for example because the supply block in question has quit because of an exception 22:39
er, i don't mean .on-tap, i meant .on-close 22:42
m: my Supplier::Preserving $msg .= new; my $senser = $msg.Supply.on-close({ say "the message supply closed" }); start { react { whenever $senser { .say; if (False, False, False, True).pick { say "cannot write to closed socket"; die "oh no" }; CATCH { done } } } }; for ^5 { $msg.emit($_); say "sent $_"; }; $msg.done; sleep 2; 22:45
evalable6 sent 0
sent 1
sent 2
sent 3
sent 4
0
1
2
3
4
the message supply closed
the message supply closed
timotimo the factoring is more likely to look like this
kawaii :D 22:47
timotimo i won't stay up for too much longer 22:48
i think there's a little change that needs to go into Cro::WebSocket 22:51
let's see 22:53
22:55 pmurias left
timotimo ooh need to install all of cro before i can test stuff 22:56
22:56 pamplemousse_ left 22:57 pmurias joined
timotimo kawaii: can you test a patch for me? 22:57
kawaii timotimo: I certainly can tomorrow! 22:58
I have a local checkout of the module somewhere 22:59
timotimo gist.github.com/timo/b5fedaf5bea40...57addb25d0 23:00
ok, i've reached the "installing" phase of "zef install --force ." 23:02
there'll probably want to be a "this is the last message that was fully, successfully sent" thing 23:03
but noticing the connection has dropped in the first place is good
you'll need to receive the on-close promise as the second argument to the websocket block 23:06
kawaii timotimo: thanks, I'll patch my checkout tomorrow and try it out
23:17 pmurias left
timotimo [OK] 101 /chat - 127.0.0.1 23:17
Cannot write to a closed socket
keep the close-promise because on-close
though it occurs to me that you want it for the client, not the server
ok, i'll update the patch 23:21
that wasn't the right fix yet 23:26
same address has an attempt to get it working for the "client notices that the server disappeared" case. that doesn't do it yet. however, that's also not where i notice the "cannot send on a closed socket" error message in my test code so maybe i'm doing that part wrong 23:35
good luck!
and good night o/ 23:45