title: Defining a module in Prolog
body: <p>I have some problems defining a module. Here's a short reduction of the code:</p>
  
  <pre><code>:- module(my_module, [word/1]).
  :- module(my_module, [alias_of/2]).
  
  alias_of(A, B) :-
          alias_of(A, C),
          alias_of(C, B).
  alias_of('Word_1', 'Word_2').
  
  word(A) :-
          alias_of(B, A),
          word(B).
  word('Word_1').
  word('Word_3').
  </code></pre>
  
  <p>And this is the SWI-Prolog output when I <strong>consult</strong> the file:</p>
  
  <pre><code>1 ?- ERROR: (i:/dev/prolog-workspace/trial.0.pro:2):
          Undefined procedure: my_module:module/2
              However, there are definitions for:
                  module/1
  Warning: (i:/dev/prolog-workspace/trial.0.pro:2):
          Goal (directive) failed: my_module:module(my_module, [alias_of/2])
  </code></pre>
  
  <p>I thought, from the tutorials I read, that exposing predicates could be done using <strong>:- module(module_name,[predicate_name/arity])</strong>. What's wrong ?</p>
  
  <p>EDIT: as I have played with this code now and tested it as a module, I figured out it's completely bugged...</p>