Annotation of rpl/man/rpl.1.in, revision 1.31

1.1       bertrand    1: .\" Manual page for the RPL/2 language 
                      2: .\" 04.19.2006
                      3: .TH RPL/2 1 "@DATE@" JKB-Labs "RPL/2 user manual"
                      4: .SH NAME
                      5: Reverse Polish Lisp/2 release @VERSION@,
                      6: .br
                      7: half-compiled high-level language using shared libaries
                      8: and mainly aiming at scientific calculations and complex algorithms
                      9: .SH SYNOPSIS
                     10: .B rpl
                     11: [\-acdDhilnpPsv] [\-A data] [\-S script] [\-t level] [program]
                     12: .SH DESCRIPTION
                     13: The
                     14: .B rpl
                     15: sequencer allows either the execution of a RPL/2 program or the opening
                     16: of an interactive session to enter commands directly
                     17: .SH OPTIONS
                     18: .TP
                     19: .B -a
1.5       bertrand   20: analyzes program and sends preprocessor output to standard output
1.1       bertrand   21: .br
                     22: .TP
                     23: .B -A
                     24: sends parameters to main program
                     25: .br
                     26: .TP
                     27: .B -c
                     28: allows creation of a
                     29: .I rpl-core
                     30: file, providing a way to debug a program
                     31: .br
                     32: .TP
                     33: .B -d
                     34: debugs memory allocations inside RPL/2. Do not use if you do not
                     35: know what you do!
                     36: .br
                     37: .TP
                     38: .B -D
                     39: launches RPL/2 in daemon mode
                     40: .br
                     41: .TP
                     42: .B -h
                     43: shows a summary of available options
                     44: .br
                     45: .TP
                     46: .B -i
                     47: runs the RPL/2 sequencer in interactive mode. This option can't be used
                     48: with a program name as argument
                     49: .br
                     50: .TP
                     51: .B -l
                     52: prints the user licence of the software
                     53: .br
                     54: .TP
                     55: .B -n
                     56: ignores HUP signal
                     57: .br
                     58: .TP
                     59: .B -p
                     60: precompiles scripts before execution
                     61: .br
                     62: .TP
1.25      bertrand   63: .B -P or -PP
1.1       bertrand   64: computes profile data
                     65: .br
                     66: .TP
                     67: .B -s
                     68: disables splash screen
                     69: .br
                     70: .TP
                     71: .B -S
                     72: executes script on command line
                     73: .br
                     74: .TP
                     75: .B -t
                     76: enables tracing mode. Each internal operation is echoed on standard
                     77: output
                     78: .br
                     79: .TP
                     80: .B -v
                     81: prints the version number
                     82: .br
                     83: .RE
                     84: .SH "EXIT STATUS"
                     85: The sequencer returns a value of 0 if no error occurs when running a
                     86: program, else it returns a nonzero value.
                     87: .SH "PREREQUISITES AND VARIOUS ADVICES"
                     88: RPL_TMP_PATH env variable is used to specify the location of tempfiles.
                     89: If this variable is not set, RPL/2 tries to use /tmp, /var/tmp or ./.
                     90: It is also recommended to
                     91: use
                     92: \fIgnuplot\fR,
                     93: \fITeX/LaTeX\fR,
                     94: \fIdvips\fR and
                     95: \fIgv\fR in association with RPL/2, to get advanced graphical
                     96: capabilities
                     97: .SH "RELATED STANDARDS"
                     98: The RPL/2 sequencer is compliant with the HP-28S calculator user manual,
                     99: and with the HP-28S itself, in its 2BB version (C) HP 1986-1987.
                    100: Some operations dealing with complex numbers are not following the
                    101: definitions from HP, because they are bogus. The main such operations
                    102: are transposition and scalar product.
                    103: .SH "DELIMITERS"
                    104: .br
                    105: .TP
                    106: .B "none"
                    107: scalar, integer or real number, coded with at least 64 bits;
                    108: .br
                    109: .TP
                    110: .B "( )"
                    111: complex number, coded with at least 128 bits;
                    112: .br
                    113: .TP
                    114: .B "#"
                    115: binary integer, 64 bits of length;
                    116: .TP
                    117: .B "<< >>"
                    118: user-defined function, or equation (expressed in RPN);
                    119: .br
                    120: .TP
                    121: .B "' '"
                    122: algebraic equation or variable name;
                    123: .br
                    124: .TP
                    125: .B "[ ]"
                    126: scalar vector;
                    127: .br
                    128: .TP
                    129: .B "[[ ]]"
                    130: scalar matrix;
                    131: .br
                    132: .TP
                    133: .B "<[ ]>"
                    134: table;
                    135: .br
                    136: .TP
                    137: .B """ """
                    138: character string;
                    139: .br
                    140: .TP
                    141: .B "{ }"
                    142: list containing various objects. A list might contain other lists;
                    143: .TP
                    144: .br
                    145: .B "/* */"
                    146: comment;
                    147: .br
                    148: .TP
                    149: .B "//"
                    150: comment running to the end of a line;
                    151: .br
                    152: .SH "INSTRUCTIONS"
                    153: We list in this section the build-in instructions of the language. Some
                    154: might be written in several ways; the alternatives ways are listed
                    155: between parenthesis. Definitions between parenthesis in a structure are
                    156: optional. Instructions written in upper case are not case-sensitive.
                    157: .br
                    158: .TP
                    159: .B "CONTROL STRUCTURES"
                    160: IF/THEN/(ELSEIF/THEN)/(ELSE)/END, IFT, IFTE,
                    161: SELECT/CASE/THEN/END/(DEFAULT)/END
                    162: .br
                    163: .TP
                    164: .B "ERROR HANDLING"
                    165: CLRERR, ERRM, ERRN, IFERR/THEN/(ELSE)/END
                    166: .br
                    167: .TP
                    168: .B "LOOPS PROVIDING A COUNT"
1.24      bertrand  169: FOR/(CYCLE)/(EXIT)/NEXT, FOR/(CYCLE)/(EXIT)/STEP, FORALL/(CYCLE)/(EXIT)/NEXT
1.1       bertrand  170: .br
                    171: .TP
                    172: .B "LOOPS WITHOUT COUNT"
                    173: START/(CYCLE)/(EXIT)/NEXT, START/(CYCLE)/(EXIT)/STEP
                    174: .br
                    175: .TP
                    176: .B "UNDEFINED LOOPS"
                    177: DO/(EXIT)/UNTIL/(EXIT)/END, WHILE/(EXIT)/REPEAT/(EXIT)/END
                    178: .br
                    179: .TP
                    180: .B "INPUT/OUTPUT"
                    181: BEEP, CLMF, DISP, INPUT, KEY, PROMPT
                    182: .br
                    183: .TP
                    184: .B "DEBUGGING"
                    185: CONT, HALT, SST
                    186: .br
                    187: .TP
                    188: .B "STACK HANDLING"
                    189: CLEAR, COPY, DEPTH, DROP, DROP2, DROPN, DUP, DUP2, DUPN, EDIT, OVER, PICK,
                    190: ROLL, ROLLD, ROT, SWAP
                    191: .br
                    192: .TP
                    193: .B "WORKING WITH VARIABLES"
1.2       bertrand  194: ->, CLUSR, PARAMETER, PRIVATE, PROTECT,
1.1       bertrand  195: PURGE, RCEQ, RCL, RECALL, SAVE, SCONJ, SHARED,
                    196: SINV, SNEG, STATIC, STEQ, STO, STO+,
                    197: STO-, STO*, STO/, STORE, UNPROTECT, VARIABLE, VARS, VISIT, VOLATILE
                    198: .br
                    199: .TP
                    200: .B "ARITHMETICAL OPERATIONS AND ELEMENTARY CALCULUS"
                    201: +, -, *, /, ^ (**), =, %, %CH, %T,
                    202: ABS, ARG, C->R, CEIL, CONJ, DECR, DER,
                    203: DFT, EVAL, EXP, EXPM, FACT, FFT, FLOOR,
                    204: FP, IDFT,
1.3       bertrand  205: IFFT, IM, INCR, INT, INV, IP, MANT, MAX, MCLRIN, MIN, MOD, NEG, ->NUM,
1.1       bertrand  206: P->R, ->Q, R->C, R->P, RE, RELAX, SIGN, SQ, SQRT, TAYLR, XPON, XROOT
                    207: .br
                    208: .TP
                    209: .B "CONSTANTS"
1.17      bertrand  210: e, FALSE, i, infinity, PI, TRUE
1.1       bertrand  211: .br
                    212: .TP
                    213: .B "FORMATTING"
                    214: ENG, FIX, RND, SCI, STD, TRNC
                    215: .br
                    216: .TP
                    217: .B "LOGICAL AND BINARY OPERATIONS"
                    218: <, <= (=<), <>, >, >= (=>), ==,
1.29      bertrand  219: AND, ASL, ASR, B->R, BIN, CF, DEC, EQV, FC?, FC?C, FC?S, FS?, FS?C, FS?S,
1.1       bertrand  220: HEX, IN, NOT, OCT, OR, R->B,
                    221: RCLF, RCWS, RL, RLB, RR, RRB, SAME, SF, SL, SLB, SR, SRB, STOF,
                    222: STWS, XOR
                    223: .br
                    224: .TP
                    225: .B "TRIGONOMETRY"
                    226: ACOS, ASIN, ATAN, COS, D->R, DEG, ->HMS, HMS->,
                    227: HMS-, HMS+, R->D, RAD, SIN, TAN
                    228: .br
                    229: .TP
                    230: .B "LOGARITHMS"
                    231: ACOSH, ALOG, ASINH, ATANH, COSH, LN, LNP1, LOG,
                    232: SINH, TANH
                    233: .br
                    234: .TP
                    235: .B "SPECIAL FUNCTIONS"
                    236: BESSEL, GAMMA
                    237: .br
                    238: .TP
                    239: .B "STATISTICS"
                    240: CLS, COLS, COMB, CORR, COV, DRWS, MAXS, MEAN, MINS, NRAND, NS, PCOV, PERM,
                    241: PSDEV, PVAR, RAND, RCLS, RDGN,
                    242: RDZ, S-, S+, SCLS, SDEV, SPAR, STOS, SX, SX2, SXY, SY,
                    243: SY2, TOT,
                    244: UTPC, UTPF, UTPN, UTPT, VAR, XCOL, YCOL
                    245: .br
                    246: .TP
                    247: .B "DEALING WITH MATRIX AND VECTOR"
                    248: ->ARRAY (->ARRY), ARRAY-> (ARRY->), CNRM, COL+, COL-, COL->, ->COL, CON, COND,
                    249: CROSS, CSWP, DET, DOT, DIAG->, ->DIAG, EGV, EGVL,
                    250: GEGV, GEGVL, GET, GETC, GETI, GETR,
                    251: GLEGV, GREGV, IDN, LCHOL, LEGV, LQ, LSQ, LU, MAX, MIN,
                    252: PUT, PUTC, PUTI, PUTR, QR, RANK,
                    253: RCI, RCIJ, RDM, REGV, RNRM, ROW+, ROW-, ROW->, ->ROW,
                    254: RSD, RSWP, SCHUR, SIZE, SQ, SVD, SVL, TRN, UCHOL
                    255: .br
                    256: .TP
                    257: .B "DEALING WITH TABLES"
1.31    ! bertrand  258: CRTAB, GET, L->T, PUT, RECORD, T->L, ->TABLE, TABLE->
1.1       bertrand  259: .br
                    260: .TP
                    261: .B "LISTS"
1.16      bertrand  262: GET, GETI, HEAD, L->T, ->LIST, LIST->, POS, PUT, PUTI, REPL,
                    263: REVLIST, SIZE, SORT, SUB, T->L, TAIL
1.1       bertrand  264: .br
                    265: .TP
                    266: .B "STRINGS"
1.20      bertrand  267: CHR, CURRENC, LCASE, NUM, POS, RECODE, REGEX,
1.28      bertrand  268: REPL, RGDL, RGDR, SIZE, SREV, ->STR, STR->, SUB,
1.1       bertrand  269: TOKENIZE, TRIM, UCASE
                    270: .br
                    271: .TP
                    272: .B "EXPRESSIONS HANDLING"
                    273: OBGET, OBSUB, EXGET, EXSUB
                    274: .br
                    275: .TP
                    276: .B "FILE AND SOCKET HANDLING"
1.21      bertrand  277: APPEND, BACKSPACE, CLOSE, CREATE, DELETE, FORMAT, INQUIRE, LOCK, OPEN, POLL,
1.4       bertrand  278: READ, REWIND, SYNC, TARGET, UNLOCK, WFLOCK, WFSOCK, WRITE
1.1       bertrand  279: .br
                    280: .TP
                    281: .B "GRAPHICAL OUTPUT AND PRINTING"
                    282: *D, *H, *S, *W,
                    283: AUTOSCALE, AXES, CENTR, CLLCD, CR, DEPND, DGTIZ, DRAW, DRAX, ERASE, EYEPT,
                    284: FUNCTION, HISTOGRAM, INDEP,
                    285: LABEL, LCD->, ->LCD, LINE,
                    286: LOGSCALE, MARK, NEWPLANE, PAPER,
                    287: PARAMETRIC, PERSIST, PLOT, PLOTTER, PMAX, PMIN, POLAR, PPAR, PR1, PRINT,
                    288: PRLCD,
                    289: PRMD, PRST, PRSTC, PRUSR, PRVAR, REDRAW, RES, SCATTER, SCALE, SLICE,
                    290: SLICESCALE, TITLE,
                    291: WIREFRAME
                    292: .br
                    293: .TP
                    294: .B "LIBRARIES"
                    295: EXTERNALS, REMOVE, USE
                    296: .br
                    297: .TP
                    298: .B "PROCESS"
1.14      bertrand  299: ATEXIT, ATPOKE, CLRATEXIT, CLRATPOKE,
1.22      bertrand  300: CLRFUSE, CLRMTX, CLRSMPHR, CLRSWI, CONTINUE, CRITICAL/END,
                    301: CRMTX, CRSMPHR, CSTOP, DAEMONIZE,
1.1       bertrand  302: DETACH, FUSE, ISWI, MTXLOCK, MTXSTATUS, MTXTRYLOCK, MTXUNLOCK,
1.30      bertrand  303: NBRCPUS,
1.12      bertrand  304: NRPROC, PEEK, POKE, PROCID, RCLSWI, RECV, RFUSE, RSTOP, SCHED,
1.1       bertrand  305: SEND, SMPHRDECR, SMPHRGETV, SMPHRINCR, SMPHRTRYDECR,
                    306: SPAWN, STOP, STOSWI, SUSPEND,
                    307: SWI, SWILOCK, SWIQUEUE, SWISTATUS,
                    308: SWIUNLOCK, WFACK, WFDATA, WFPOKE, WFPROC, WFSWI, YIELD
                    309: .br
                    310: .TP
                    311: .B "MISC"
1.26      bertrand  312: <<, >>, ABORT, ALARM, BACKTRACE, CIPHER,
1.27      bertrand  313: CLRCNTXT, COMPRESS, CONVERT, COPYRIGHT, DATE, DIGEST, DROPCNTXT,
1.6       bertrand  314: DUPCNTXT, HELP, IMPLICIT, ITRACE, JDATE, KILL, LAST, LOCALIZATION, LOGGER, MEM,
1.11      bertrand  315: MEMLOCK, MEMUNLOCK,
1.19      bertrand  316: PSHCNTXT, PSHPRFL, PULCNTXT, PULPRFL, RDATE, RESTART, RETURN,
1.27      bertrand  317: SPLASH, SWAPCNTXT, SYSEVAL, TIME, TYPE, UNCOMPRESS,
                    318: VERIFY, VERSION, WAIT, WARRANTY, WORKDIR
1.1       bertrand  319: .br
                    320: .TP
                    321: .B "DATABASES"
                    322: SQLCONNECT, SQLDISCONNECT, SQLQUERY
                    323: .br
                    324: .TP
                    325: .B "PREPROSSESSING"
                    326: #date, #define, #defeval, #else, #endif, #error, #eval, #file, #if,
                    327: #ifdef, #ifeq, #ifndef, #ifneq, #include, #line, #mode, #undef, #warning
                    328: .br
                    329: .RE
                    330: .SH "USEFUL LINKS"
                    331: .TP
                    332: .B http://www.rpl2.net
                    333: official WWW page of RPL/2;
                    334: .br
                    335: .TP
                    336: .B jkb@systella.fr
                    337: the author's email address;
                    338: .br
                    339: .TP
                    340: .B rpl2@rayleigh.systella.fr
                    341: RPL/2 mailing-list, useful to ask some advice, report bugs and talk
                    342: about new features

CVSweb interface <joel.bertrand@systella.fr>