Upon further study, I have become quite confused on atomspace's type 
system. Let me explain:

I was on my quest to understand which links are executable, and which are 
evaluatable. So I came across various resources: the scheme command 
cog-get-subtypes, the "type hierarchy definition file" 
<https://github.com/opencog/atomspace/blob/master/opencog/atoms/atom_types/atom_types.script>
 and 
the "folder where (all) atom types are implemented" 
<https://github.com/opencog/atomspace/tree/master/opencog/atoms>. I see 
that the type hierarchy is completely separate from the actual definitions 
(C++ implementations) of the types, so I assume that it is the user's job 
to be faithful to the hierachy---if I define a type to be a subtype of 
EvaluatableLink, then it should be evaluatable, and I (as a programmer) am 
responsible for implementing this feature. Now, the problem is, a lot of 
the types do not meet these standards... concretely, there are many 
subtypes of EvaluatableLink which are not evaluatable (in the cog-evaluate! 
sense):

   - SatisfyingSetLink, MemberLink, SetLink
   - some CrispOutputLinks:
      - ExistsLink, ForAllLink, PresentLink.
         - And also AbsentLink, which is a subtype of PresentLink (why?).
      
I need to understand why there exists such a disparity. (And also what 
guarantees the type system provides.) Is it merely because these features 
were "not in demand"? Or am I missing something bigger/different here? (For 
many of the links---such as ExistsLink, ForAllLink, PresentLink, 
AbsentLink---the implementation seems obvious from an outside 
perspective/at first glance. Though what could possibly "evaluating a 
SetLink" mean? ...)

-- 
You received this message because you are subscribed to the Google Groups 
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/a0727a42-33c4-44e0-a7dc-1d3315104fe2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to