singnet / pln

Probabilistic Logic Network (PLN) implemented on top of the Unified Rule Engine (URE). https://wiki.opencog.org/w/Probabilistic_logic_networks
Other
1 stars 4 forks source link

Custom atom types do not call C++ factories #21

Open ngeiswei opened 3 years ago

ngeiswei commented 3 years ago

Atom types defined in

https://github.com/singnet/pln/blob/master/opencog/pln/types/atom_types.script

do not seem to trigger their C++ factories. For instance the following

(use-modules (opencog pln))

(Get
  (Variable "$P")
  (PredictiveImplicationScope
    (Variable "$X")
    (Number 1)
    (Variable "$P")
    (Predicate "Q")))

crashes with a seg fault. Upon inspection it turns out that the crash occurs here

https://github.com/singnet/atomspace/blob/75d755da2410e56e9d8a58c726eb59f258f0df33/opencog/atoms/core/Context.cc#L53

indicating that no factory was created.

If the definition of PredictiveImplicationScopeLink is moved from

https://github.com/singnet/pln/blob/e884b9355e94c7a4dd7339b9b1d2b6f9f12b8e2f/opencog/pln/types/atom_types.script#L15

to

https://github.com/singnet/atomspace/blob/master/opencog/atoms/atom_types/atom_types.script

then the problem disappears.