Re: [julia-users] Help creating an IDL wrapper using Clang.jl

2016-09-21 Thread Luke Stagner
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  > 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  
>>> wrote:
>>>
 Its possible to call IDL from C code (Callable IDL) 
  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 
 ) 
  is located here 
 

 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)




>>>
>

Re: [julia-users] Help creating an IDL wrapper using Clang.jl

2016-09-21 Thread Bob Nnamtrop
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  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  wrote:
>>
>>> Its possible to call IDL from C code (Callable IDL)
>>>  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
>>> )
>>>  is located here
>>> 
>>>
>>> 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)
>>>
>>>
>>>
>>>
>>


Re: [julia-users] Help creating an IDL wrapper using Clang.jl

2016-09-21 Thread Luke Stagner
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  > wrote:
>
>> Its possible to call IDL from C code (Callable IDL) 
>>  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 
>> ) 
>>  is located here 
>> 
>>
>> 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)
>>
>>
>>
>>
>

Re: [julia-users] Help creating an IDL wrapper using Clang.jl

2016-08-05 Thread Luke Stagner
This is awesome. I would love to take a look at what you did and how you 
did it. Once 0.5 is released I think Julia would be in a mature enough 
state to promote it to the IDL community. Unless I am mistaken I do not 
think there are many major breaking changes that are planned.

-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  > wrote:
>
>> Its possible to call IDL from C code (Callable IDL) 
>>  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 
>> ) 
>>  is located here 
>> 
>>
>> 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)
>>
>>
>>
>>
>

Re: [julia-users] Help creating an IDL wrapper using Clang.jl

2016-08-05 Thread Bob Nnamtrop
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  wrote:

> Its possible to call IDL from C code (Callable IDL)
>  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
> )
>  is located here
> 
>
> 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)
>
>
>
>


[julia-users] Help creating an IDL wrapper using Clang.jl

2016-08-04 Thread Luke Stagner
Its possible to call IDL from C code (Callable IDL) 
 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 
)  is 
located here 


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)