Ilya Zakharevich on Sun, 10 Dec 2023 04:49:56 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

The GP command “?”


Are people ACTUALLY using “the sections” in the results of the GP command
     ?
?  Myself, I use only “the tail” of its output.  I do not ever recall
finding what ?1 outputs useful in the slightest…

(However, the output of ?19, ?20, ?21 is quite useful (although	these is
NOT LISTED in the output of
      ?
!).

Is it different for you guys?

If not, then maybe it is better to
  • move the list of sections to the command
        ?sections
    .
    
  • Make
        ?
    emit something “more helpful” instead of the list of sections.

  • This “more helpful” part should list the command
      ?sections
  
  • This part may also redirect to specific ?0 etc. when this is useful.

Something along the lines (only a bit more detailed?) of:

  The GP calculator accepts input in the PARI language, as well as
  special commands starting with \ or with ? or with #.  The PARI
  language has unary and binary operators (among them + - * / % << >>
  && || < > == <= >=) “with the usual meaning” (and the assignment
  flavors such as +=) and other operators (inspect the output of ?19
  or ?_\_ or ?_! or ?_===_  etc. for details).  The command separator
  is “;”.

  Thousands of available functions are split into “topics” (inspect
  them via the list emitted by the command ?sections).  User-defined
  functions (listed by ?0) are stored in variables (like f below) and
  are defined as:
    f(mandatory_arg, optional_arg=default) = N++; mandatory_arg+optional_arg
  or equivalently (omit parentheses if this terminates a command):
    (f = (mandatory_arg, optional_arg=default) -> N++; mandatory_arg+optional_arg)
  Flow control is via functions if(), while() etc. (inspect ?if
  etc. — and output of ?1).

One could also add info (or a reference to info) about readline,
multiline commands and basic data types. — As well as the info “how
to start looking for more help”.

Hope this helps,
Ilya