-
Notifications
You must be signed in to change notification settings - Fork 32
Description
Copying discussion from opencog/atomspace#2546 and specifically comment opencog/atomspace#2546 (comment)
This is a design suggestion for reduct in as-moses. Basically, it says that you don't need to use the moses reduct any more, it works (should work) in the atmspace. So for example:
The point of FloatValue and ValueOfLink is that you can do stuff like this:
(Heaviside (Minus
(ValueOf (Predicate "column A") (Predicate "moses column key"))
(Plus
(ValueOf (Predicate "column B") (Predicate "moses column key"))
(ValueOf (Predicate "column C") (Predicate "moses column key")))))
which should return a column of 0's and 1's, whenever A>B+C row by row. The PlusLink, etc were designed to replace the moses interpreter. They mostly work. Even reduct works .. so for example
(cog-execute!
(Plus (Number 1)
(Times (Variable $x) (Number 2) (Number 0.5))
Number -1)))
should correctly reduce to exactly just (Variable $x). Many (most??) of the reduct rules are in the atomspace, already. I'll fix whatever bugs you find. I'm not sure I want to volunteer to write new reduct rules, though...