Reduce fails to generate "usage"

  • James

    James - 2009-10-10

    Hmm - trying

    reduce -help

    does not produce a usage listing with command-line switches.  It would be polite to fix that.  It _does_ produce a statement that includes

    run this application with the option
    -dump-source. Eg issue a command such as:
      reduce -dump-source reduce.tar.bz2

    but then, that produces the response

    Executable file is damaged

    So, some problem there as well.


  • Arthur Norman

    Arthur Norman - 2009-10-10

    The -dump-source feature no longer exists - it was an attempt to cope with what I now believe to have been an unnecessarily pessimistic reading of obligations brought through use of an LGPL library. The message mentioning it was a hang over. Prompted my your fair comment I have put some stuff in the source that displays a list of the command-lien flags if you pass "-help". I hope to put that in the subversion later today. Current draft text is as follows, but layout here may be a mess. IN general the source in csl/cslbase/csl.c may have longer comments explaining each option!

    -a   do not use. Flips meaning of the Lisp "batchp" function.

    -b   do not colour prompts. -bOIP sets colours for output,
                                input and prompt, using rgbcmyk
                                for Red, Green, Blue, Cyan etc.

    -c   display something that is not a Copyright statement (because of LGPL).

    -d VVV or  -d VVV=VVV define a Lisp symbol as the system start

    -e   enable some feature that is at present an experiment. Not for users!

    -f or -f nnn  listen on socket 1206 or nnn to run a remote session.
                  This option is not for normal users.

    -g   enable some options that help when debugging. You get backtraces.

    -h   on X windows this may use x-terminal fonts rather than ones
         used via Xft that live with the application. Not recommended.

    -i <image file> specific the location of the initial image file explicitly
                    You may have multiple image files, seached for modules in
                    the order listed.

    -j   used for depencency tracking. '-j fileuse.dat' notes what files
         are accessed during this run in the indicated place.

    -k nnnK or -knnnM or -knnnG suggest heap-size to use. Often not needed

    -l logfile   keep transcript of session for you.

    -m   a memory trace option not for ordinary use.

    -n   ignore the restart function in an image file so that the system.
         starts up in raw Lisp. Sometimes useful if image file is broken.

    -o <image file> specified where newly created compiled  modules and
         saved heap images should go. Default is in the standard image.

    -p   reserved for a potential profile option.-q   tend to be Quiet. see also -v.

    -r nnn or -r nnn,mmm sets initial random seed. Passing 0 means use
         current time of day and similar nonrepeatable stuff. May be
         used to force repeatability of code that uses randomness.

    -s   causes compiler to display "assembly code".

    -t modulename  prints the timestamp of the given module and exits.

    -u VVV undefines the Lisp symbol VVV at the start of the run.

    -v   runs in a slighly more verbose mode.

    -w   controls if code runs in a window or in console. Also -w+ and -w-
         can override cases where the system really wants to go one way.

    -x   avoid trapping exceptions so you can use a low-level debugger
         to sort out errors in the kernel.

    -y   At one stage this enabled Japanese character support. Not now     maintained.

    -z   when the code starts up it is just a basic raw Lisp core without    even a compiler. Used to bootstrap the system.

    • filename  redirect output to the given file so it does not appear
           on the screen.

    -texmacs run in texmacs mode. You must use the plugin from the
         cslbase/texmacs-plugin directory.

    -<other> reserved for additional extended options.

    -help this output!

    This will get into a ready-built binary when one next gets made, but where I am is now swimming in students and time is a bit tight for a while.


  • James

    James - 2009-10-10

    Some comments with respect to understanding;

    You might add a comment at the top, about exiting Reduce, 'Enter "bye;" on the command line to exit Reduce.", or some such, though I do notice that "^C" does produce a useful message. 


    The format of "OIP" is not obvious.  What is the format of "rgbcmyk"?  How is that different from "rgb"?  Are there no delimiters in "OIP"?  Maybe you could show a single example in-line, "The default is -b black red blue" - except, I don't know what the actual format should be.  Nothing I tried changed the colors, though "-b green" produces the error message '+++ Could not read file "green"'.  Using "-b0000ff00ff00ffff00" is silently ignored and does nothing at all. 

    -w controls if code runs in a window or in console.

    Please clarify - in what way does "-w" control "if"?  Are the "+" and "-" characters required for "-w" to have an effect?  Does "-w", by itself, default to having some effect?  Does it force window behaviour in a text console?  Or inhibit window behaviour in a text console?  Or…?

    So, it looks like "-w" means "force text-console mode from a  graphics window."  You might add "Reduce produces typeset graphics output by default, unless started in a text console.", which, if you are using a text console, you might not have known. 

    -texmacs run in texmacs mode.

    Maybe you could add a couple of words, expanding upon the meaning of "texmacs mode".  What does that mean, to "run in texmacs mode"?  My version of Reduce responds with 'Unknown extended option "-texmacs"'.  You say "use the plugin", but I wouldn't know how to start with a plugin, and none of the other command-line switches mention starting with a plugin. 

    Also, additionally, "-texmacs" produces the message

    NB: use "- filename" (with whitespace)
        for output redirection now.

    You might add the comment ", with whitespace," to the description for "-". 

    The following are some typo's that would not be marked by a spell checker:

    -i <image file> specific the location…

    I'm guessing you meant "specify the location", "y" instead of "c". 

    -o <image file> specified where…

    Again, "specifies where", "s" instead of "d". 

    > where I am is now swimming in students and time is a bit tight for a while. 

    Yes - students!  You can have them help with bugs and clean-up in Reduce!  What a wonderful way to learn about Lisp and have an impact in the world!  ;) 

    Thanks for the command-line switch descriptions.  I thought there might be a "-w" in there somewhere, for "cut and paste" in text.



Log in to post a comment.