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 |