title: Using Type parameter in Scala Functions
body: <p>I'm trying to implement the Boolean Type in Scala, and i found an example using this signature : </p>
  
  <pre><code>abstract class Boolean {
     def ifThenElse[T](t : =&gt; T , e : =&gt; T) : T
  
     ... }
  </code></pre>
  
  <p>My questions is : </p>
  
  <ol>
  <li><p>When we should use the type Parameter after the function name like this funcName[T].</p></li>
  <li><p>What does t : => T  mean ? </p></li>
  </ol>
  
  <p>Thank you </p>