title: Hamlet quasiquoter (Haskell): Allowed syntax in if-elseif-else expressions
body: <p>The Hamlet quasiquoter allows if-then-else syntax like</p>
  
  <pre><code>  [hamlet|
     $if 3 &lt; 4
       Three is less than 4.
     $elseif "a" == "b"
       'a' equals 'b'.
     $else
       Nothing worked out.
    |]
  </code></pre>
  
  <p>However, I find that if I replace the test <code>"a" == "b"</code> with <code>'a' == 'b'</code> I get an error complaining that 'a' is an illegal variable name.</p>
  
  <p>So what syntax is and is not allowed in an <code>$if</code> or <code>$elseif</code> test? I have not been able to find this documented anywhere.</p>