Rosetta Usage Guide Updates The following reflects updates to the usage guide associated with the current release. Chapters are indicated followed by changes within the chapter and a list of known To Do items. Change bars are included in the document to reflect where changes occur in the text. There is not a one-to-one correspondance between notations in this file and change bars in the text. When versions are released to the web, content specific to the distribution should be appened to the CHANGELOG file with a date stamp for the web release. There is no need to do this each time a CVS commit occurs, only for officially released versions. CVS tags should be generated for each release using the form usageX-Y where X is the major release and Y is the update number. Inquiries should be directed to perry.alexander@ieee.org. ------ Information specific to this distribution ------ Items, Variables, Values and Types Sat May 26 09:12:30 EDT 2001 -- wpa Removed the reference to universal as a Rosetta type. Universal is explicitly defined not to be a bunch and thus it cannot be a type. The univ type is used in its place. Sat May 26 19:14:04 EDT 2001 -- wpa Rewrote the entire function section. Combined all mechanisms for forming and evaluating functions into a single section. Sat May 26 19:14:33 EDT 2001 Corrected the example of selective union. An expression always follows is in the standard function definition syntax. Sat May 26 20:34:32 EDT 2001 -- wpa Clarified the definition of selective union to explicitly define the case when the parameter value is in more than one domain type and in no domain type. The former selects the lexically first domain while the latter is undefined. Sun May 27 07:36:47 EDT 2001 -- wpa Changed the syntax of let parameter declarations to match function parameter definitions. Specifically, "=" changed to "is", and ";" to ",". Will also allow multiple variables of the same type to be defined as "x,y,z::T". Sun May 27 08:05:15 EDT 2001 -- wpa Added an explanitory section on the if statement in the functions section. Mon May 28 09:43:21 EDT 2001 -- wpa Rewrote the constructed types section for inclusion with the rest of the document. Thu May 31 12:20:55 CDT 2001 -- wpa Added the type shorthand for defining uninterpretted types. Deleted the discussion surrounding type(universal). Thu May 31 12:48:23 CDT 2001 -- wpa Added a section on enumerations in the constructed types section. It makes sense for enumerations to be defined using the construction capabilities. Fri Jun 1 15:26:16 CDT 2001 -- wpa Move the discussion of records and tuples to the constructed types section. Fri Jun 1 15:27:44 CDT 2001 -- wpa Provided a formal definition for the record type definition and constructor notation. Fri Jun 1 18:05:36 CDT 2001 -- wpa Added parameter matching in function definition for constructed types. Fri Jun 1 18:06:18 CDT 2001 -- wpa Removed reference to universal as a built in type. Sat Jun 2 08:19:05 EDT 2001 -- wpa Moved booleans from integer to number. Having an integer that cannot be generated using inc completely fouls up induction over integers and naturals. Everything else remains the same. Sun Jun 3 00:38:35 EDT 2001 -- wpa Repaired the definitions of range and domain. Sun Jun 3 15:16:13 EDT 2001 Removed the formal definition of a composite type as bunchs, sets, sequences and arrays. The designation made no sense as everying is a bunch. Sun Jun 3 15:48:32 EDT 2001 Added an example of function composition. Known To Do Items: 1. Clean up examples Expressions, Terms, Labeling and Facet Inclusion Known To Do Items: 1. Include discussion on expressions. 2. Redo facet inclusion section to explicitly list three types of inclusion: (i) use clause (only packages); (ii) domain (only domains); and (iii) facet inclusion (only facets and components). 3. Structural definition is very weak. ------ End ------