I have briefly reviewed the cmdline.ss documentation. Let me say up front
that there are a lot of ways to this job, and I doubt any way is perfect.
My goal with args-fold was to provide a useful, generic, and flexible
interface to the Posix/GNU guidelines in "the spirit of Scheme".
Arguments could be made about my design choices from two directions: about
the programmer's interface, about the user's interface.
Here are my notes about cmdline.ss:
1. Cmdline seems to have a mandatory builtin help system. In args-fold, a
help option in handled by the programmer like any other option.
2. Cmdline seems to support more than one argument per option. Args-fold
supports 0 or 1 arguments per option, following the lead of POSIX/GNU
guidelines.
3. At first, I thought it would be possible to implement cmdline in terms
of args-fold, but I believe the cmdline interface requires a
"procedure-arity" implementation. This is a clever trick that takes
advantage plt-scheme, but I think it also prevents cmdline from being
implemented on most other Scheme systems.
-Anthony Carrico