You have no idea how happy this make me.
I was able to get it running fairly quickly on linux. This is what I did
```
shell> export JL_IDL_TYPE=CALLABLE
julia> push!(Libdl.DL_LOAD_PATH, "/path/to/idl/idl84/bin/bin.linux.x86_64")
1-element Array{String,1}:
"/path/to/idl/idl84/bin/bin.linux.x86_64"
julia> import IDLCall; idl = IDLCall
IDL Version 8.4 (linux x86_64 m64). (c) 2014, Exelis Visual Information
Solutions, Inc.
Installation number: 284-1-.
Licensed for use by: Company I work for
IDLCall
julia> x = rand(3)
3-element Array{Float64,1}:
0.227855
0.209709
0.260878
julia> idl.put_var(x,"x")
julia> idl.execute("print,x")
0.22785452 0.20970923 0.26087754
IDL> print,x
0.22785452 0.20970923 0.26087754
IDL> x=indgen(10)
IDL> plot,x,x
```
Generally the library directory will always be in the same directory as the
IDL executable.
-Luke
On Wednesday, September 21, 2016 at 9:34:49 PM UTC-7, Bob Nnamtrop wrote:
>
> Yes, sorry for the delay, I have uploaded some code to github. See:
> https://github.com/BobPortmann/IDLCall.jl.git. I have added some notes
> there to get you started. No doubt they are too short and you may have to
> look into the code to get things working. I do want to polish this up, so
> please provide feedback here or preferably on a github issue. The code
> should work on julia 0.4 or 0.5. I have only tested using IDL 8.5 on OSX.
>
> Bob
>
> On Wed, Sep 21, 2016 at 3:23 AM, Luke Stagner <[email protected]
> <javascript:>> wrote:
>
>> Are you still planning on releasing your IDL wrapper? I would still very
>> much like to use it.
>>
>> -Luke
>>
>> On Friday, August 5, 2016 at 10:19:16 AM UTC-7, Bob Nnamtrop wrote:
>>>
>>> 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)
>>>>
>>>>
>>>>
>>>>
>>>
>