Home Online Manual
Top
Back: Names
Forward: Type conversion and casting
FastBack: Implemented algorithms
FastForward: Input and output
Up: The SINGULAR language
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

3.5.4 Objects

Every object in SINGULAR has a type and a value. In most cases it has also a name and in some cases an attribute list. The value of an object may be examined simply by printing it with a print command: object;. The type of an object may be determined by means of the typeof function, the attributes by means of the attrib function ( typeof, attrib):

 
  ring r=0,x,dp;
  typeof(10);
==> int
  typeof(10000000000000000);
==> bigint
  typeof(r);
==> ring
  attrib(x);
==> no attributes
  attrib(std(ideal(x)));
==> attr:isSB, type int

Each object of type poly, ideal, vector, module, map, matrix, number, or resolution belongs to a specific ring. This is also true for list, if at least one of the objects contained in the list belongs to a ring. These objects are local to the ring. Their names can be duplicated for other objects in other rings. Objects from one ring can be mapped to another ring using maps or the commands fetch or imap. See map, fetch, imap.

All other types do not belong to a ring and can be accessed within every ring and across rings. They can be declared even if there is no active basering.