The software-evolution-library Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The software-evolution-library Reference Manual

This is the software-evolution-library Reference Manual, version 0.0.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Apr 19 17:43:52 2021 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

SOFTWARE-EVOLUTION-LIBRARY

The SOFTWARE-EVOLUTION-LIBRARY enables the programmatic modification and evaluation of software.

A common interface abstracts over multiple types of software objects including source code abstract syntax trees (primarily using tree-sitter), compiled assembler code, and binary software objects. Software transformation, analysis, and evaluation techniques are implemented on top of this interface supporting automation of common software engineering tasks.

See the manual, available at https://grammatech.github.io/sel.

SEL has been used to support many projects including:

To cite SEL please use the following reference:

@manual{sel2018manual,
  title        = {Software Evolution Library},
  author       = {Eric Schulte and Contributors},
  organization = {GrammaTech},
  address      = {eschulte@grammatech.com},
  month        = 1,
  year         = 2018,
  note         = {https://grammatech.github.io/sel/}
}

Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 software-evolution-library

Author

Eric Schulte and GrammaTech

License

GPL V3

Description

programmatic modification and evaluation of extant software

Long Description

A common interface abstracts over multiple
types of software objects including abstract syntax trees parsed from source code, LLVM IR, compiled assembler, and linked ELF binaries. Mutation and evaluation methods are implemented on top of this interface supporting Search Based Software Engineering (SBSE) techniques.

Version

0.0.0

Defsystem Dependency

asdf-package-system

Dependency

software-evolution-library/software-evolution-library (system)

Source

software-evolution-library.asd (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.2 software-evolution-library/software-evolution-library

Author

Eric Schulte and GrammaTech

License

GPL V3

Dependencies
Source

software-evolution-library.asd (file)

Component

file-type.lisp (file)


Previous: , Up: Systems   [Contents][Index]

2.3 software-evolution-library/utility/git

Author

Eric Schulte and GrammaTech

License

GPL V3

Dependency

gt/full

Source

software-evolution-library.asd (file)

Component

file-type.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 software-evolution-library.asd

Location

software-evolution-library.asd

Systems

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 software-evolution-library/software-evolution-library/file-type.lisp

Parent

software-evolution-library/software-evolution-library (system)

Location

software-evolution-library.lisp

Packages

software-evolution-library/software-evolution-library

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.3 software-evolution-library/utility/git/file-type.lisp

Parent

software-evolution-library/utility/git (system)

Location

utility/git.lisp

Packages

software-evolution-library/utility/git

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Nicknames
Use List
Exported Definitions
Internal Definitions

Previous: , Up: Packages   [Contents][Index]

4.2 software-evolution-library/utility/git

Source

file-type.lisp (file)

Nickname

sel/utility/git

Use List

gt/full

Used By List

software-evolution-library/software-evolution-library

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Constants

Constant: +software-evolution-library-major-version+

Current major version of the SOFTWARE-EVOLUTION-LIBRARY (without git hash).

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Special variables

Special Variable: *cross-chance*

Fraction of new individuals generated using crossover rather than mutation.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *crossover-stats*

Variable to hold crossover statistics.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *elitism*

Number of individuals to automatically promote to next population. Range: 0..(- (length *population*) 1)
When evolving super-mutants, or calling generational-evolve,
*ELITISM* specifies the number of individuals which are automatically promoted prior to typical generational replacement or eviction
process. The selected individuals will be the ones with the
best fitness.
When using super-mutants, the *ELITISM* value will reduce the number of new individuals created in each generation by the value of *ELITISM* (since this number will automatically be promoted).

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *fitness-evals*

Track the total number of fitness evaluations.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *fitness-predicate*

Function to compare two fitness values to select which is preferred.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *fitness-scalar-fn*

Function to convert fitness to a numeric value

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *generations*

Holds the running generation count.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *max-population-size*

Maximum allowable population size.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *mcmc-fodder*

Holds the genome elements which may be used by ‘mcmc-step’. Should be initialized to a list of the unique possible genome elements.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *mut-rate*

Chance to mutate a new individual.
* If <1, new individuals will be mutated once with change *MUT-RATE*. * If =1, then every new individual will be mutated exactly once.
* If >1, then new individuals will be mutated from 1 to *MUT-RATE* times.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *mutation-improvements*

List of recent mutation improvements cons’d with *fitness-evals*.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *mutation-stats*

Variable to hold mutation statistics.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *population*

Holds the variant programs to be evolved.
This variable may be read to inspect a running search process, or written to as part of a running search process.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *running*

True when a search process is running, set to nil to stop evolution.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *start-time*

Holds the start time of evolutionary processes.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *target-fitness-p*

Predicate indicating whether an individual has reached the target fitness.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *tie-breaker-predicate*

Function to compare two tie breaker values to select which is preferred.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *tournament-eviction-size*

Number of individuals to participate in eviction tournaments.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *tournament-selector*

Function used to select winners of a tournament. Returns a list of winners.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *tournament-size*

Number of individuals to participate in tournament selection.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *tournament-tie-breaker*

Function used to break ties in a tournament. Returns a single winner.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *worst-fitness*

Default worst fitness TODO.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: *worst-fitness-p*

Predicate indicating whether an individual has the worst possible fitness.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: +software-evolution-library-branch+

Current branch of the SOFTWARE-EVOLUTION-LIBRARY.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: +software-evolution-library-dir+

Path to directory holding SOFTWARE-EVOLUTION-LIBRARY.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Special Variable: +software-evolution-library-version+

Current version of the SOFTWARE-EVOLUTION-LIBRARY.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Macros

Macro: compose-mutations CLASS-NAME MUTATIONS &rest OPTIONS

Define a new mutation named CLASS-NAME composing MUTATIONS. MUTATIONS is a list of the names of mutation classes.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Macro: define-mutation CLASS-NAME SUPERCLASSES SLOTS &rest OPTIONS

Like ‘defclass’ but inherits TARGETER slot-options from MUTATION. Also, ensures MUTATION is a member of superclasses

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Macro: define-software NAME DIRECT-SUPERCLASSES DIRECT-SLOTS &rest OPTIONS

Define a new ‘software’ class NAME including a deep ‘copy’ method. Arguments NAME DIRECT-SUPERCLASSES and OPTIONS are passed through to ‘defclass’ unmodified. Additional optional :COPIER property on each slot in DIRECT-SLOTS may be one of the following:

* :NONE this slot is not copied and will be nil in the new object * :DIRECT this slot is copied by direct reference to the slot value skipping the accessor
* otherwise if the value of :COPIER is nil (default) then the slot is copied through its accessor, otherwise the value is assumed to be a function (e.g., ‘copy-tree’) which is used to copy the slot.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Macro: evolve TEST &key MAX-EVALS MAX-TIME PERIOD PERIOD-FN EVERY-PRE-FN EVERY-POST-FN FILTER ANALYZE-MUTATION-FN SUPER-MUTANT-COUNT

Evolves ‘*population*’ using ‘new-individual’ and TEST.

* SUPER-MUTANT-COUNT evaluate this number of mutants at once in a combined genome.

Other keyword arguments are used as defined in the ‘-search’ function.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Macro: ignore-phenome-errors &rest BODY

Handle errors in ‘phenome’ execution by returning nil as the first value from the ‘phenome’ method.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Macro: mcmc ORIGINAL TEST &key ACCEPT-FN MAX-EVALS MAX-TIME PERIOD PERIOD-FN EVERY-PRE-FN EVERY-POST-FN FILTER ANALYZE-MUTATION-FN

MCMC search from ORIGINAL using ‘mcmc-step’ and TEST.
If keyword argument ACCEPT-FN is given it is used to determine when a newly found candidate replaces the current candidate. If ACCEPT-FN is not supplied MCMC defaults to using Metropolis Hastings.

Other keyword arguments are used as defined in the ‘-search’ function.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Macro: sequence-mutations CLASS-NAME MUT-A MUT-B &rest OPTIONS

Define a new mutation named CLASS-NAME sequencing MUT-A and MUT-B.
MUT-A and MUT-B are instances of mutations. Instead of collecting
targets for A and then targets for B and then applying A and B as done
by ‘compose-mutations’, ‘sequence-mutations’ first targets and applies A and then targets and applied B.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Functions

Function: analyze-mutation OBJ MUTATION-INFO TEST &aux RESULT

Default function to collect statistics from an applied mutation.

This function will calculate the improvements to the fitness of SOFTWARE as the result of crossover and mutation using ‘evaluate’ and TEST. Each crossover and mutation will be paired with one of the following tags; :dead, :same, :worse, or :better. Calculated stats will be added to the *crossover-stats* and *mutation-stats* variables for analysis.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: classify NEW &rest OLD

Classify the fitness of NEW as :BETTER, :WORSE, :SAME, or :DEAD when compared to OLD. NEW and OLD must have fitness populated.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: crossed &optional A B

Generate a new individual from *POPULATION* using crossover.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: default-random-winner GROUP &key PREDICATE

Choose a random winner from GROUP.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: default-select-best GROUP &key PREDICATE

Return the members of GROUP with most PREDICATE fitness. Default selection function for ‘tournament’.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: elapsed-time ()
Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: evict ()
Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: fitness-better-p FITNESS-A FITNESS-B

Check if FITNESS-A is strictly better than FITNESS-B.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: fitness-equal-p FITNESS-A FITNESS-B

Return true if FITNESS-A and FITNESS-B are equal

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: fitness-scalar FITNESS
Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: generational-evolve REPRODUCE EVALUATE-POP SELECT &key EVERY-PRE-FN EVERY-POST-FN ANALYZE-MUTATION-FN TEST PERIOD PERIOD-FN MAX-GENERATIONS MAX-EVALS MAX-TIME FILTER

Evolves ‘*population*’ using REPRODUCE EVALUATE-POP and SELECT.

Required arguments are as follows:
REPRODUCE ———– create new individuals from the current population EVALUATE-POP ——– evaluate-pop the entire population
SELECT ————– select best individuals from the population
Keyword arguments are as follows:
MAX-GENERATIONS —– stop after this many generations
MAX-EVALS ———– stop after this many fitness evaluations
MAX-TIME ———— stop after this many seconds
PERIOD ————– interval of generations evaluations to run PERIOD-FN PERIOD-FN ———– function to run every PERIOD generations EVERY-PRE-FN ——– function to run on each new individual before evaluation EVERY-POST-FN ——- function to run on each new individual after evaluation ANALYZE-MUTATION-FN - function to call to analyze mutation results
TEST —————- fitness test function for mutation statistics
FILTER ————– remove individuals for which FILTER returns false

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: git-url-p URL

Return nil if URL does not look like a URL to a git valid remote.

Package

software-evolution-library/utility/git

Source

file-type.lisp (file)

Function: incorporate SOFTWARE

Incorporate SOFTWARE into POPULATION, keeping POPULATION size constant.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: make-git LOCAL-DIRECTORY &key REMOTE SSH-KEY CLONE-ARGS

Make a git object in LOCAL-DIRECTORY.
If REMOTE is specified clone from REMOTE into LOCAL-DIRECTORY. If LOCAL-DIRECTORY exists it should be part of or under a git repository. If LOCAL-DIRECTORY does not exist it will be created and a fresh git repository will be initialized therein. A username and password may be specified as part of the REMOTE URL. E.g. as ’https://USERNAME:PASSWORD@github.com/path/to/repo.git’.

Package

software-evolution-library/utility/git

Source

file-type.lisp (file)

Function: mutant &optional NEW

Generate a new mutant from a *POPULATION*.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: new-individual &optional A B

Generate a new individual from *POPULATION*.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: simple-evaluate TEST NEW-CHILDREN

Evaluate NEW-CHILDREN using TEST assigning each a fitness.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: simple-reproduce POPULATION &aux CHILDREN MUTATIONS

Reproduce using every individual in POPULATION.
Return a list of the resulting children and as optional extra value a list of the mutations applied to produce those children.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: simple-select POPULATION MAX-SIZE &aux NEW-POP
Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: summarize-mutation-stats &aux RESULTS

DOCFIXME
* RESULTS DOCFIXME

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: tournament &key PREDICATE TIE-BREAKER-PREDICATE SIZE

Select an individual from *POPULATION* with a tournament.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: worst-numeric-fitness ()
Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: worst-numeric-fitness-p OBJ
Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Generic functions

Generic Function: apply-all-mutations SOFTWARE MUTATION

Apply MUTATION to every target in SOFTWARE.
Returns the resulting software objects. Returns a list of the applied mutations as an optional second value.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: apply-all-mutations (OBJ software) (MUT mutation)
Generic Function: apply-mutation SOFTWARE MUTATION

Apply MUTATION to SOFTWARE, return the resulting software object.
Mutation application may destructively modify the software object, or it may return a new instance with the mutation applied, and leave the original untouched. Any client which calls apply-mutation should ensure that the result returned by apply-mutation is captured, and should not make assumptions about the state of the original.

Example: (let ((mutated-software (apply-mutation (copy software) mutation))) ...

Define an :around method on this function to record mutations.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: apply-mutation (OBJ software) (MUT mutation) before
Generic Function: apply-mutations SOFTWARE MUTATION N

Apply MUTATION to the first N targets in SOFTWARE.
Returns the resulting software objects. Returns a list of the applied mutations as an optional second value.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: apply-mutations (OBJ software) (MUT mutation) N
Generic Function: apply-path SOFTWARE KEY PATH

Apply the execution trace PATH behind KEY in SOFTWARE.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: apply-picked-mutations SOFTWARE MUTATION N

Apply MUTATION to N randomly selected targets in SOFTWARE.
Returns the resulting software objects. Returns a list of the applied mutations as an optional second value.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: apply-picked-mutations (OBJ software) (MUT mutation) N
Generic Function: at-targets MUTATION TARGETS &key OBJECT &allow-other-keys

Return a copy of MUTATION with ‘targets’ set to TARGETS.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: at-targets (MUT mutation) TARGETS &key OBJECT
Generic Function: build-op MUTATION SOFTWARE

Build operation on SOFTWARE from a MUTATION.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: create-super VARIANT &optional REST-VARIANTS

Create a super-mutant populated with VARIANT . REST-VARIANTS

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: crossover SOFTWARE-A SOFTWARE-B

Crossover two software objects.
Define an :around method on this function to record crossovers.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: crossover (SOFTWARE-A software) (SOFTWARE-B software) around
Generic Function: current-git-branch REPOSITORY

Return the current git branch by directly reading git data on disk.

Package

software-evolution-library/utility/git

Source

file-type.lisp (file)

Methods
Method: current-git-branch (DIR list)
Method: current-git-branch (DIR string)
Method: current-git-branch (DIR pathname)
Method: current-git-branch (GIT git)
Generic Function: current-git-commit REPOSITORY

Return the current git commit by directly reading git data on disk.

Package

software-evolution-library/utility/git

Source

file-type.lisp (file)

Methods
Method: current-git-commit (DIR list)
Method: current-git-commit (DIR string)
Method: current-git-commit (DIR pathname)
Method: current-git-commit (GIT git)
Generic Function: current-git-status DIRECTORY

Return the git status of DIRECTORY as a list of lists of (status file). Return nil if there are no modified, untracked, or deleted files.

Package

software-evolution-library/utility/git

Source

file-type.lisp (file)

Methods
Method: current-git-status (DIR list)
Method: current-git-status (DIR string)
Method: current-git-status (DIR pathname)
Method: current-git-status (GIT git)
Generic Function: evaluate FUNCTION SOFTWARE &rest EXTRA-KEYS &key &allow-other-keys

Evaluate the software returning a numerical fitness.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: evaluate (TEST function) (OBJ software) &rest EXTRA-KEYS &key &allow-other-keys
Method: evaluate (TEST symbol) (OBJ software) &rest EXTRA-KEYS &key &allow-other-keys
Generic Function: fitness OBJECT
Generic Function: (setf fitness) NEW-VALUE OBJECT
Package

software-evolution-library/software-evolution-library

Methods
Method: fitness (SOFTWARE software)

automatically generated reader method

Source

file-type.lisp (file)

Method: (setf fitness) NEW-VALUE (SOFTWARE software)

automatically generated writer method

Source

file-type.lisp (file)

Generic Function: fitness-extra-data SOFTWARE

Hold extra data returned by the fitness function.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Writer

(setf fitness-extra-data) (generic function)

Methods
Method: fitness-extra-data (OBJ software)
Generic Function: (setf fitness-extra-data) EXTRA-DATA SOFTWARE

Pass extra data (optionally) returned by the fitness function to the software object.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Reader

fitness-extra-data (generic function)

Methods
Method: (setf fitness-extra-data) EXTRA-DATA (OBJ software)
Generic Function: from-file SOFTWARE FILE

Initialize SOFTWARE with contents of FILE.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: from-file (CLASS symbol) FILE
Generic Function: from-string SOFTWARE STRING

Initialize SOFTWARE with contents of STRING.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: from-string (CLASS symbol) STRING
Generic Function: genome SOFTWARE

The software genotype or “code”, exposed as a simplified data structure. For example an AST genome, e.g., of a ‘cil’ or ‘lisp’ software object my have a tree structure while the genome of an ‘asm’ or ‘llvm’ software object will be a vector.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: genome-string SOFTWARE &optional STREAM

Return a string of the ‘genome’ of SOFTWARE.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: get-targets OBJECT
Package

software-evolution-library/software-evolution-library

Methods
Method: get-targets (MUTATION mutation)

A calculated target set.

Source

file-type.lisp (file)

Generic Function: git-dir OBJECT
Generic Function: (setf git-dir) NEW-VALUE OBJECT
Package

software-evolution-library/utility/git

Methods
Method: git-dir (GIT git)

automatically generated reader method

Source

file-type.lisp (file)

Method: (setf git-dir) NEW-VALUE (GIT git)

automatically generated writer method

Source

file-type.lisp (file)

Generic Function: mcmc-step SOFTWARE

Change software in a way amenable to MCMC.
Specifically every step should be reversible, and the resulting walk should be ergodic.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: mutate SOFTWARE

Mutate the software. May throw a ‘mutate’ error.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: mutation-key SOFTWARE MUTATION

Key used to organize mutations in *mutation-stats*.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: mutation-key (OBJ software) (MUTATION mutation)
Method: mutation-key (OBJ software) MUTATION

DOCFIXME
* OBJ DOCFIXME * MUTATION DOCFIXME

Generic Function: object OBJECT
Generic Function: (setf object) NEW-VALUE OBJECT
Package

software-evolution-library/software-evolution-library

Methods
Method: object (MUTATION mutation)
Method: (setf object) NEW-VALUE (MUTATION mutation)

The software object to be mutated.

Source

file-type.lisp (file)

Generic Function: one-point-crossover SOFTWARE-A SOFTWARE-B

Crossover at a single point.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: phenome SOFTWARE &key BIN

Phenotype of the software.
This method will link, compile or serialize the software object as necessary returning an executable version of the software suitable for testing and evaluation. Returns multiple values holding in order; (1) the binary path to which the executable was compiled, (2) the errno, or a numeric indication of success, of the compilation process, (3) STDERR of the compilation process, or a string holding error output relevant to phenome generation, (4) STDOUT of the compilation process, or a string holding non-error output relevant to phenome generation, (5) the source file name used during compilation.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: phenome-p SOFTWARE

Return non-nil if SOFTWARE has a phenotype.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: phenome-p (OBJ software)
Generic Function: pick SOFTWARE KEY &optional FUNC

Pick an element of GENOME based on KEY of each element.
KEY is passed to ‘proportional-pick’ to return an index. Optional argument FUNC processes the index to return a result.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: pick (SW software) KEY &optional FUNC
Generic Function: pick-bad SOFTWARE

Pick a ’bad’ index into a software object. Used to target mutation.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: pick-bad (SOFTWARE software)
Generic Function: pick-bad-bad SOFTWARE &key &allow-other-keys

Pick two ’bad’ indexes into a software object. Used to target mutation.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: pick-bad-bad (SOFTWARE software) &key
Generic Function: pick-bad-good SOFTWARE &key &allow-other-keys

Pick a ’bad’ and a ’good’ indexes into a software object. Used to target mutation.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: pick-bad-good (SOFTWARE software) &key
Generic Function: pick-bad-only SOFTWARE &key &allow-other-keys

Pick a single ’bad’ index into a software object. Used to target mutation.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: pick-bad-only (SOFTWARE software) &key
Generic Function: pick-good SOFTWARE

Pick a ’good’ index into a software object. Used to target mutation.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: pick-good (SOFTWARE software)
Generic Function: pick-mutation-type SOFTWARE

Select a type of mutation to apply to SOFTWARE.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: picker X

Reader for the PICKER slot of mutation objects

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: run GIT COMMAND &rest ARGUMENTS

Run the git command COMMAND in the git repository GIT.

Package

software-evolution-library/utility/git

Source

file-type.lisp (file)

Methods
Method: run (GIT git) (COMMAND string) &rest ARGUMENTS
Generic Function: ssh-key OBJECT
Generic Function: (setf ssh-key) NEW-VALUE OBJECT
Package

software-evolution-library/utility/git

Methods
Method: ssh-key (GIT git)

automatically generated reader method

Source

file-type.lisp (file)

Method: (setf ssh-key) NEW-VALUE (GIT git)

automatically generated writer method

Source

file-type.lisp (file)

Generic Function: targeter X

Reader for the TARGETER slot of mutation objects

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: targets MUTATION

Return all possible targets of MUTATION.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: targets (MUT mutation)
Generic Function: text CONDITION
Package

software-evolution-library/software-evolution-library

Methods
Method: text (CONDITION no-mutation-targets)
Source

file-type.lisp (file)

Method: text (CONDITION mutate)
Source

file-type.lisp (file)

Method: text (CONDITION phenome)
Source

file-type.lisp (file)

Generic Function: to-file SOFTWARE FILE

Write SOFTWARE to FILE.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Methods
Method: to-file (SOFTWARE software) FILE before
Method: to-file (SOFTWARE software) FILE
Generic Function: two-point-crossover SOFTWARE-A SOFTWARE-B

Crossover between two points.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: work-tree OBJECT
Generic Function: (setf work-tree) NEW-VALUE OBJECT
Package

software-evolution-library/utility/git

Methods
Method: work-tree (GIT git)

automatically generated reader method

Source

file-type.lisp (file)

Method: (setf work-tree) NEW-VALUE (GIT git)

automatically generated writer method

Source

file-type.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Conditions

Condition: git-error ()
Package

software-evolution-library/utility/git

Source

file-type.lisp (file)

Direct superclasses

error (condition)

Direct methods

description (method)

Direct slots
Slot: description
Initargs

:description

Initform

(quote nil)

Readers

description (generic function)

Condition: mutate ()

Mutation errors are thrown when a mutation fails. These may often be safely ignored. A common restart is ‘ignore-failed-mutation’.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Direct superclasses

error (condition)

Direct subclasses

no-mutation-targets (condition)

Direct methods
Direct slots
Slot: text
Initargs

:text

Initform

(quote nil)

Readers

text (generic function)

Slot: obj
Initargs

:obj

Initform

(quote nil)

Readers

obj (generic function)

Slot: operation
Initargs

:operation

Initform

(quote nil)

Readers

operation (generic function)

Condition: no-mutation-targets ()

This is a particularly benign form of mutation error. A common restart is ‘ignore-failed-mutation’.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Direct superclasses

mutate (condition)

Direct methods
Direct slots
Slot: text
Initargs

:text

Initform

(quote nil)

Readers

text (generic function)

Slot: obj
Initargs

:obj

Initform

(quote nil)

Readers

obj (generic function)

Slot: operation
Initargs

:operation

Initform

(quote nil)

Readers

operation (generic function)

Condition: phenome ()

DOCFIXME

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: text
Initargs

:text

Initform

(quote nil)

Readers

text (generic function)

Slot: obj
Initargs

:obj

Initform

(quote nil)

Readers

obj (generic function)

Slot: loc
Initargs

:loc

Initform

(quote nil)

Readers

loc (generic function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.7 Classes

Class: git ()

An object to represent a git repository.

Package

software-evolution-library/utility/git

Source

file-type.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: git-dir
Type

(or null pathname)

Initargs

:git-dir

Readers

git-dir (generic function)

Writers

(setf git-dir) (generic function)

Slot: work-tree
Type

(or null pathname)

Initargs

:work-tree

Readers

work-tree (generic function)

Writers

(setf work-tree) (generic function)

Slot: ssh-key
Type

(or null string)

Initargs

:ssh-key

Readers

ssh-key (generic function)

Writers

(setf ssh-key) (generic function)

Class: mutation ()

The base class of all software mutations.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Direct superclasses

oid-object (class)

Direct methods
Direct slots
Slot: object

The software object to be mutated.

Type

(or software-evolution-library/software-evolution-library:software null)

Initargs

:object

Readers

object (generic function)

Writers

(setf object) (generic function)

Slot: targets

A calculated target set.

Initargs

:targets

Readers

get-targets (generic function)

Class: oid-object ()

Attaches a unique oid (object identifier) to each instance.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods

oid (method)

Direct slots
Slot: oid
Initargs

:oid

Initform

(software-evolution-library/software-evolution-library::generate-oid)

Readers

oid (generic function)

Class: software ()

Base class for all software objects.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Direct superclasses

oid-object (class)

Direct methods
Direct slots
Slot: fitness
Initargs

:fitness

Readers

fitness (generic function)

Writers

(setf fitness) (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *max-saved-mutation-improvements*

Maximum number of mutation improvements to hold on to.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Macros

Macro: -search SPECS STEP &rest BODY

Perform a search loop with early termination.

SPECS should be a list of the following elements.

(VARIANT MUT-INFO) – Symbols for variant and mut-info resulting from STEP TEST —————- Test function used to ‘evaluate’ every VARIANT. MAX-EVALS ———– Maximum number of evaluations to perform. MAX-TIME ———— Maximum time to run.
PERIOD ————– Period (in evals) at which to call PERIOD-FN. PERIOD-FN ———– Function to call every Period evals. EVERY-PRE-FN ——– Function to call before every evaluation. EVERY-POST-FN ——- Function to call after every evaluation.
FILTER ————– Function to filter variants from BODY. ANALYZE-MUTATION-FN - Function to call to analyze mutation results

The following global variables are implicitly updated by this function and should be dynamically bound to perform multiple different simultaneous searches, ‘*running*’, ‘*start-time*’, ‘*fitness-evals*’. The global variable ‘*target-fitness-p*’ implicitly defines a stopping criteria for this search.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Macro: define-direct-git-command DATA (ARG) &body BODY

Define a git command which reads directly from the file system. These commands don’t actually have to invoke git commands directly.

Package

software-evolution-library/utility/git

Source

file-type.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Functions

Function: create-and-populate-super VARIANT-LIST

Create and populate a super-mutant with supplied list of variants.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: generate-oid ()

Create a fresh, unique oid (object id) in range [1 ...]

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Function: git-from-directory DIRECTORY

Return first parent directory of DIRECTORY that is a git repository. Return a second value which is the base git repository, the GIT_WORK_TREE. Raise an error if no such parent exists.

Package

software-evolution-library/utility/git

Source

file-type.lisp (file)

Function: new-individuals COUNT

Generate COUNT new individuals from *POPULATION*.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Generic functions

Generic Function: apply-config SOFTWARE CONFIG-FILE

Parse CONFIG-FILE and use to configure SOFTWARE.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: description CONDITION
Package

software-evolution-library/utility/git

Methods
Method: description (CONDITION git-error)
Source

file-type.lisp (file)

Generic Function: expression SOFTWARE WHAT

Return WHAT in SOFTWARE as a lisp expression.

Package

software-evolution-library/software-evolution-library

Source

file-type.lisp (file)

Generic Function: loc CONDITION
Package

software-evolution-library/software-evolution-library

Methods
Method: loc (CONDITION phenome)
Source

file-type.lisp (file)

Generic Function: obj CONDITION
Package

software-evolution-library/software-evolution-library

Methods
Method: obj (CONDITION no-mutation-targets)
Source

file-type.lisp (file)

Method: obj (CONDITION mutate)
Source

file-type.lisp (file)

Method: obj (CONDITION phenome)
Source

file-type.lisp (file)

Generic Function: oid OBJECT
Package

software-evolution-library/software-evolution-library

Methods
Method: oid (OID-OBJECT oid-object)

automatically generated reader method

Source

file-type.lisp (file)

Generic Function: operation CONDITION
Package

software-evolution-library/software-evolution-library

Methods
Method: operation (CONDITION no-mutation-targets)
Source

file-type.lisp (file)

Method: operation (CONDITION mutate)
Source

file-type.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   S  
Index Entry  Section

F
File, Lisp, software-evolution-library.asd: The software-evolution-library․asd file
File, Lisp, software-evolution-library/software-evolution-library/file-type.lisp: The software-evolution-library/software-evolution-library/file-type․lisp file
File, Lisp, software-evolution-library/utility/git/file-type.lisp: The software-evolution-library/utility/git/file-type․lisp file

L
Lisp File, software-evolution-library.asd: The software-evolution-library․asd file
Lisp File, software-evolution-library/software-evolution-library/file-type.lisp: The software-evolution-library/software-evolution-library/file-type․lisp file
Lisp File, software-evolution-library/utility/git/file-type.lisp: The software-evolution-library/utility/git/file-type․lisp file

S
software-evolution-library.asd: The software-evolution-library․asd file
software-evolution-library/software-evolution-library/file-type.lisp: The software-evolution-library/software-evolution-library/file-type․lisp file
software-evolution-library/utility/git/file-type.lisp: The software-evolution-library/utility/git/file-type․lisp file

Jump to:   F   L   S  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (   -  
A   B   C   D   E   F   G   I   L   M   N   O   P   R   S   T   W  
Index Entry  Section

(
(setf fitness): Exported generic functions
(setf fitness): Exported generic functions
(setf fitness-extra-data): Exported generic functions
(setf fitness-extra-data): Exported generic functions
(setf git-dir): Exported generic functions
(setf git-dir): Exported generic functions
(setf object): Exported generic functions
(setf object): Exported generic functions
(setf ssh-key): Exported generic functions
(setf ssh-key): Exported generic functions
(setf work-tree): Exported generic functions
(setf work-tree): Exported generic functions

-
-search: Internal macros

A
analyze-mutation: Exported functions
apply-all-mutations: Exported generic functions
apply-all-mutations: Exported generic functions
apply-config: Internal generic functions
apply-mutation: Exported generic functions
apply-mutation: Exported generic functions
apply-mutations: Exported generic functions
apply-mutations: Exported generic functions
apply-path: Exported generic functions
apply-picked-mutations: Exported generic functions
apply-picked-mutations: Exported generic functions
at-targets: Exported generic functions
at-targets: Exported generic functions

B
build-op: Exported generic functions

C
classify: Exported functions
compose-mutations: Exported macros
create-and-populate-super: Internal functions
create-super: Exported generic functions
crossed: Exported functions
crossover: Exported generic functions
crossover: Exported generic functions
current-git-branch: Exported generic functions
current-git-branch: Exported generic functions
current-git-branch: Exported generic functions
current-git-branch: Exported generic functions
current-git-branch: Exported generic functions
current-git-commit: Exported generic functions
current-git-commit: Exported generic functions
current-git-commit: Exported generic functions
current-git-commit: Exported generic functions
current-git-commit: Exported generic functions
current-git-status: Exported generic functions
current-git-status: Exported generic functions
current-git-status: Exported generic functions
current-git-status: Exported generic functions
current-git-status: Exported generic functions

D
default-random-winner: Exported functions
default-select-best: Exported functions
define-direct-git-command: Internal macros
define-mutation: Exported macros
define-software: Exported macros
description: Internal generic functions
description: Internal generic functions

E
elapsed-time: Exported functions
evaluate: Exported generic functions
evaluate: Exported generic functions
evaluate: Exported generic functions
evict: Exported functions
evolve: Exported macros
expression: Internal generic functions

F
fitness: Exported generic functions
fitness: Exported generic functions
fitness-better-p: Exported functions
fitness-equal-p: Exported functions
fitness-extra-data: Exported generic functions
fitness-extra-data: Exported generic functions
fitness-scalar: Exported functions
from-file: Exported generic functions
from-file: Exported generic functions
from-string: Exported generic functions
from-string: Exported generic functions
Function, analyze-mutation: Exported functions
Function, classify: Exported functions
Function, create-and-populate-super: Internal functions
Function, crossed: Exported functions
Function, default-random-winner: Exported functions
Function, default-select-best: Exported functions
Function, elapsed-time: Exported functions
Function, evict: Exported functions
Function, fitness-better-p: Exported functions
Function, fitness-equal-p: Exported functions
Function, fitness-scalar: Exported functions
Function, generate-oid: Internal functions
Function, generational-evolve: Exported functions
Function, git-from-directory: Internal functions
Function, git-url-p: Exported functions
Function, incorporate: Exported functions
Function, make-git: Exported functions
Function, mutant: Exported functions
Function, new-individual: Exported functions
Function, new-individuals: Internal functions
Function, simple-evaluate: Exported functions
Function, simple-reproduce: Exported functions
Function, simple-select: Exported functions
Function, summarize-mutation-stats: Exported functions
Function, tournament: Exported functions
Function, worst-numeric-fitness: Exported functions
Function, worst-numeric-fitness-p: Exported functions

G
generate-oid: Internal functions
generational-evolve: Exported functions
Generic Function, (setf fitness): Exported generic functions
Generic Function, (setf fitness-extra-data): Exported generic functions
Generic Function, (setf git-dir): Exported generic functions
Generic Function, (setf object): Exported generic functions
Generic Function, (setf ssh-key): Exported generic functions
Generic Function, (setf work-tree): Exported generic functions
Generic Function, apply-all-mutations: Exported generic functions
Generic Function, apply-config: Internal generic functions
Generic Function, apply-mutation: Exported generic functions
Generic Function, apply-mutations: Exported generic functions
Generic Function, apply-path: Exported generic functions
Generic Function, apply-picked-mutations: Exported generic functions
Generic Function, at-targets: Exported generic functions
Generic Function, build-op: Exported generic functions
Generic Function, create-super: Exported generic functions
Generic Function, crossover: Exported generic functions
Generic Function, current-git-branch: Exported generic functions
Generic Function, current-git-commit: Exported generic functions
Generic Function, current-git-status: Exported generic functions
Generic Function, description: Internal generic functions
Generic Function, evaluate: Exported generic functions
Generic Function, expression: Internal generic functions
Generic Function, fitness: Exported generic functions
Generic Function, fitness-extra-data: Exported generic functions
Generic Function, from-file: Exported generic functions
Generic Function, from-string: Exported generic functions
Generic Function, genome: Exported generic functions
Generic Function, genome-string: Exported generic functions
Generic Function, get-targets: Exported generic functions
Generic Function, git-dir: Exported generic functions
Generic Function, loc: Internal generic functions
Generic Function, mcmc-step: Exported generic functions
Generic Function, mutate: Exported generic functions
Generic Function, mutation-key: Exported generic functions
Generic Function, obj: Internal generic functions
Generic Function, object: Exported generic functions
Generic Function, oid: Internal generic functions
Generic Function, one-point-crossover: Exported generic functions
Generic Function, operation: Internal generic functions
Generic Function, phenome: Exported generic functions
Generic Function, phenome-p: Exported generic functions
Generic Function, pick: Exported generic functions
Generic Function, pick-bad: Exported generic functions
Generic Function, pick-bad-bad: Exported generic functions
Generic Function, pick-bad-good: Exported generic functions
Generic Function, pick-bad-only: Exported generic functions
Generic Function, pick-good: Exported generic functions
Generic Function, pick-mutation-type: Exported generic functions
Generic Function, picker: Exported generic functions
Generic Function, run: Exported generic functions
Generic Function, ssh-key: Exported generic functions
Generic Function, targeter: Exported generic functions
Generic Function, targets: Exported generic functions
Generic Function, text: Exported generic functions
Generic Function, to-file: Exported generic functions
Generic Function, two-point-crossover: Exported generic functions
Generic Function, work-tree: Exported generic functions
genome: Exported generic functions
genome-string: Exported generic functions
get-targets: Exported generic functions
get-targets: Exported generic functions
git-dir: Exported generic functions
git-dir: Exported generic functions
git-from-directory: Internal functions
git-url-p: Exported functions

I
ignore-phenome-errors: Exported macros
incorporate: Exported functions

L
loc: Internal generic functions
loc: Internal generic functions

M
Macro, -search: Internal macros
Macro, compose-mutations: Exported macros
Macro, define-direct-git-command: Internal macros
Macro, define-mutation: Exported macros
Macro, define-software: Exported macros
Macro, evolve: Exported macros
Macro, ignore-phenome-errors: Exported macros
Macro, mcmc: Exported macros
Macro, sequence-mutations: Exported macros
make-git: Exported functions
mcmc: Exported macros
mcmc-step: Exported generic functions
Method, (setf fitness): Exported generic functions
Method, (setf fitness-extra-data): Exported generic functions
Method, (setf git-dir): Exported generic functions
Method, (setf object): Exported generic functions
Method, (setf ssh-key): Exported generic functions
Method, (setf work-tree): Exported generic functions
Method, apply-all-mutations: Exported generic functions
Method, apply-mutation: Exported generic functions
Method, apply-mutations: Exported generic functions
Method, apply-picked-mutations: Exported generic functions
Method, at-targets: Exported generic functions
Method, crossover: Exported generic functions
Method, current-git-branch: Exported generic functions
Method, current-git-branch: Exported generic functions
Method, current-git-branch: Exported generic functions
Method, current-git-branch: Exported generic functions
Method, current-git-commit: Exported generic functions
Method, current-git-commit: Exported generic functions
Method, current-git-commit: Exported generic functions
Method, current-git-commit: Exported generic functions
Method, current-git-status: Exported generic functions
Method, current-git-status: Exported generic functions
Method, current-git-status: Exported generic functions
Method, current-git-status: Exported generic functions
Method, description: Internal generic functions
Method, evaluate: Exported generic functions
Method, evaluate: Exported generic functions
Method, fitness: Exported generic functions
Method, fitness-extra-data: Exported generic functions
Method, from-file: Exported generic functions
Method, from-string: Exported generic functions
Method, get-targets: Exported generic functions
Method, git-dir: Exported generic functions
Method, loc: Internal generic functions
Method, mutation-key: Exported generic functions
Method, mutation-key: Exported generic functions
Method, obj: Internal generic functions
Method, obj: Internal generic functions
Method, obj: Internal generic functions
Method, object: Exported generic functions
Method, oid: Internal generic functions
Method, operation: Internal generic functions
Method, operation: Internal generic functions
Method, phenome-p: Exported generic functions
Method, pick: Exported generic functions
Method, pick-bad: Exported generic functions
Method, pick-bad-bad: Exported generic functions
Method, pick-bad-good: Exported generic functions
Method, pick-bad-only: Exported generic functions
Method, pick-good: Exported generic functions
Method, run: Exported generic functions
Method, ssh-key: Exported generic functions
Method, targets: Exported generic functions
Method, text: Exported generic functions
Method, text: Exported generic functions
Method, text: Exported generic functions
Method, to-file: Exported generic functions
Method, to-file: Exported generic functions
Method, work-tree: Exported generic functions
mutant: Exported functions
mutate: Exported generic functions
mutation-key: Exported generic functions
mutation-key: Exported generic functions
mutation-key: Exported generic functions

N
new-individual: Exported functions
new-individuals: Internal functions

O
obj: Internal generic functions
obj: Internal generic functions
obj: Internal generic functions
obj: Internal generic functions
object: Exported generic functions
object: Exported generic functions
oid: Internal generic functions
oid: Internal generic functions
one-point-crossover: Exported generic functions
operation: Internal generic functions
operation: Internal generic functions
operation: Internal generic functions

P
phenome: Exported generic functions
phenome-p: Exported generic functions
phenome-p: Exported generic functions
pick: Exported generic functions
pick: Exported generic functions
pick-bad: Exported generic functions
pick-bad: Exported generic functions
pick-bad-bad: Exported generic functions
pick-bad-bad: Exported generic functions
pick-bad-good: Exported generic functions
pick-bad-good: Exported generic functions
pick-bad-only: Exported generic functions
pick-bad-only: Exported generic functions
pick-good: Exported generic functions
pick-good: Exported generic functions
pick-mutation-type: Exported generic functions
picker: Exported generic functions

R
run: Exported generic functions
run: Exported generic functions

S
sequence-mutations: Exported macros
simple-evaluate: Exported functions
simple-reproduce: Exported functions
simple-select: Exported functions
ssh-key: Exported generic functions
ssh-key: Exported generic functions
summarize-mutation-stats: Exported functions

T
targeter: Exported generic functions
targets: Exported generic functions
targets: Exported generic functions
text: Exported generic functions
text: Exported generic functions
text: Exported generic functions
text: Exported generic functions
to-file: Exported generic functions
to-file: Exported generic functions
to-file: Exported generic functions
tournament: Exported functions
two-point-crossover: Exported generic functions

W
work-tree: Exported generic functions
work-tree: Exported generic functions
worst-numeric-fitness: Exported functions
worst-numeric-fitness-p: Exported functions

Jump to:   (   -  
A   B   C   D   E   F   G   I   L   M   N   O   P   R   S   T   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
C   D   F   G   L   O   S   T   W  
Index Entry  Section

*
*cross-chance*: Exported special variables
*crossover-stats*: Exported special variables
*elitism*: Exported special variables
*fitness-evals*: Exported special variables
*fitness-predicate*: Exported special variables
*fitness-scalar-fn*: Exported special variables
*generations*: Exported special variables
*max-population-size*: Exported special variables
*max-saved-mutation-improvements*: Internal special variables
*mcmc-fodder*: Exported special variables
*mut-rate*: Exported special variables
*mutation-improvements*: Exported special variables
*mutation-stats*: Exported special variables
*population*: Exported special variables
*running*: Exported special variables
*start-time*: Exported special variables
*target-fitness-p*: Exported special variables
*tie-breaker-predicate*: Exported special variables
*tournament-eviction-size*: Exported special variables
*tournament-selector*: Exported special variables
*tournament-size*: Exported special variables
*tournament-tie-breaker*: Exported special variables
*worst-fitness*: Exported special variables
*worst-fitness-p*: Exported special variables

+
+software-evolution-library-branch+: Exported special variables
+software-evolution-library-dir+: Exported special variables
+software-evolution-library-major-version+: Exported constants
+software-evolution-library-version+: Exported special variables

C
Constant, +software-evolution-library-major-version+: Exported constants

D
description: Exported conditions

F
fitness: Exported classes

G
git-dir: Exported classes

L
loc: Exported conditions

O
obj: Exported conditions
obj: Exported conditions
obj: Exported conditions
object: Exported classes
oid: Exported classes
operation: Exported conditions
operation: Exported conditions

S
Slot, description: Exported conditions
Slot, fitness: Exported classes
Slot, git-dir: Exported classes
Slot, loc: Exported conditions
Slot, obj: Exported conditions
Slot, obj: Exported conditions
Slot, obj: Exported conditions
Slot, object: Exported classes
Slot, oid: Exported classes
Slot, operation: Exported conditions
Slot, operation: Exported conditions
Slot, ssh-key: Exported classes
Slot, targets: Exported classes
Slot, text: Exported conditions
Slot, text: Exported conditions
Slot, text: Exported conditions
Slot, work-tree: Exported classes
Special Variable, *cross-chance*: Exported special variables
Special Variable, *crossover-stats*: Exported special variables
Special Variable, *elitism*: Exported special variables
Special Variable, *fitness-evals*: Exported special variables
Special Variable, *fitness-predicate*: Exported special variables
Special Variable, *fitness-scalar-fn*: Exported special variables
Special Variable, *generations*: Exported special variables
Special Variable, *max-population-size*: Exported special variables
Special Variable, *max-saved-mutation-improvements*: Internal special variables
Special Variable, *mcmc-fodder*: Exported special variables
Special Variable, *mut-rate*: Exported special variables
Special Variable, *mutation-improvements*: Exported special variables
Special Variable, *mutation-stats*: Exported special variables
Special Variable, *population*: Exported special variables
Special Variable, *running*: Exported special variables
Special Variable, *start-time*: Exported special variables
Special Variable, *target-fitness-p*: Exported special variables
Special Variable, *tie-breaker-predicate*: Exported special variables
Special Variable, *tournament-eviction-size*: Exported special variables
Special Variable, *tournament-selector*: Exported special variables
Special Variable, *tournament-size*: Exported special variables
Special Variable, *tournament-tie-breaker*: Exported special variables
Special Variable, *worst-fitness*: Exported special variables
Special Variable, *worst-fitness-p*: Exported special variables
Special Variable, +software-evolution-library-branch+: Exported special variables
Special Variable, +software-evolution-library-dir+: Exported special variables
Special Variable, +software-evolution-library-version+: Exported special variables
ssh-key: Exported classes

T
targets: Exported classes
text: Exported conditions
text: Exported conditions
text: Exported conditions

W
work-tree: Exported classes

Jump to:   *   +  
C   D   F   G   L   O   S   T   W  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   G   M   N   O   P   S  
Index Entry  Section

C
Class, git: Exported classes
Class, mutation: Exported classes
Class, oid-object: Exported classes
Class, software: Exported classes
Condition, git-error: Exported conditions
Condition, mutate: Exported conditions
Condition, no-mutation-targets: Exported conditions
Condition, phenome: Exported conditions

G
git: Exported classes
git-error: Exported conditions

M
mutate: Exported conditions
mutation: Exported classes

N
no-mutation-targets: Exported conditions

O
oid-object: Exported classes

P
Package, software-evolution-library/software-evolution-library: The software-evolution-library/software-evolution-library package
Package, software-evolution-library/utility/git: The software-evolution-library/utility/git package
phenome: Exported conditions

S
software: Exported classes
software-evolution-library: The software-evolution-library system
software-evolution-library/software-evolution-library: The software-evolution-library/software-evolution-library system
software-evolution-library/software-evolution-library: The software-evolution-library/software-evolution-library package
software-evolution-library/utility/git: The software-evolution-library/utility/git system
software-evolution-library/utility/git: The software-evolution-library/utility/git package
System, software-evolution-library: The software-evolution-library system
System, software-evolution-library/software-evolution-library: The software-evolution-library/software-evolution-library system
System, software-evolution-library/utility/git: The software-evolution-library/utility/git system

Jump to:   C   G   M   N   O   P   S