I have written a (pretty) complete wrapper for IDL (years ago actually), but have not uploaded to github. I'll try to do that this weekend (and put an update here). I wrote it for my own use and have been waiting for Julia to mature to promote it to the IDL community. I originally wrote it for Callable IDL and later switched to IDL RPC because of some library conflicts I ran into using Callable IDL. It should not be hard to make the Callable part work again. Of course, if you are on windows only Callable IDL is supported by IDL, unfortunately. I have also implemented a REPL interface to IDL from julia, which is really nice in practice. I originally implemented the REPL in Julia 0.3 which was rather difficult, but it is easy in 0.4. Note also that my package does not use Clang.jl but instead hand written wrappers. This is no problem for IDL since the c interface to IDL is very limited (basically you can pass in variables and call IDL commands from strings; that is about it). It would be awesome if IDL would expose more of the c interface like they did in the python library they provide in recent versions. Maybe if julia picks up traction they will do this.
Bob On Thu, Aug 4, 2016 at 12:14 PM, Luke Stagner <[email protected]> wrote: > Its possible to call IDL from C code (Callable IDL) > <http://www.harrisgeospatial.com/docs/callableidl.html> so I figured I > could do the same from Julia. > > I have been trying to use Clang.jl to automatically create the wrapper but > I am running into some issues. > > This project is a bit above my level of expertise and I would appreciate > any help > > My current progress can be found at https://github.com/ > lstagner/JulianInsurgence > > and the output from my wrapper attempt (wrap_idl.jl > <https://github.com/lstagner/JulianInsurgence/blob/master/wrap_idl.jl>) > is located here > <https://github.com/lstagner/JulianInsurgence/blob/master/output.txt> > > I am using current Clang.jl master and Julia > julia> versioninfo() > Julia Version 0.5.0-rc0+193 > Commit ff1b65c* (2016-08-04 04:14 UTC) > Platform Info: > System: Linux (x86_64-unknown-linux-gnu) > CPU: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz > WORD_SIZE: 64 > BLAS: libmkl_rt > LAPACK: libmkl_rt > LIBM: libopenlibm > LLVM: libLLVM-3.7.1 (ORCJIT, haswell) > > > >
