summaryrefslogtreecommitdiffstats
path: root/software/idl.page
blob: bd4921ae418de3d0fd325feac7e2f70429e1b6e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
---
format: rst
categories: software
toc: no
...

==================
IDL
==================

IDL is the "interactive data language", a clunky old propriatary numerical
analysis language still used by the astronomical community.

Language Design
-----------------

IDL is "pass by reference", which means that arguments to functions are always
variable pointers, not the actual value (the alternative is usually to pass by
copy, where the value gets passed through to a new variable inside the
function. One side effect of this is that return values are collected by
passing a recieving variable name as an argument to functions.

Syntax
-----------------

Procedures are called with a comma seperated list-like syntax where the first
element is the procedure and the following elements are arguments.

Command Interface
-----------------

Instead of the ever-standard ``!`` to execute system commands, use ``$``.

X Windows
--------------
When used remotely with X Windows, sometimes plots don't refresh correctly
(eg, blacked out after another window has covered them). To correct this issue,
add these lines to your ``~/.Xdefaults``::

    !stuff to manage IDL under 24-bit Linux displays
    idl.retain:2
    idl.gr_visual: TrueColor

and then run ``xrdb -merge ~/.Xdefault``. (This tip from 
http://star.pst.qub.ac.uk/help/idl.shtml)