C about.tex 1. About Programming in GAP
C methsel.tex 2. Method Selection
I 2.0. operation
I 2.0. method
S 2.1. Operations and Methods
S 2.2. Method Installation
F 2.2. InstallMethod
F 2.2. InstallOtherMethod
S 2.3. Applicable Methods and Method Selection
S 2.4. Partial Methods
F 2.4. TryNextMethod
S 2.5. Redispatching
F 2.5. RedispatchOnCondition
S 2.6. Immediate Methods
F 2.6. InstallImmediateMethod
S 2.7. Logical Implications
F 2.7. InstallTrueMethod
S 2.8. Operations and Mathematical Terms
I 2.8. overload
C create.tex 3. Creating New Objects
S 3.1. Creating Categories
F 3.1. NewCategory
F 3.1. CategoryCollections
F 3.1. CategoryFamily
S 3.2. Creating Representations
F 3.2. NewRepresentation
S 3.3. Creating Attributes and Properties
F 3.3. NewAttribute
F 3.3. NewAttribute
F 3.3. NewAttribute!mutable
F 3.3. NewAttribute!mutable
F 3.3. NewProperty
S 3.4. Creating Other Filters
F 3.4. NewFilter
F 3.4. SetFilterObj
F 3.4. ResetFilterObj
S 3.5. Creating Operations
F 3.5. NewOperation
S 3.6. Creating Families
F 3.6. NewFamily
F 3.6. CollectionsFamily
F 3.6. ElementsFamily
S 3.7. Creating Types
F 3.7. NewType
S 3.8. Creating Objects
F 3.8. Objectify
F 3.8. ObjectifyWithAttributes
S 3.9. Component Objects
F 3.9. NamesOfComponents
S 3.10. Positional Objects
S 3.11. Implementing New List Objects
S 3.12. Arithmetic Issues in the Implementation of New Kinds of Lists
S 3.13. External Representation
F 3.13. ExtRepOfObj
F 3.13. ObjByExtRep
S 3.14. Mutability and Copying
S 3.15. Global Variables in the Library
F 3.15. BindGlobal
F 3.15. DeclareAttribute
F 3.15. DeclareCategory
F 3.15. DeclareFilter
F 3.15. DeclareProperty
F 3.15. DeclareRepresentation
F 3.15. DeclareOperation
F 3.15. DeclareGlobalFunction
F 3.15. InstallGlobalFunction
F 3.15. DeclareGlobalVariable
F 3.15. InstallValue
F 3.15. InstallFlushableValue
F 3.15. DeclareSynonym
F 3.15. DeclareSynonymAttr
F 3.15. FlushCaches
S 3.16. Declaration and Implementation Part
I 3.16. DeclareRepresentation!belongs to implementation part
C intrfc.tex 4. Examples of Extending the System
S 4.1. Addition of a Method
S 4.2. Extending the Range of Definition of an Existing Operation
S 4.3. Enforcing Property Tests
S 4.4. Adding a new Operation
S 4.5. Adding a new Attribute
I 4.5. NewAttribute!example
I 4.5. DeclareAttribute!example
I 4.5. IsAttributeStoringRep
S 4.6. Adding a new Representation
I 4.6. NewRepresentation!example
I 4.6. DeclareRepresentation!example
I 4.6. IsComponentObjectRep
I 4.6. IsAttributeStoringRep
S 4.7. Components versus Attributes
S 4.8. Adding new Concepts
S 4.9. Example: M-groups
S 4.10. Example: Groups with a word length
S 4.11. Example: Groups with a decomposition as semidirect product
I 4.11. DeclareAttribute!example
S 4.12. Creating Own Arithmetic Objects
F 4.12. ArithmeticElementCreator
C xtndxmpl.tex 5. An Example -- Residue Class Rings
S 5.1. A First Attempt to Implement Elements of Residue Class Rings
S 5.2. Why Proceed in a Different Way?
S 5.3. A Second Attempt to Implement Elements of Residue Class Rings
S 5.4. Compatibility of Residue Class Rings with Prime Fields
S 5.5. Further Improvements in Implementing Residue Class Rings
C arith.tex 6. An Example -- Designing Arithmetic Operations
S 6.1. New Arithmetic Operations vs. New Objects
S 6.2. Designing new Multiplicative Objects
