In MeTTa, an atom (or expression) can be simply added to the space, or can be evaluated (in context of the given space). In jetta, these operations are mixed up, and distinguished by the content of expressions (equalities with type definitions are compiled while function calls are compiled and executed). However, when we proceed to more arbitrary expressions, it will not be possible to distinguish non-equality expressions to be added to the space vs to be executed. Thus, we may need to distinguish different cases in API (or syntax).
In MeTTa, an atom (or expression) can be simply added to the space, or can be evaluated (in context of the given space). In jetta, these operations are mixed up, and distinguished by the content of expressions (equalities with type definitions are compiled while function calls are compiled and executed). However, when we proceed to more arbitrary expressions, it will not be possible to distinguish non-equality expressions to be added to the space vs to be executed. Thus, we may need to distinguish different cases in API (or syntax).