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 <lstag...@gmail.com 
> <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 <lstag...@gmail.com> 
>>> 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)
>>>>
>>>>
>>>>
>>>>
>>>
>

Reply via email to