<div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hello...</div><div><br></div><div>I have the following code:</div><div><br></div><div>rf = Polyglot.eval(&quot;R&quot;, &lt;&lt;-R)<br>  function(ruby_obj) {<br>    print(ruby_obj);<br>    ruby_obj$to_s();<br>  }<br>R<br><br>h = [1, 2, 3, 4]<br>puts h<br><br>rf.call(h)<br>puts h<br></div><div><br></div><div>The result:</div><div><br></div><div>1<br>2<br>3<br>4<br>[polyglot value]<br>[1] 1 2 3 4<br><br>An error occurred while loading ./specs/tmp.rb.<br>Failure/Error: rf.call(h)<br><br>RuntimeError:<br>  org.truffleruby.language.control.RaiseException: can&#39;t convert String into Integer with to_int (TypeError) (RInternalError)<br>      from com.oracle.truffle.r.nodes.function.FunctionDefinitionNode.execute(FunctionDefinitionNode.java:318)<br>      from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:269)<br>      from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:258)<br>      from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:248)<br>      from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:230)<br>      from org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:213)<br>      from org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.callProxy(OptimizedDirectCallNode.java:86)<br>      from org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:70)<br>      from com.oracle.truffle.r.nodes.function.call.CallRFunctionNode.execute(CallRFunctionNode.java:59)<br>      from com.oracle.truffle.r.nodes.function.RCallNode$DispatchedCallNode.execute(RCallNode.java:1155)<br>  Caused by:<br>  (eval):3:in `convert_type&#39;: can&#39;t convert String into Integer with to_int (TypeError)<br>      from (eval):3:in `rb_to_integer&#39;<br>      from (eval):3:in `rb_to_int&#39;<br>      from (eval):3:in `rb_num2long&#39;<br>      from (eval):3:in `element_reference_fallback&#39;<br>      from (eval):3:in `[]&#39;<br>      from (eval):3:in `function(ruby_obj) {\n    print(ruby_obj)&#39;<br>  (exception java.lang.NullPointerException null org.truffleruby.language.backtrace.BacktraceFormatter.formatForeign(BacktraceFormatter.java:259)<br>      from /home/rbotafogo/desenv/cantata/specs/tmp.rb:35:in `&lt;top (required)&gt;&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:2034:in `load&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:2034:in `load&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:2034:in `__send__&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:2034:in `load_file_handling_errors&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1560:in `block in load_spec_files&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1558:in `each&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1558:in `load_spec_files&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:98:in `setup&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:86:in `run&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:71:in `run&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:45:in `invoke&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/lib/ruby/gems/2.4.0/gems/rspec-core-3.8.0/exe/rspec:4:in `&lt;top (required)&gt;&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/bin/rspec:23:in `load&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/bin/rspec:23:in `load&#39;<br>      from /home/rbotafogo/lib/graalvm-ce-1.0.0-rc6/jre/languages/ruby/bin/rspec:23:in `&lt;main&gt;&#39;<br>  Translated to internal error<br><br></div><div><br>-- <br><div dir="ltr" class="gmail_signature">Rodrigo Botafogo<br><br></div></div></div></div></div>