function_coverage.md - trueagi-io/metta-wam GitHub Wiki
Function coverage across source files.
The can be found at: https://docs.google.com/spreadsheets/d/1-ICkIlV1cCCDe8RVu1Y6is3q72wAu2g51aiCaNjS8d8/edit?gid=0#gid=0
The purpose of this spreadsheet is to see what functions are listed where across the metta-wam and hyperion-experimental repositories, so that we can best work out how to complete the coverage.
NOTE: Some functions have been included that are commented out in the code and possibly shouldn't be there. Better to have some things to remove than to overlook something that needs to be added later.
NOTE: this was done by hand, and will have some errors.
Columns from metta-wam:
-
name - the predicate name in
src/canary/metta_eval.pl
file (or other files if they don't exist there). The rows starting with%%%%%
are not predicates, but included to try and keep some structure. -
arity Arity of the predicate. This has been inferred from looking at the signatures, is incomplete and occasionally contradictory.
-
metta_eval line is the line that that name first occurs in
src/canary/metta_eval.pl
. This is only included so that we can get the metta_eval back after sorting. It is not expected that we keep these up to date (unless we script them) - I just wanted a relative order. -
metta_interp Whether this is included in
src/canary/metta_interp.pl
. I understand this is going to be largely deprecated. -
metta_ontology.pfc Whether this is included in
src/canary/metta_ontology.pfc.pl
. -
metta_eval Which clause if any (eval_20, eval_40, eval_space etc.) this occurs in in
metta_eval.pl
.inactive
means there but commented out. -
corelib_defn Whether this is the subject of a
metta_atom_corelib_defn
clause insrc/canary/metta_corelib.pl
-
corelib_types Whether this is the subject of a
metta_atom_corelib_types
clause insrc/canary/metta_corelib.pl
-
corelib_decl Whether this is the subject of a
op_decl
clause insrc/canary/metta_corelib.pl
-
docs Which of the files
src/canary/stdlib_mettalog.metta
(shown asstdlib_mettalog
) orsrc/canary/stdlib_minimal.metta
(shown asminimal
) have documentation for this. It may be both. -
ticket Ticket number in the github project.
TODO: note what the test coverage is.
Columns from hyperion-experimental:
-
Rust (rs) whether the function is in
lib/src/metta/runner/stdlib.rs
(shown asstdlib
),lib/src/metta/runner/stdlib_minimal.rs
(shown asstdlib_minimal
) or both. Got from looking at thetref.register_token(...)
statments. -
Rust (metta) whether the function is in
lib/src/metta/runner/stdlib.metta
(shown asstdlib
),lib/src/metta/runner/stdlib_minimal.metta
or both. -
Rust (py) whether the function is in
python/hyperion/stdlib.py
. I looked atOperationAtom(...)
for this.