title: What is the difference between eq?, eqv?, equal?, and = in Scheme?
body: <p>I wonder what the difference is between those operations in Scheme. I have seen similar questions in Stack Overflow but they are about Lisp, and there is not a comparison between three of those operators.</p>
  
  <p>I am writing the different types of commands in Scheme, and I get the following outputs:</p>
  
  <pre><code>(eq? 5 5) --&gt;#t
  (eq? 2.5 2.5) --&gt;#f
  (equal? 2.5 2.5) --&gt; #t
  (= 2.5 2.5) --&gt; #t
  </code></pre>
  
  <p>Why is this the case?</p>