Next: SOFTWARE-EVOLUTION-LIBRARY/SOFTWARE/COQ-PROJECT, Previous: SOFTWARE-EVOLUTION-LIBRARY/SOFTWARE/COMPILABLE, Up: Software Evolution Library Index [Contents][Index]
Class precedence list: coq, sexp, simple, software, oid-object, file-w-attributes, file, standard-object, slot-object, t
Slots:
project-file
— initarg: :project-file
; reader: software-evolution-library/software/coq:project-file
Path to _CoqProject file, if it exists.
file-source
— initarg: :file-source
; reader: software-evolution-library/software/coq:file-source
; writer: (setf software-evolution-library/software/coq:file-source)
Name of source file.
imports
— initarg: :imports
; reader: software-evolution-library/software/coq:imports
; writer: (setf software-evolution-library/software/coq:imports)
ASTs for imports, not part of genome.
coq-modules
— initarg: :modules
; reader: software-evolution-library/software/coq:coq-modules
; writer: (setf software-evolution-library/software/coq:coq-modules)
List of Modules defined by this object.
coq-sections
— initarg: :sections
; reader: software-evolution-library/software/coq:coq-sections
; writer: (setf software-evolution-library/software/coq:coq-sections)
List of Sections defined by this object.
coq-assumptions
— initarg: :assumptions
; reader: software-evolution-library/software/coq:coq-assumptions
; writer: (setf software-evolution-library/software/coq:coq-assumptions)
List of Parameters, Variables, etc. defined by this object.
coq-definitions
— initarg: :definitions
; reader: software-evolution-library/software/coq:coq-definitions
; writer: (setf software-evolution-library/software/coq:coq-definitions)
List of values defined in this object. Includes Definition, Inductive, Fixpoint, etc.
Coq software object.
Return the fraction of ASTs in coq
software object that typecheck.
Return the fraction of ASTs in Coq software obj
that typecheck.
Return nil
if source strings cannot be looked up.
Class precedence list: type-safe-swap, sexp-swap, mutation, oid-object, standard-object, slot-object, t
Slots:
targeter
— initarg: :targeter
; reader: software-evolution-library/software-evolution-library:targeter
A function from software ->
targets.
picker
— initarg: :picker
; reader: software-evolution-library/software-evolution-library:picker
A function from software ->
random target.
Swap two Coq ASTs tagged with the same type.
Cumulative distribution fo normalized probabilities of weighted mutations.
For object coq
, find the nearest tag for the subtree at index
in the genome.
Search by checking the first element of subtrees, moving forward from index
if
needed. If the end of the genome is reached, search backward instead.
Load the first num-asts
ASTs of the coq
genome.
If num-asts
is nil
, load all ASTs. include-imports
(default T) specifies that
imports should be loaded first.
Return a list of source strings for the ASTs in software
.
Set include-imports
to t
to include import statements in the result.
Return a list of source strings for the ASTs in coq
.
Set include-imports
to t
to include import statements in the result.
For object coq
, randomly select the index of a subtree tagged as type
.
Ensure that the selected index is not equal to ignore-index
.
coq
-
a Coq software object.
type
-
a symbol indicating the type tag to be matched.
ignore-index
-
the index of a subtree tagged as type
which is not to be
selected.
Reset the SerAPI process and load imports
for coq
software object.
Reset the SerAPI process and load imports
for each Coq object in project
.
If imports
is nil
, it defaults to the list of ‘imports’ for each Coq object in
project
.
Reset the SerAPI process and load imports
for coq
software object.
imports
defaults to the list of ‘imports’ in coq
.
Synthesize an expression of type type
using in-scope values scopes
.
Return a list of strings representing Coq expressions of type type
.
type
is a string denoting a Coq type (e.g., "nat ->
bool").
scopes
is a list of variables with tokenized types (e.g., as generated by
‘search-coq-type’).
depth
is a number limiting the search depth. Functions will be applied to no
more than depth
parameters.
Return sexpr
with Coq location info replaced by ‘(:loc NIL)’.
See also ‘is-loc-info’ and ‘untag-loc-info’.
Return sexpr
with occurrences of ‘(:loc NIL)’ replaced by nil
.
See also ‘tag-loc-info’.