SYNOPSIS
mixed get_type_info(mixed arg, int flag)
DESCRIPTION
Returns info about the type of arg, as controlled by the flag.
If the optional argument <flag> is not a number, an array is
returned, whose first element is an integer denoting the data
type, as defined in <lpctypes.h>. The second entry can contain
additional information about arg.
If <flag> flag is the number 0, only the first element of that array
(i.e. the data type) is returned (as int). If <flag> is 1, the
second element is returned.
If <arg> is a closure, the <flag> setting 2 lets the efun
return the object of the closure (which for 'alien lfun closures' is
the object the lfun is defined in, not the object the closure is
bound to).
For every other <flag> setting, -1 is returned.
The secondary information is:
- for mappings the width, ie the number of data items per key.
- for symbols and quoted arrays the number of quotes.
- for closures, the (internal) closure type.
- for strings 0 for shared strings, and non-0 for others.
- -1 for all other datatypes.
BUGS
This function seems to be due to frequent changes as the
driver develops resp. is debugged.
HISTORY
Introduced in 3.2@127
Flag setting 2 was introduced in 3.2.1@84.
Secondary string information was introduced in 3.2.7.
Up to 3.2.7 inclusive, get_type_info(closure,2) did not return
the object from a lambda closure or bound-lambda closure.
Up to 3.2.9 inclusive, get_type_info(closure,2) did not return
the object from a efun, simul-efun or operator closure.
SEE ALSO
debug_info(E), typeof(E), to_object(E)