title: Prolog: single item vs single item list
body: <p>While troubleshooting a larger assignment for school, I found a mistake I had made, where I was treating a single item list (a stack with one item) as if it were a single item.  I solved my issue, however in further testing I noticed something weird:</p>
  
  <pre><code>48 ?- 1 is [1].
  true.
  
  49 ?- -1 is [-1].
  ERROR: is/2: Type error: `character' expected, found `-1'
  
  50 ?- 0.66 is [0.66].
  ERROR: is/2: Type error: `character' expected, found `0.66'
  </code></pre>
  
  <p>Similar behavior happens using =:=/2 instead of is/2.  So for whatever reason, a single item list is considered the same as a single item, but only for non-negative integers.</p>
  
  <p>Curiosity more than anything else... anybody know why this is?</p>
  
  <p>Thanks!</p>