A "struct" type "st" has the following methods. ([tex2html_wrap2978]rt is the related "record" type, i.e., it has the same field names and types in the same order.)
Methods for "struct" type "st"
a ( ) returns (T)
% (here a is a field name and T is the corresponding type)
% effects returns the object stored in the a component of self.
replace_a (x: T) returns (st)
% effects returns a new struct containing the objects in the
% corresponding fields of self except that x is in field a
to_r ( ) returns (rt)
% effects returns a new record whose fields contain the objects in the
% corresponding fields of self
equal (x: st) returns (bool)
where all field types T of st have equal (T) returns (bool)
% effects returns true if x and self are pairwise equal (using the equal
% methods for the fields) else returns false
similar (x: st) returns (bool)
where all field types T of st have similar (T) returns (bool)
% effects returns true if x and self are pairwise similar (using the similar
% methods for the fields) else returns false
copy ( ) returns (st)
where all field types T of st have copy ( ) returns (T)
% effects returns a new struct containing as components copies of the objects
% (using the object's copy method) in the corresponding fields of self.
unparse ( ) returns (string)
where all field types T of st have unparse ( ) returns (string)
% effects returns a string representing the value of self. The form of the
% string is struct{\tex{$n_1$}: \tex{$f_1$},..., \tex{$n_n$}: \tex{$f_n$}}, where \tex{$n_i$} is the name of the
% ith struct field and \tex{$f_i$} is the unparsing of that field.