Topic: APLX Help : Help on APL language : System Functions & Variables : ⎕AT Object Attributes
[ Previous | Next | Contents | Index | APL Home ]

www.microapl.co.uk

⎕AT Object Attributes


The dyadic system function ⎕AT returns a variety of attributes for objects named in its right argument. The right argument should be a character scalar, vector or matrix of names and the left argument an integer in the range 1 - 4. The information available is:

            Left           Length of        Attributes Returned
          Argument          result
          ──────────────────────────────────────────────────────
             1                3             Valences
             2                7             Fix timestamp
             3                4             Execution properties
             4                2             Object size

and the attributes are defined as follows (using the sample workspace defined below):

             )FNS                    (Sample workspace)
       GO      STOP    WAIT
             )VARS
       NUMS

Valences (Left argument 1)

The first element of the valence vector is 1 if the object is a variable or function with an explicit result and 0 for other cases. The second element is 0 1 for monadic functions, 2 for dyadic or nomadic functions, and 0 otherwise. The third element is 0 if the object is not an operator, 1 for monadic operators, 2 for dyadic operators.

             (⎕NL 2 3),1 ⎕AT ⎕NL 2 3
       GO   1 0 0                    (Niladic function, explicit result)
       NUMS 1 0 0                    (Variable)
       STOP 0 0 0                    (Niladic function, no result)
       WAIT 0 2 0                    (Dyadic/nomadic function, no result)

Fix timestamp (Left argument 2)

If the named object is a function/operator, the timestamp of the latest fix of the function is returned.

             (⎕NL 2 3),2 ⎕AT ⎕NL 2 3
       GO   1990 5 25 0 19 14 703    (Latest fix time)
       NUMS    0 0  0 0  0  0   0    (Not a function)
       STOP 1990 5 25 0 19 10 906
       WAIT 1990 5 25 0 19 30 640

Execution properties (Left argument 3)

A four element vector detailing the four execution properties:

       Nondisplayable; Nonsuspendable; Ignores weak interrupts; Converts APL
       errors to DOMAIN ERROR

Thus the vector is 0 0 0 0 for unlocked functions and 1 1 1 1 for locked functions.

             (⎕NL 2 3),3 ⎕AT ⎕NL 2 3
       GO   0 0 0 0
       NUMS 0 0 0 0
       STOP 0 0 0 0
       WAIT 0 0 0 0

Object size (Left argument 4)

A two element vector is returned for each object named, showing first the size of the object as a whole, and secondly either size of the data portion (for variables) or repeating the object size.

             (⎕NL 2 3),4 ⎕AT ⎕NL 2 3
       GO   100 100                  (100 byte function)
       NUMS 56  40                   (56 byte variable, 40 byte data portion)
       STOP 68  68
       WAIT 104 104

Topic: APLX Help : Help on APL language : System Functions & Variables : ⎕AT Object Attributes
[ Previous | Next | Contents | Index | APL Home ]