@node Whatis, While, Viewpoint, Commands @iftex @syntax Whatis. @end iftex @example Syntax: Whatis ( expr ) @end example @pindex Whatis @findex classifying strings WHATIS(something) has a value depending on what something is: @example a number: 0 not a number: set 01 bit (bit 0) a macro: set 02 bit (bit 1) a variable: set 04 bit (bit 2) a vector: set 010 bit (bit 3) a float vector: set 040 bit (bit 5) a string vector: set 0100 bit (bit 6) a keyword: set 020 bit (bit 4) @end example @noindent So if ``aa'' is the name of a string vector, WHATIS(aa) has the octal value 0111, or 73, whereas WHATIS(HELP) has the value 021, or 17, and WHATIS(1) is 0. There is a macro in @file{utils} called @code{is_set} that tests if WHATIS sets a particular bit, for example @example if(is_set(kkk,3)) @{ echo kkk is a vector @} @end example @noindent tests if bit 3 (vector) is set for ``kkk'' and prints its findings; it's easier to say @example if(is_vector(kkk)) @{ echo kkk is a vector @} @end example which does the test for you.