HandednessType - Aronnax9000/WatchmakerSuite GitHub Wiki
HandednessType is a [custom gene data type]] possessed by [conchomorphs in Blind Watchmaker. In classic Blind Watchmaker, genes of this type take on one of two values: -1 or 1, corresponding to left and right handed conchomorphs (the data type's definition permits 0 as a legal value, but this value is not used by the program.) In WatchmakerSuite (Java), HandednessType is an enumeration whose two valid values are Left and Right, corresponding to the -1 and 1 values used in Blind Watchmaker.
Original Pascal Source and Pascal Second Edition
Handedness is defined as an integer range from -1..1 as part of the definition of the conchomorph (snail) genome, a Pascal RECORD definition called 'person':
person = RECORD
WOpening, DDisplacement, SShape, TTranslation: real;
Coarsegraininess, Reach, GeneratingCurve: integer;
TranslationGradient, DGradient: real;
Handedness: -1..1;
END;
The definition occurs in the file Snails/Global, line 242 in the original pascal sources, and Snails/unit_snail_types.pas, in the Pascal Second Edition.
Pascal Second Edition
The definition is identical to that of the original Pascal source, and occurs in Snails/unit_snail_types.pas:
person = record
WOpening, DDisplacement, SShape, TTranslation: real;
Coarsegraininess, Reach, GeneratingCurve: integer;
TranslationGradient, DGradient: real;
Handedness: -1..1;
end;
WatchmakerSuite (Java)
The Java reference implementation of Blind Watchmaker, WatchmakerSuite, specifies a Java enumerated type, called HandednessType. Its definition is this:
package net.richarddawkins.watchmaker.morphs.concho.genome.type;
/**
* Corresponds to handedness in original Snails. -1 is Left, 1 is Right
* by (Alan Canon's) translator's convention.
* @author Alan Canon
*
*/
public enum HandednessType {
Left, Right
}