[racket] How to call a Julia function from DrRacket?

From: Konrad Hinsen (konrad.hinsen at fastmail.net)
Date: Sun Feb 2 03:13:35 EST 2014

Neil Toronto writes:

 > Enrique, if you don't mind my asking, where does Racket's math library 
 > fall short for the study you have in mind? (Its floating-point support 
 > shouldn't, especially if you work in Typed Racket.) I'm one of its 
 > authors, so I'm looking for suggestions.

>From my own recent experiments with the Racket math library, I can't
say there's anything wrong with it. Quite on the contrary, everything
that's there works as advertised, and performance has always been good
enough for me (but I didn't do serious number crunching yet). The one
feature that strikes me as weird is the location of Fourier transforms
under "other array operations". Given that they require rather special
arrays, and perform a highly domain-specific operation, I'd have expected
to find them under something like math/transforms, or perhaps math/signal
if it existed.

However, the one feature that I miss is similar to what Enrique is
asking for: interoperability with other languages. Not because I need
something that can't be done reasonably well in Racket, but because
there's so much good stuff out there in other languages that I can't
possibly rewrite in Racket on my own. In my case, the top language
I'd like to connect to is Python.

The real problem is that Racket, like many other modern languages
including Python and Julia, has its own specific virtual machine whose
fundamental tasks, memory and process management, are similar to but
incompatible with the VMs of other languages. All languages interface
with C, but the times where most useful code was written in C are
over.  We have less language interoperability today than 20 years ago.


Posted on the users mailing list.