The beakerx
object synchronizes values between languages. BeakerX's current implementation works with metaprogramming and serializing the objects to JSON, so it's not recommended for more than a few MB of data. Using Arrow and shared memory to remove that limitation is on the agenda.
Start in Groovy:
beakerx.bar = "a groovy value"
Translate to JavaScript:
%%javascript
console.log(beakerx.bar);
%%javascript
beakerx.bar = [23, 48, 7, "from JS"];
And back to Groovy:
beakerx.bar
Or Python:
%%python
from beakerx import beakerx
beakerx.bar
%%python
from beakerx import beakerx
beakerx.bar = [2, 'python', 'value']
beakerx.bar
Or Scala:
%%scala
beakerx.bar
%%scala
beakerx.bar = Array(3.14,"scala", "value")
And back to Groovy:
beakerx.bar