$*JUPYTER.register-comm('counter', -> :$in, :$out, :$data {
my atomicint $num = 0;
start react whenever Supply.interval(2) -> $i {
$out.send($num + $i);
done if $i > 4;
}
start while $in.receive -> $i {
$num ⚛= $i<num>;
}
}
)
%% javascript
var comm = Jupyter.notebook.kernel.comm_manager.new_comm('counter');
var el = $('<div style="text-align:center;">---</div>');
this.element.append(el);
var x = 10;
comm.on_msg(function(msg) {
el.html(msg.content.data);
comm.send({'num': x});
x = x + 10;
});