title: OCaml literal negative number?
body: <p>I'm learning. This is something I found strange:</p>
  
  <pre><code>let test_treeways x = match x with
    | _ when x &lt; 0 -&gt; -1
    | _ when x &gt; 0 -&gt; 1
    | _ -&gt; 0;;
  </code></pre>
  
  <p>If I then call it like this:</p>
  
  <pre><code>test_threeways -10;;
  </code></pre>
  
  <p>I will get type mismatch error (because, as far as I understand, it interprets unary minus as if it was partial function application, so it considers the type of the expression to be <code>int -&gt; int</code>. However, this:</p>
  
  <pre><code>test_threeways (-10);;
  </code></pre>
  
  <p>acts as expected (though this actually calculates the value, as I could understand, it doesn't pass a constant "minus ten" to the function.</p>
  
  <p>So, how do you write constant negative numbers in OCaml?</p>