title: When to use phrase in Prolog?
body: <p>I'm trying to learn more about DCGs in Prolog and while reading through different sources, I noticed that in some cases phrase wasn't being used ?</p>
  
  <p>From the Learn Prolog Now website, it presents this example:</p>
  
  <pre><code>s   --&gt;  np,vp. 
  np  --&gt;  det,n. 
  vp  --&gt;  v,np. 
  vp  --&gt;  v. 
  det --&gt;  [the]. 
  det --&gt;  [a]. 
  n   --&gt;  [woman]. 
  n   --&gt;  [man]. 
  v   --&gt;  [shoots].
  </code></pre>
  
  <p>They then use the query <code>s(X,[])</code> to generate all the sentences in the grammar.
  I tried <code>phrase(s,L)</code> and it also generates all the sentences described by the grammar. </p>
  
  <p>What's the difference in using <code>s(X,[])</code> and <code>phrase(s,L)</code>? When should phrase be used? </p>