title: use syntax results in syntax error: replacing VAL with EQUALOP
body: <p>I am implementing a function that takes two dates that are of type <code>(int * int * int)</code>: the first part is the year, the second part is the month and the third part is the day. It should return <code>true</code> if the first date is older than the second.</p>
  
  <p>I want to test the function and I'm having problems with that. This is the file <code>ex1.sml</code></p>
  
  <pre><code>fun is_older(d1 : (int * int * int), d2 : (int * int * int)) =
      if #1 d1 &lt; #2 d2 then
          true
      else if #2 d1 &lt; #2 d2 then
          true
      else
          #3 d1 &lt; #3 d2
  </code></pre>
  
  <p>And this is the file <code>ex1-test.sml</code> that should test the function:</p>
  
  <pre><code>use "ex1.sml"
  
  val test1 = is_older ((1,2,3),(2,3,4)) = true
  </code></pre>
  
  <p>Whenever I try to run this last file, by loading in the REPL, I always end up with the error: <code>Error: syntax error: replacing  VAL with  EQUALOP</code></p>
  
  <p>However if I put the test in <code>ex1.ml</code> and load it in the REPL it doesn't give any error.</p>
  
  <pre><code>fun is_older(d1 : (int * int * int), d2 : (int * int * int)) =
      if #1 d1 &lt; #2 d2 then
          true
      else if #2 d1 &lt; #2 d2 then
          true
      else
          #3 d1 &lt; #3 d2
  
  val test1 = is_older ((1,2,3),(2,3,4)) = true
  </code></pre>
  
  <p>I would like to have the tests in a separate file which then includes the definitions and runs the tests, as I was trying to do above. Why doesn't it work?</p>