An unnecessary amount of work and memory usage could be avoided if analogous objects could share the same memory. Single dimension arrays are a good candidate.
Both Julia and v8 allow a framework to specify an external buffer of memory to be adopted by an array. This is done in Julia by using the function jl_ptr_to_array while v8 provides the function ArrayBuffer::New, and though not exactly the same, the parameters supplied to these two functions are similar. Also, Julia and V8 provide a mechanism to obtain the underlying memory buffer given an array. And finally both languages employ garbage collectors. So in theory both a v8 and Julia array could be created using the same buffer and so long as reference counts on both sides are maintained, then neither language will garbage collect one another's object.
sum(shared) is evaluated in the Julia environment.
var julia = require('node-julia') var a = julia.eval('shared = zeros(100)'); for(var i = 0;i < 100;i++) a[i] = i; console.log(julia.eval('sum(shared)'))
when run the following results
node shared_array_example.js 4950
Updated less than a minute ago