MCPcopy
hub / github.com/google/mangle / EvalAtom

Function EvalAtom

functional/functional.go:1308–1314  ·  view source on GitHub ↗

EvalAtom returns an atom with any apply-expressions evaluated.

(a ast.Atom, subst ast.Subst)

Source from the content-addressed store, hash-verified

1306
1307// EvalAtom returns an atom with any apply-expressions evaluated.
1308func EvalAtom(a ast.Atom, subst ast.Subst) (ast.Atom, error) {
1309 args, err := EvalExprsBase(a.Args, subst)
1310 if err != nil {
1311 return ast.Atom{}, err
1312 }
1313 return ast.Atom{a.Predicate, args}, nil
1314}
1315
1316// EvalBaseTermPair evaluates a pair of base terms.
1317func EvalBaseTermPair(left, right ast.BaseTerm, subst ast.Subst) (ast.BaseTerm, ast.BaseTerm, error) {

Callers 15

evalAtomFunction · 0.92
TestShortestPathsFunction · 0.92
evalStrataMethod · 0.92
evalMethod · 0.92
oneStepEvalClauseMethod · 0.92
evalAtomFunction · 0.92
TestTransformFunction · 0.92
TestTopDownFunction · 0.92
evalStrataMethod · 0.92
oneStepEvalPremiseMethod · 0.92
premiseAtomFunction · 0.92

Calls 1

EvalExprsBaseFunction · 0.85

Tested by 9

evalAtomFunction · 0.74
TestShortestPathsFunction · 0.74
evalAtomFunction · 0.74
TestTransformFunction · 0.74
TestTopDownFunction · 0.74
evAtomFunction · 0.74
evAtomFunction · 0.68
TestRoundTripFunction · 0.68