missing multifile pred
Anne Ogborn <[email protected]>
| Newsgroups | gmane.comp.ai.prolog.swi |
|---|---|
| Message-ID | <[email protected]> |
I continue to be baffled by the rules for defining multifile predicates.
Here's some code
in patterns.pl
:- module(patterns, [traffic_pattern/3]).
:- meta_predicate traffic_pattern(?, 1, ?).
:- multifile patterns:traffic_pattern/3.
========== in module ttj
:- use_module(patterns).
:- use_module(logger).
patterns:traffic_pattern(ttj, ttj_handler, []). <-- should be defined here
ttj_handler(Request) :-
memberchk( path('/ttj'), Request),
general_traffic_reply_ttj(Request).
=========== in module root_handler
:- use_module(patterns).
general_traffic(Request) :-
traffic_pattern(Name, Handler, _), <-- never succeeds
call(Handler, Request),
log_traffic(Name, Request).
One thing that puzzles me is that doing listing on traffic_pattern gives
:- multifile traffic_pattern/3.
:- meta_predicate traffic_pattern(?,1,?).
traffic_pattern(ttj, ttj_handler, []).
so it's there, why am I not finding it?
(guessing I'm in module hell again, but baffled)