#chapter Primitive Data This chapter describes the elementary datatypes of XPCE: constant Constants (@nil, @default, ...) bool @on, @off char_array String of characters (superclass) name Constant char_array (identifier) string Editable char_array number Integer value real Floating point value date Point in time THE DATA TYPE INT Besides these, XPCE offers data of type `int'. Int is the only datum not represented as a true object, mainly for efficiency and storage reasons. A PCE int is a 30 bits signed integer ranging from `@pce <-min_integer' to `@pce <-max_integer' (-536870912 .. 536870911). NOTE: Many symbolic languages use more tag bits than PCE and thus ?- get(@pce, min_integer, I) will not produce the required result. get(real(@pce?min_integer), value, I) will on most systems return the requested value (be aware of rounding problems though). When a message is sent to an `int' datum, PCE's message passing mechanism will create a number object with the same value and invoke the method on this object. Thus: ?- send(3, larger, 2). will succeed. The following succeeds, but is a useless call (why?): ?- send(3, plus, 2). #end chapter #class constant #end class #class bool #end class #class char_array #description group content The manipulation methods of this section are designed to return an instance of the same class as the receiver of the method. This is wired in for the class name and class string. For any other class, <-modify is invoked on the receiver. The argument is a char_array object holding the text to be returned. See <-modify for the default definition. #end description #end class #class name #end class #class string #end class #class number #end class #class real #end class #class date #end class