Object Definition Properties

These properties are normally used in the definitions of objects that are not either commands or functions.

The properties that can be attached to object definitions can be separated into three groups. The first group is for object definitions where the object is a command. See Command Properties for details. The second group is for object definitions where the object is a function. See Function Properties.

The properties listed here are the properties that are intended for object definitions that are neither commands or functions. These object definition properties include:

Property Library Usage
Autocomplete: Ignore Basics Indicates that this object definition should not be included in autocomplete lists unless the Show All button is selected. Normally, all objects appear in the autocomplete list if their name matches the characters typed and the object type is consistent with the type of the location that is currently highlighted. To prevent an object from appearing in the list, assign the AutocompleteIgnore property to the object.
Commutative Basics This property indicates that the object is commutative. It's used by the Commute command. it's also used by the MatchCommutative object to determine whether commutative pattern matching is applied when building a pattern match. See The Commutative Match Objects
Deprecated Basics This property indicates that an object has been deprecated and should no longer be used. The Deprecated property is used to generate messages in the Error List that indicate the presence of deprecated objects.
DeprecatedRename Basics This property also indicates that an object has been deprecated. Any instances of these objects that are found in libraries or documents will be renamed to whatever name is specified in the property. Each time the build is run, any deprecated objects will be updated. A notification message is generated at the end of the build indicating how many objects have been updated. The libraries and/or the document will be flagged as having changed so you can save the changes.
DeprecatedUpdate Basics This is another way to indicate that an object has been deprected. In this case, the parameter contains the name of a function that will be used to update the object. The function is called on each instance of the deprecated object found in the libraries and the document. Each time the build is run, any deprecated objects will be updated. A notification message is generated at the end of the build indicating how many objects have been updated. The libraries and/or the document will be flagged as having changed so you can save the changes.
IsVariable Basics This property affects how the type inferencer acts on an object. By default, each instance of an object is type inferenced separately. If an object has the IsVariable property, all instances of the object in an expression are require to have the same type. Undefined objects are assumed to be variables (they are treated as if they have the IsVariable property). The Greek letters are also assigned the IsVariable property.
Monoid Basics This property indicates that this object definition is a monoid. This property is ignored if the type definition of the object doesn't have the form U[ ] → U. See Monoids
ObjectGroup Basics Objects in different object groups are type inferenced separately. So if you put several expressions in content that contains text, each expression will by typed separately because the parent content list will be in the RegionGroup and the expressions will be in the ExpressionGroup. Any object that doesn't contain an ObjectGroup property in it's definition is assumed to be in the ExpressionGroup
Value Basics This property allows object definitions like Pi and Exp to have values associated with them. These values are used in the Evaluate command. The values that appear on the right side of the Value property don't necessarily have to be numbers. For instance, the TypeErrorColor object has a value that is an ARGB object. The GetValue built in function allows you to get at the value in code.