title: REBOL path operator vs division ambiguity
body: <p>I've started looking into REBOL, just for fun, and as a fan of programming languages, I really like seeing new ideas and even just alternative syntaxes. REBOL is definitely full of these. One thing I noticed is the use of '/' as the path operator which can be used similarly to the '.' operator in most object-oriented programming languages. I have not programmed in REBOL extensively, just looked at some examples and read some documentation, but it isn't clear to me why there's no ambiguity with the '/' operator.</p>
  
  <pre><code>x: 4
  y: 2
  result: x/y
  </code></pre>
  
  <p>In my example, this should be division, but it seems like it could just as easily be the path operator if x were an object or function refinement. How does REBOL handle the ambiguity? Is it just a matter of an overloaded operator and the type system so it doesn't know until runtime? Or is it something I'm missing in the grammar and there really is a difference?</p>
  
  <p><em>UPDATE</em> Found a good piece of example code:</p>
  
  <pre><code>sp: to-integer (100 * 2 * length? buf) / d/3 / 1024 / 1024
  </code></pre>
  
  <p>It appears that arithmetic division requires whitespace, while the path operator requires no whitespace. Is that it?</p>