The order in which things are initialized in Gnudl is important: Gnudl
sets the GNUDL_DIR environment varibale, but that can be
overwritten by the --gnudl-dir option. Meanwhile, the scheme
code has to be loaded from that $GNUDL_DIR/scheme directory, but
a user could ask to load a file with the --file option, before
the --gnudl-dir option has been invoked. It seems to be a bit
tangled.
It might be necessary to use getopt_long() in two different
phases: the first reads things like `gnudl-dir', the next
Here is the sequence of steps Gnudl takes when starting up: