home *** CD-ROM | disk | FTP | other *** search
/ Phoenix CD 2.0 / Phoenix_CD.cdr / 01e / max130.zip / DETAIL1.DOC < prev    next >
Text File  |  1988-10-30  |  27KB  |  845 lines

  1. 14.0    Builtin Function Description
  2.  
  3. The following section provides a brief synopsis of each builtin
  4. function. Representative arguments are supplied to indicate the
  5. calling sequence for each function and to provide a handle for discussion
  6. of the argument in the description. The following suffixes are used
  7. to describe the data type for the argument. This is the type of data
  8. the variable should contain when the given builtin function is called.
  9.  
  10.     Suffix    Description
  11.  
  12.     _exp    Any expression that results in a character string,
  13.         integer or floating point value.
  14.  
  15.     _num    Any expression that results in an integer or floating
  16.         point value.
  17.  
  18.     _int    Any expression that results in an integer value.
  19.  
  20.  
  21.     _flt    Any expression that results in a floating point    value.
  22.  
  23.  
  24.     _str    Any expression that results in a character string value.
  25.  
  26.  
  27.     _hex    Any expression that results in a hexadecimal value.
  28.  
  29.  
  30.     _fn    Any builtin or user defined function reference.
  31.  
  32.  
  33.     _bif    Any builtin function reference.
  34.  
  35.  
  36.     _udf    Any user defined function reference.
  37.  
  38.  
  39.     _var    Any variable name reference.
  40.  
  41.  
  42. Each synopsis features the builtin function name followed by a
  43. representative argument list. Ellipses are used to indicate that an 
  44. argument may be repeated an arbitrary number of times. Square brackets
  45. are used to indicate the argument is optional. These should not be
  46. confused with the use of square brackets elsewhere in Max. If the builtin 
  47. function has any synonyms they are listed below the name. All alphabetic
  48. builtin functions are in lower case. A brief description of the function
  49. follows the function name and argument list.
  50.  
  51. A logical TRUE is represented by any non-zero value. A logical FALSE
  52. is represented by zero. A null string, or one that is not a number is
  53. equal to zero when converted to a number.
  54.  
  55. acos (x_num)
  56.  
  57.     Acos returns the arc cosine of its argument. The argument must
  58.     be between -1 and 1.
  59.  
  60. add (value_num...)
  61. +
  62.  
  63.     Add returns the sum of its arguments. If only one argument
  64.     is specified add returns the sum of the argument plus one.
  65.  
  66. and (mask_int...)
  67. &&
  68.     And returns the logical AND of its arguments. If all of its
  69.     arguments are nonzero then one is returned, otherwise zero is
  70.     returned.
  71.  
  72. any (input_exp valid_exp...)
  73.  
  74.     Any compares the value of input_exp with each of the values
  75.     of valid_exp. If input_exp equals one of valid_exp the argument
  76.     number of the matching valid_exp is returned. Otherwise zero is
  77.     returned.
  78.  
  79. argc ()
  80.  
  81.     Argc returns the number of arguments passed to the containing
  82.     user defined function. 
  83.  
  84. argn (argnum_int)
  85.  
  86.     Argn returns the name of the symbol passed in the indicated 
  87.     argument position. The first argument is 1. The name of the
  88.     argument is not necessarily the same as the value of the argument
  89.     for arguments that are functions or variables, i.e. it does not
  90.     evaluate the argument.
  91.  
  92.     Note: this function may not be passed to another user defined
  93.     function. Set a variable to the result and pass it instead.
  94.  
  95. argt (argnum_int)
  96.  
  97.     Argt returns the type of symbol passed in the indicated
  98.     argument position. Possible values are:
  99.  
  100.         1 - Variable
  101.         2 - Function
  102.         4 - Literal
  103.  
  104.     Note: this function may not be passed to another user defined
  105.     function. Set a variable to the result and pass it instead.
  106.  
  107. argv (argnum_int)
  108.  
  109.     Argv evaluates the argument passed in the indicated position
  110.     and returns the result. If the argument is a function or variable
  111.     it is not evaluated until this function is used. Every time this
  112.     function is executed the argument is evaluated. This can be used
  113.     to implement new flow of control constructs.
  114.  
  115.     Note: this function may not be passed to another user defined
  116.     function. Set a variable to the result and pass it instead.
  117.  
  118. arycre (size_int, [init_exp...])
  119.  
  120.     Arycre creates an array and returns an array descriptor. The
  121.     array has the number of elements specified by size_int. An optional
  122.     list of initializers may be specified to initialize elements of the
  123.     array. If there are fewer initializers than elements the extra
  124.     elements are uninitialized. If there are more initializers than
  125.     elements the extra initializers are ignored. Each array is identified
  126.     by its array descriptor and all array builtin functions require
  127.     that the array descriptor be specified as the first argument.
  128.  
  129. aryfre (ad_int)
  130.  
  131.     Aryfre frees an array specified by the array descriptor argument.
  132.     The array must have been created by an arycre or lstamap function
  133.     call. Once the array is freed the storage it occupied may be
  134.     reused and the array may not be referenced.
  135.  
  136. aryget (ad_int index_int)
  137.  
  138.     Aryget returns the element of the array specified by the array
  139.     descriptor argument and index argument. The lowest valued index
  140.     in an array is zero and the highest permissible value is one less
  141.     than the array size specified in the arycre call. This function
  142.     returns a null string if the element is uninitialized.
  143.  
  144. arykget (ad_int key_str)
  145.  
  146.     Arykget returns the element of the array specified by the array
  147.     descriptor argument and the key argument. The key may be any
  148.     character string key that was used to store an element in the
  149.     array using arykput.
  150.  
  151. arykput (ad_int key_str data_str)
  152.  
  153.     Arykget stores data_str in an array specified by the array
  154.     descriptor at a location defined by key_str. The key_str may be
  155.     any arbitrary string and may be used to retrieve the data using
  156.     arykget. This function returns the numeric index of the element
  157.     specified by key_str.
  158.  
  159.     Note: it is possible to get the elements of the array sequentially
  160.     by using a numeric index and aryget.
  161.  
  162. arylcur (ad_int index_int)
  163.  
  164.     Arylcur may only be used on a mapped array (see arylmap). It sets
  165.     the current location in the corresponding list to the array element
  166.     identified by the array descriptor and index.
  167.  
  168. arylmap (ad_int)
  169.  
  170.     Arylmap creates a list with a node for each element in the array
  171.     and returns the list descriptor. The array and list refer to the
  172.     same storage so modifying an element of the array results in a
  173.     modification to the corresponding node in the list. 
  174.  
  175. aryput (ad_int index_int data_str)
  176.  
  177.     Aryput stores the data data_str in the array specified by the
  178.     argument descriptor ad_int at the location specified by index_int.
  179.  
  180. arysize (ad_int)
  181.  
  182.     Arysize returns the number of elements in the array specified
  183.     by the array descriptor.
  184.  
  185. asin (x_num)
  186.  
  187.     Asin returns the arc sine of its argument. The value of the 
  188.     argument must be in the range of -1 to 1. The value of the result
  189.     is in the range -pi/2 to pi/2.
  190.  
  191. atan (x_num)
  192.  
  193.     Atan returns the arc tangent of its argument. The value of the
  194.     result is in the range -pi to pi.
  195.  
  196. auto (auto_var [size_int])
  197.  
  198.     Auto allocates size_int bytes (characters) of automatic storage 
  199.     for the variable specified by auto_var. If the size argument is
  200.     omitted then the current system default number of bytes will 
  201.     allocated. The current system default may be read and set using
  202.     the sys builtin function and the ds_unit variable.
  203.  
  204. bifbind (arg_bif)
  205.  
  206.     Bifbind binds the builtin function specified by arg_bif to its
  207.     internal address. This function may be used to ensure that bif
  208.     is bound to a builtin function and not a user defined function.
  209.     It may also be used to check if bif is a valid builtin function
  210.     name. Builtin functions are normally bound to their internal
  211.     address the first time they are referenced.
  212.  
  213.     See also: bind, udfbind, unbind
  214.  
  215. bifdir ([bif...])
  216.  
  217.     Bifdir displays the internal address, name and syntax of each
  218.     builtin function name specified in the argument list. If no names
  219.     are specified it prints that information for all builtin functions.
  220.  
  221. bind (fn...)
  222.  
  223.     Bind binds the user defined or builtin functions specified by
  224.     fn... to their internal addresse. The normal search order of
  225.     internal user defined function, external user defined function,
  226.     builtin function is used.
  227.  
  228. bitand (mask_int mask_int...)
  229. &
  230.  
  231.     Bitand returns the bitwise AND of its arguments. A bitwise AND
  232.     is a logical AND of each bit in each mask, aligned on the right
  233.     and zero filling as necessary to accomodate differences in the
  234.     length of each bit string. The maximum length of mask_int is
  235.     32 bits.
  236.  
  237.     Truth Table:
  238.  
  239.         X    Y    AND
  240.         ----------------------
  241.         0    0    0
  242.         0    1    0
  243.         1    0    0
  244.         1    1    1
  245.  
  246. bitls (mask_int shiftamt_int)
  247. <<
  248.  
  249.     Bitls returns the value of mask_int left shifted by shiftamt_int.
  250.     Spaces vacated on the right are filled with zeros. Bits shifted off
  251.     the left are lost. The maximum length of mask_int is 32 bits.
  252.  
  253. bitnot (mask_int)
  254. ~
  255.  
  256.     Bitnot returns the bitwise NOT (one's complement) of its argument.
  257.     The maximum length of mask_int is 32 bits.
  258.  
  259.     Truth Table:
  260.  
  261.         X    NOT
  262.         --------------
  263.         0    1
  264.         1    0
  265.  
  266. bitor (mask_int mask_int...)
  267. |
  268.  
  269.     Bitor returns the bitwise OR of its arguments. A bitwise OR
  270.     is a logical OR of each bit in each mask, aligned on the right
  271.     and zero filling as necessary to accomodate differences in the
  272.     length of each bit string. The maximum length of mask_int is
  273.     32 bits.
  274.  
  275.     Truth Table:
  276.  
  277.         X    Y    OR
  278.         ----------------------
  279.         0    0    0
  280.         0    1    1
  281.         1    0    1
  282.         1    1    1
  283.  
  284. bitrs (mask_int shiftamt_int)
  285. >>
  286.  
  287.     Bitrs returns the value of mask_int right shifted by shiftamt_int.
  288.     Spaces vacated on the left are filled with zeros. Bits shifted off
  289.     the right are lost. The maximum length of mask_int is 32 bits.
  290.  
  291. bitxor (mask_int mask_int...)
  292. ^
  293.  
  294.     Bitxor returns the bitwise XOR (exclusive or) of its arguments. A
  295.     bitwise XOR is a logical XOR of each bit in each mask, aligned on
  296.     the right and zero filling as necessary to accomodate differences
  297.     in the length of each bit string. The maximum length of mask_int
  298.     is 32 bits.
  299.  
  300.     Truth Table:
  301.  
  302.         X    Y    XOR
  303.         ----------------------
  304.         0    0    0
  305.         0    1    1
  306.         1    0    1
  307.         1    1    0
  308.  
  309. break (handler_fn)
  310.  
  311.     Break establishes a function to be executed whenever Control-C
  312.     is entered from the integrated or interactive environment. The 
  313.     function may execute a non-local goto to a label in a user defined
  314.     function that is still active (has not returned). Any other return
  315.     causes execution to resume at the point where it was interrupted.
  316.  
  317. case (case_exp
  318.     when (option_exp
  319.     option_fn
  320.     ...
  321.     )
  322.     ...
  323.     [default (
  324.     default_fn
  325.     ...
  326.     )]
  327. )
  328.  
  329.       Case is a flow of control construct. It compares case_exp to each
  330.     option_exp. The first option_exp which is equal to the case_exp
  331.     causes execution of that block of functions. When the block is done
  332.     control resumes at the function following the case argument list
  333.     terminator. If no option_exp equals case_exp and a default block
  334.     is specified then it is evaluated.
  335.  
  336.     See also: do, exit, for, goto, if, label, leave, loop,
  337.           return, select, quit, until, while
  338.  
  339. chdir (dir_str)
  340.  
  341.     Chdir changes the current directory to that specified by the 
  342.     directory path argument dir_str.
  343.  
  344. close (fd_int)
  345.  
  346.     Close closes the file descriptor specified by fd_int. Once a
  347.     file is closed it may not be accessed again.
  348.  
  349. copy (oldfile_str newfile_str)
  350.  
  351.     Copy copies the file specified by the pathname oldfile_str to
  352.     the pathname specified by newfile_str.
  353.  
  354. cos (value_num)
  355.  
  356.     Cos returns the cosine of its argument, value_num. The argument
  357.     should be expressed in radians. The result is in the range -1
  358.     to 1.
  359.  
  360. date ()
  361.  
  362.     Date returns the current system date in MM:DD:YY format:
  363.  
  364.     Where:    MM - month (01-12)
  365.         DD - day (01-31)
  366.         YY - year
  367.  
  368.     See also: day, seconds, time
  369.  
  370. day ([seconds])
  371.  
  372.     Day returns the complete day and date in the following format:
  373.  
  374.         DDD MMM NN HH:MM:SS YYYY
  375.  
  376.     Where:  DD    Day of the week.
  377.         MMM    Month of the year.
  378.         NN    Day of the month.
  379.         HH    Hours (0-23).
  380.         MM    Minutes (0-59).
  381.         SS    Seconds (0-59).
  382.         YYYY    Year (1980-2030).
  383.  
  384.     If the optional argument is specified then seconds_int is
  385.     converted to the indicated format.
  386.  
  387.     See also: date, seconds, time
  388.  
  389. dbgbc (stepnum_int...)
  390.  
  391.     Dbgbc clears the breakpoints specified by the list of 
  392.     arguments stepnum_int... The breakpoints values are the program
  393.     step numbers previously used in a set breakpoint (dbgbs)
  394.     command or as returned by list breakpoint (dbgbl).
  395.  
  396. dbgbl ()
  397.  
  398.     Dbgbl lists all breakpoints that are currently set. This
  399.     list includes a count of the number of times that breakpoint
  400.     has been executed as well as the step number and the function
  401.     name associated with the step.
  402.  
  403. dbgbs (stepnum_int...)
  404.  
  405.     Dbgbs sets a breakpoint at each program step specified by
  406.     the list stepnum_int... Breakpoints may only be set at steps that
  407.     reference a function name. Literals and variables are not
  408.     allowed. To find out the step number use the list function
  409.     (udflist). Don't forget to turn on debug mode (dbgon) to
  410.     enable all the breakpoints that have been set.
  411.  
  412. dbgcont ()
  413.  
  414.     Dbgcont disables single step mode (dbgstep) and enables
  415.     normal execution of user defined functions.
  416.  
  417. dbgoff ()
  418.  
  419.     Dbgoff disables the Max debugger. Debugging information such
  420.     as breakpoints is not discarded and can be re-established using
  421.     dbgon.
  422.  
  423. dbgon ()
  424.  
  425.     Dbgon enables the Max debugger. No trace, single step or
  426.     breakpoint processing is performed until debug mode is turned
  427.     on.
  428.  
  429. dbgsd ()
  430.  
  431.     Dbgsd displays the evaluator stack. This shows how Max got to
  432.     the current step by displaying the name of each function that has
  433.     called another function that has not yet returned. 
  434.  
  435. dbgstep ()
  436.  
  437.     Dbgstep enables single step mode. This causes Max to print each
  438.     step name and pause prior to executing it. A command may be
  439.     entered. Pressing carriage returns continues to the next step.
  440.     Don't forget to turn on debug mode (dbgon) to enable single
  441.     step processing.
  442.  
  443. dbgtroff ()
  444.  
  445.     Dbgtroff disables step tracing.
  446.  
  447. dbgtron ()
  448.  
  449.     Dbgtron enables step tracing. This results in Max displaying
  450.     the step name prior to executing each step. Don't forget to turn 
  451.     on debug mode (dbgon) to enable step tracing.
  452.  
  453. dbgvd (disp_var level_int)
  454.  
  455.     Dbgvd displays the contents of the variable specified by disp_var,
  456.     optionally at the level of the stack given by level_int. If a stack
  457.     level is not specified then the current stack frame is used.
  458.  
  459. define (new_udf)
  460.  
  461.     Define defines a new user defined function. The body of the user
  462.     defined function is specified as arguments to the new function's
  463.     name. To define a simple function to print the time:
  464.  
  465.         define (
  466.             simple_function (
  467.                 print (time ())
  468.             )
  469.         )
  470.  
  471.     where simple_function is the name of the new user defined
  472.     function.
  473.  
  474. defint (new_udf)
  475.  
  476.     Defint defines an internal user defined function. It must be
  477.     used inside a user defined function. The new internal user
  478.     defined function cannot be recursive. It may reference any of
  479.     the variables already defined in the containing function. Any
  480.     variables that the internal udf defines are not visible to the
  481.     containing function. The storage required for the internal
  482.     user defined function is freed when the containing function
  483.     returns.
  484.  
  485. delete (path_str)
  486.  
  487.     Delete deletes the file specified by the pathname path_str.
  488.  
  489. dirlst (wildcard_str [attr_int])
  490.  
  491.     Dirlst reads the directory specified by wildcard_str (which
  492.     must contain the ? and * wildcards) into a new list and returns
  493.     the list descriptor. The optional attribute argument may be
  494.     used to select system files (4), hidden files (2) or the volume
  495.     file.
  496.  
  497. div (val_exp val_exp...)
  498. /
  499.  
  500.     Div divides its arguments from left to right and returns the
  501.     result.
  502.  
  503. do (
  504.     [fn
  505.     ...]
  506. )
  507.  
  508.     Do is a flow of control construct. It may be used to group
  509.     a block of functions. The functions are executed sequentially.
  510.     A break function causes the rest of the functions in the block
  511.     to be skipped and control resumes following the argument list
  512.     terminator associated with do.
  513.  
  514.     See also: case, do, exit, for, goto, if, label, leave, loop,
  515.           return, select, quit, until, while
  516.  
  517. eof (fd_int)
  518.  
  519.     Eof returns true if the file represented by the specified file
  520.     descriptor is at end-of-file, otherwise it returns false.
  521.  
  522. errcode ([error_int])
  523.  
  524.     Errcode returns the current error code, optionally re-setting it
  525.     to the value specified by error_int. Setting the error code to zero
  526.     allows processing to continue for severity level 0 (warnings)
  527.     or 1 (errors). Errcode should only be used in an error handler.
  528.  
  529. errfn ([handler_fn])
  530.  
  531.     Errfn specifies an error handling function. This function is
  532.     not evaluated until an error occurs. Control is then transferred
  533.     to it instead of performing the default processing of displaying
  534.     an error message. If handler_fn is not specified the default
  535.     error handling is restored.
  536.  
  537. errinfo (code_int, desc_str, step_int)
  538.  
  539.     Errinfo *returns* via its argument list the current error
  540.     code, a descriptive error message string and the step in the
  541.     user defined function that caused the error. It should only
  542.     be called from an error handler.
  543.  
  544. errlevel (newlevel_int)
  545.  
  546.     Errlevel specifies a new error level. Errors with a severity
  547.     greater than the specified level cause the default message to
  548.     be displayed. This function has no affect on a user defined
  549.     error handler. Valid newlevel_int's are 0 to enable warning
  550.     messages (the default) and 1 to disable warning messages.
  551.  
  552. errmsg ()
  553.  
  554.     Errmsg returns an error message string indicating the cause
  555.     of the current error. It should only be called from an error
  556.     handler.
  557.  
  558. errsig (code_int msg_str step_int)
  559.  
  560.     Errsig signals an error. It may be used for testing an error
  561.     handler or for signalling errors in user defined functions.
  562.  
  563. eval (function_str...)
  564.  
  565.     Eval evaluates each of its arguments by passing it to the Max
  566.     translator and then to the Max interpreter. The result is just
  567.     as if the function_str had been typed as a command or entered
  568.     from a file.
  569.  
  570.     See also: feval
  571.  
  572. exit ()
  573.  
  574.     Exit is a flow of control construct. It causes the currently
  575.     executing user defined function to terminate and return control
  576.     to the Max command level.
  577.  
  578.     See also: case, do, for, goto, if, label, leave, loop,
  579.           return, select, quit, until, while
  580.  
  581. exp (x_num)
  582.  
  583.     Exp returns the exponential value of its argument, or e raised
  584.     to the power of x_num.
  585.  
  586. export (exp_var [to_udf])
  587.  
  588.     Export exports the storage associated with the variable specified
  589.     by exp_var to the user defined function specified by to_udf. If 
  590.     to_udf is not specifed then the variable is exported to any user
  591.     defined function that wants it.
  592.  
  593.     See also: import
  594.  
  595. feval (path_str)
  596.  
  597.     Feval evaluates the file specified by path_str. Each line in the
  598.     file is passed to the Max translator and then to the Max interpreter.
  599.     The result is just as if the contents of the file had been typed
  600.     at command level. This is the standard method of loading a library
  601.     of Max user defined functions.
  602.  
  603.     See also: eval
  604.  
  605. fmhex (val_hex)
  606.  
  607.     Fmhex converts a hex value to decimal. The maximum precision of
  608.     the conversion is 32 bits. The hex value may be preceded by 0x.
  609.  
  610.     See also: format
  611.  
  612. for (init_exp exit_exp iterate_exp [block_fn...])
  613.  
  614.     For is a flow of control construct. The first three arguments
  615.     are analogous to the control expressions used in the for loop
  616.     in C or BASIC. The first is an initialization expression that
  617.     is evaluated first. Next is an exit expression. It is evaluated
  618.     for every iteration of the loop. If it returns true then the list
  619.     of functions specified by block_fn... is executed in order. If
  620.     it returns false then control resumes following the argument
  621.     list terminator. The third and final control argument is evaluated
  622.     for every iteration of the loop and usually changes the values
  623.     of variables used in exit_exp.
  624.  
  625.     See also: case, do, exit, goto, if, label, leave, loop,
  626.           return, select, quit, until, while
  627.  
  628. format (template_str [substitution_exp...])
  629.  
  630.     Format produces a formatted string by substituting arguments
  631.     into locations in the templatate. The substitution uses C style
  632.     escape sequences:
  633.  
  634.         %s - string
  635.         %d - integer
  636.         %x - hex integer
  637.         %f - floating point
  638.         etc.
  639.  
  640. free (static_var)
  641.  
  642.     Free frees the storage allocated to the static variable specified
  643.     by static_var and undefines the variable. The storage is reused
  644.     after it is freed and can no longer be referenced through the
  645.     variable.
  646.  
  647.     See also: static
  648.  
  649. ge (value_num...)
  650. >=
  651.  
  652.     Ge performs a greater than or equal to comparison of its
  653.     arguments from left to right and returns true if each argument
  654.     passes the comparison, otherwise false. If only one argument is
  655.     specified it compares it to zero and returns the result.
  656.  
  657. genfre (sd_int)
  658.  
  659.     Genfre frees the structure specified by the structure descriptor
  660.     sd_int, regardless of the type of structure (array, list, pattern,
  661.     etc).
  662.  
  663. get ([input_var])
  664. input
  665.  
  666.     Get reads a line of input from the command source and returns
  667.     it. If an input variable is specified it also returns it via the
  668.     argument list.
  669.  
  670.     See also: put
  671.  
  672. get_arg (step_int)
  673.  
  674.     Get_arg returns the argument step associated with a function
  675.     step.
  676.  
  677. get_step (udfname_str)
  678.  
  679.     Get_node returns the the first program step in the user defined
  680.     function specified by udfname_str.
  681.  
  682. get_nxt (step_int)
  683.  
  684.     Get_nxt returns the step that follows step_int in a user defined
  685.     function.
  686.  
  687. get_sym (step_int)
  688.  
  689.     Get_sym returns the name of the step specified by step_int.
  690.  
  691. getcwd ()
  692.  
  693.     Getcwd returns the pathname of the current working directory.
  694.  
  695. getenv (name_str)
  696.  
  697.     Getenv returns the value of the environement variable specified
  698.     by name_str.
  699.  
  700. goto (label_var)
  701.  
  702.     Goto is a flow of control construct. It transfers control to
  703.     the label specified by label_var. Label_var must have previously
  704.     been set by a call to label. This function may be used to perform
  705.     a non-local goto to a function that is still active on the stack (i.e. has
  706.     not returned) provided the label has been imported to the current
  707.     function. This function will produce bizarre results if the
  708.     function that defined label_var has returned.
  709.  
  710.     See also: case, do, exit, for, if, label, leave, loop,
  711.           return, select, quit, until, while
  712.  
  713. gt (value_num...)
  714. >
  715.  
  716.     Gt performs a greater than comparison of its arguments from left
  717.     to right and returns true if each argument passes the comparison,
  718.     otherwise false. If only one argument is specified it compares it
  719.     to zero and returns the result.
  720.  
  721. if (cond_exp 
  722.     then (then_fn...)
  723.     else (else_fn...)
  724. )
  725.  
  726.     If is a flow of control construct. The first argument, cond_exp,
  727.     is evaluated. If it returns true the list of functions specified
  728.     by then_fn... is executed. If it returns false the list of functions
  729.     specified by else_fn... is executed. Either block may be prematurely
  730.     terminated by a leave function.
  731.  
  732.     See also: case, do, exit, for, goto, label, leave, loop,
  733.           return, select, quit, until, while
  734.  
  735. import (imp_var [from_udf])
  736.  
  737.     Import imports the storage associated with the variable specified
  738.     by imp_var from the user defined function specified by form_udf. If 
  739.     from_udf is not specifed then the variable is imported from the
  740.     first function that exported it to this function or for general
  741.     use. Once a variable has been exported from one function and 
  742.     imported from another it is considered shared. Note that a
  743.     function may export a static variable for later import.
  744.  
  745.     See also: export
  746.  
  747. inkey ()
  748.  
  749.     Inkey reads a key from the keyboard without echoing it. It should
  750.     not be used with the Max integrated environment.
  751.  
  752. inp (port_int)
  753.  
  754.     Inp returns a value read from the port specified by port_int.
  755.  
  756. label (label_var)
  757.  
  758.     Label establishes the current location as a target for a goto.
  759.     The containing function must be active on the stack (i.e. have not
  760.     returned) when the goto is executed. A label may be exported to
  761.     another function to allow a non-local goto. This is useful for
  762.     error or control-c handlers.
  763.  
  764.     See also: case, do, exit, for, goto, if, leave, loop,
  765.           return, select, quit, until, while
  766.  
  767. le (value_num...)
  768. <=
  769.  
  770.     Le performs a less than or equal to comparison of its
  771.     arguments from left to right and returns true if each argument
  772.     passes the comparison, otherwise false. If only one argument is
  773.     specified it compares it to zero and returns the result.
  774.  
  775. leave ()
  776.  
  777.     Leave is a flow of control construct. It is used to leave a
  778.     block of functions by transferring control to the function following
  779.     the argument list terminator of the block. It may be used inside
  780.     do, for, loop, default, then, else and when blocks.
  781.  
  782.     See also: case, do, exit, for, goto, if, label, loop,
  783.           return, select, quit, until, while
  784.  
  785. ln (value_num)
  786.  
  787.     Ln returns the natural logarithm of its argument.
  788.  
  789. log (value_num)
  790.  
  791.     Log returns the base 10 logarithm of its argument.
  792.  
  793. loop (
  794.     block_fn
  795.     ...
  796. )
  797.  
  798.     Loop is a flow of control construct. It repeatedly executes
  799.     the list of functions in block_fn... until terminated by a leave,
  800.     exit, return, etc.
  801.  
  802.     See also: case, do, exit, for, goto, if, label, leave,
  803.           return, select, quit, until, while
  804.  
  805. lstacur (ld_int)
  806.  
  807.     Lstacur may only be used on a mapped list (see lstamap). It 
  808.     returns the array index    associated with the current list node.
  809.  
  810. lstamap (ld_int)
  811.  
  812.     Lstamap maps the list specified by the list descriptor ld_int to
  813.     an array and returns the new array descriptor. The data in the list 
  814.     is then accessable from either the list or the array. The array and
  815.     list refer to the same storage so modifying an element of the array
  816.     results in a modification to the corresponding node in the list. 
  817.  
  818.     See also: lstacur, aryget, argput, arysize
  819.  
  820. lstcget (ld_int)
  821.  
  822.     Lstcget returns the value at the current location in the list. The
  823.     current location must have previously been set.
  824.  
  825.     See also: lsthead, lsttail, lstprev, lstnext, lstsub
  826.  
  827. lstcpop (ld_int)
  828.  
  829.     Lstcpop removes the current node from the list and returns the
  830.     value of the node. Once a node is removed from a list it is no
  831.     longer accessable. The current location pointer is moved to the
  832.     next node in the list if there is one, otherwise it becomes
  833.     undefined.
  834.  
  835.     See also: lsthead, lsttail, lstprev, lstnext, lstsub
  836.  
  837. lstcpsh (ld_int value_exp)
  838.  
  839.     Lstcpsh creates and inserts a new list node following the current
  840.     location and initializes its value to value_exp. The new node
  841.     becomes the new current location.
  842.  
  843.     See also: lsthead, lsttail, lstprev, lstnext, lstsub
  844.  
  845.