title: What does the `#` operator mean in Scala?
body: <p>I see this code in this blog: <a href="http://apocalisp.wordpress.com/2010/06/08/type-level-programming-in-scala/" rel="noreferrer">Type-Level Programming in Scala</a>:</p>
  
  <pre><code>// define the abstract types and bounds
  trait Recurse {
    type Next &lt;: Recurse
    // this is the recursive function definition
    type X[R &lt;: Recurse] &lt;: Int
  }
  // implementation
  trait RecurseA extends Recurse {
    type Next = RecurseA
    // this is the implementation
    type X[R &lt;: Recurse] = R#X[R#Next]
  }
  object Recurse {
    // infinite loop
    type C = RecurseA#X[RecurseA]
  }
  </code></pre>
  
  <p>There is an operator <code>#</code> in the code <code>R#X[R#Next]</code> which I've never seen. Since it's difficult to search it(ignored by search engines), who can tell me what does it mean?</p>