Ayup, thanks for you r extensive replies!
smithzv wrote:Coincidentally, this morning I ended up using Getopt for a small script. Your previous post must have planted a seed because I haven't written a Lisp program invokable from the shell for a very long time. It seemed to work well and was simple to get working.
I'll try to use getopt too, mostly because it's the only one I could get to work
I couldn't check out cl-cli-parser and clon has a lot of implementation specific code.
smithzv wrote:
I'm not sure whether Getopt or cl-cli-parse are actively maintained. However, I doubt there is much activity on the GNU Getopt front either. It is a pretty simple functionality and is basically, dare I say, done. Lisp libraries in general are a testament to the idea that if something works, is compliant to a stable standard, and people don't fiddle with it, it will still work perpetually.
Lets be honest here, there is probably more bugs and missing functionality (help generation f.ex.) in this lisp code than gnu getopt. My main concern is being able to push improvements back to the maintainer if we need any. Not that I expect much of it though.
smithzv wrote:
Another thing to keep in mind since you are "hiding the Lispness." Since you are probably going to be dumping a core, some lisps, like SBCL I believe, have options to control what arguments are passed to the executable core with it is run. There might be something similar to this in the other Lisps. Take a look at save-lisp-and-die and its equivalent in the other Lisps to be sure nothing funny will happen.
Thanks for the heads up, I'll remember to take a look at this. We'll release this to users soon and we'll want them to see a familiar (unix style) interface.
We are already building executable deliverables with LW, SBCL and CCL so we'll see how it turns out. We'll need to trap the debugger in some way, but I think LW at least has considerable functionality for this. Basically we want abbreviated and extended error reporting in the event of a crash and no debugger prompt.
smithzv wrote:
P.S. Never used CLON. In fact I was about to say you were confused and that CLON is a prototype based object oriented programming framework, but then I saw that there are several Lisp libraries named CLON. It actually might be something to really look at. It actually has a manual (big plus in my book), seems widely ported, and contains several of the features like typed option values and programmatically generated option help. It might be overkill for something that is a pretty simple problem.
CLON has #+ clauses than I ever seen anywhere else
and no LW or Allegro support so it's a dead end for us. A shame because it looked like a very thorough effort.
-a