I'm all for having common command-line options and suffix conventions. But I wonderhow a designated command name, 'compile-r7rs' would go with the conventional"make & make install" way. If multiple implementations provide compile-r7rs commandand a user wants to install them in standard location (e.g. /usr/bin, /usr/local/bin etc.),there will be a conflict.
Then it wouldn't be a problem to ask the user to create the symlink mentioned above by herself, I'd say.The c99 command has the same problem but I guess it's less of a problem since thereare not many popular C compilers, and these days people usually installs binaries withsome package managers, which take care of the conflict (e.g. alternative mechanismon Debian). In Scheme, we have lots of implementations and it's typical that a userinstalls them by herself.
I'm old school and get used to have compiler command name configurable inMakefile, so I don't see the need of fixing compiler command name.(Script interpreter name is slightly different, for it directly affects distributionof ready-to-run Scheme scripts. For the compilers, though, users willhave build step and the build tool can take care of multiple selections.)
Maybe the convention has changed---e.g. is it now common that installseverything in per-implementation subdirectory instead of scattering themin $exec_prefix/bin, $exec_prefix/lib etc? Then each implementationdoesn't need to worry about stepping on each other and just let thehigher layer of the system to do the selection. Does this srfi presumesuch convention?
There may be more than one command on the host system that supports the interface of the ‘compile-r7rs’ command in this SRFI. As at most one ‘compile-r7rs’ binary in the path would be executed, a user who wants to exploit the interface described by this SRFI is recommended to employ the following convention: If the environment variable COMPILE_R7RS is set, it is supposed to hold the pathname of the binary to be called instead of the generic ‘compile-r7rs’. Otherwise, the user is supposed to invoke ‘compile-r7rs’ directly.