System Function AT

From NARS2000
Revision as of 14:44, 6 April 2011 by WikiSysop (talk | contribs)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Z←L ⎕AT R returns the attributes of the objects named in R.
R is a character scalar, vector, or matrix consisting of the names of objects (e.g., variables, functions, or operators).
L is an integer scalar whose value is either 1, 2, 3, or 4.
Z is an integer vector or matrix.


If R is a scalar, it is treated as the name; if R is a vector, it is treated as a vector of names separated from one another by one or more blanks; if R is a matrix, each row is treated as a single name surrounded by zero or more blanks.

If R consists of a single name, Z is a vector; otherwise Z is a matrix with as many rows as there are names in R.

The number of columns in Z depends upon the value of L.

  • If L is 1, the result describes the Valences of the objects named in R and has three columns consisting of
    [1] Whether or not there is an Explicit result (1 or 0): This value is 1 for variables and for functions/operators that return a result; 0 otherwise.
    [2] The Function Valence (0, 1, or 2): This value is 0 for a non-function or for a niladic function, 1 for a monadic function or for a monadic derived function from an operator, and 2 for a dyadic or ambivalent function or for a dyadic or ambivalent derived function from an operator.
    [3] The Operator valence (0, 1, or 2): This value is 0 for a non-operator, 1 for a monadic operator, and 2 for a dyadic operator.

  • If L is 2, the result describes the Fix Time of the objects named in R and has seven columns consisting of
    [1] Year
    [2] Month
    [3] Day
    [4] Hour
    [5] Minute
    [6] Second
    [7] Millisecond

    If an object named in R is not a user-defined function/operator, the corresponding row in the result is all 0. All times are in UTC and represent the time the function was last modified.

  • If L is 3, the result describes the Execution Properties of the objects named in R and has four columns consisting of
    [1] Whether or not the object is Nondisplayable (1 or 0)
    [2] Whether or not the object is Nonsuspendable (1 or 0)
    [3] Whether or not the object Ignores weak interrupts, i.e. Ctrl-C or Ctrl-Break (1 or 0)
    [4] Whether or not the object Converts non-resource errors to DOMAIN ERRORs (this value is always 0)

    If an object named in R is a variable, the corresponding row in the result is all 0. If an object named in R is a primitive or system function, the corresponding row in the result is 1 1 1 0. If an object named in R is a function array, train, or magic function, the corresponding row in the result is 0 1 1 0.

  • If L is 4, the result describes the Object Size of the objects named in R and has two columns consisting of
    [1] The object's size consisting of the object header and data sizes
    [2] The object's data size only.