Re: Compiling IDL ... ever likey ? [message #5671 is a reply to message #5518] |
Sat, 27 January 1996 00:00   |
Ken Knighton
Messages: 44 Registered: May 1995
|
Member |
|
|
steinhh@amon.uio.no (Stein Vidar Hagfors Haugan) wrote:
> In my opinion, the fact that call_external exists indicates
> that there is a need for *both* high-level IDL *and* in some
> cases a low-level compiling language, so why not lower the
> threshold a little?
IMHO, I believe that a better CALL_EXTERNAL would go a long way towards
accomplishing this. Why is it that args are passed to a C routine as
argc, argv instead of passing the actual parameters: arg1, arg2, arg3...
This means that wrappers have to be written to call most non-unix
routines. Why is it that there is no good way to call legacy code
without having to resort to this? Also, why is there no good way to
shut down IDL's use of interrupts (such as unix signals) while the call
is taking place?
CALL_EXTERNAL(..., /BLOCK_INTERRUPTS)
In order to do i/o from an external routine, one has to worry about
this stuff when it shouldn't be necessary.
> The other thing that could change my mind is supplying a proper
> handle/pointer syntax. It's such a waste of screen space writing
>
> HANDLE_VALUE,ID,A,/NO_COPY
> PRINT,A.MESSAGE(5)
> HANDLE,ID,A,/SET,/NO_COPY
>
> instead of simply
>
> PRINT,A^.MESSAGE(5)
One wonders. The same problem exists with the wordy WIDGET routines.
Even if some functional notation such as:
PRINT, (H_VALUE(A))(5)
or
PRINT, W_UVALUE(wId) ;For widgets
were available, it would be nicer. Of course these functions could
be written in IDL, but would be inefficient for some uses.
Regards,
Ken Knighton knighton@gav.gat.com knighton@cts.com
General Atomics
San Diego, CA
|
|
|