--- format: rst categories: software toc: yes ... ================== 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)