Hi Ben, It seems analogous to what is done in Haskell to support backtracking > and Prolog-type cut and so forth. There one does use an "external" > system to manage historical records, but this external system is > hidden behind the monadic interface, > > http://okmij.org/ftp/papers/LogicT.pdf > > http://hackage.haskell.org/package/logict > > This is all using continuations behind the scenes, and related to some > discussions Linas and I had earlier about making Atomspace schema > processing support continuations. If one is manipulating > continuations rather than just functions, then maintaining and > manipulating the external computation graph is "just" an efficient > shorthand for computing what the continuations denote... >
Yes if all calculations was in Scheme then it would be possible, but some value manipulation logic is implemented in bare C++ and this logic is spreaded over atomspace code so we cannot capture it easily. It is the reason why we need passing computation graph from GroundedPredicateNodes through custom Atom wrappers. -- 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/e42f3495-e6ed-4ad2-a2bb-d52eb5032051%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
