From: Doug M. <do...@mc...> - 2003-12-05 20:59:38
|
I noticed that the 'abl' script passes its arguments to the invocation of 'org.armedbear.lisp.Main', but the latter doesn't actually use them for anything. It would be nice to actually be able to invoke Lisp code from the command line, in a way that doesn't require starting up the REPL. I propose stealing some command-line syntax from SBCL, and implementing the following: --eval FORM evaluates FORM. Multiple --eval options are allowed and result in evaluation of FORM1, FORM2, ... FORMN in sequence. Prints the result of evaluating FORMs to standard output (unless --noprint is supplied). --load FILE equivalent to --eval '(load "FILE")' but causes fewer headaches with shell quoting. --noprint Turns off printing of evaluation results, and any other avoidable verbosity (for use in pipelines etc). So one could put in a shell script: $ abl --load mylibrary.lisp --eval '(do-my-stuff)' --eval '(extensions:quit)' The infrastructure seems to be mostly there in the form of Interpreter.evaluate() and/or Interpreter.evalString()--they woould just need the comments at the top removed. :) Comments/brickbats? -Doug |