scheme list equivalence comparison

16,587

Solution 1

This site explains the difference between those operators. But essentially, you want to use equal? when you want to compare the contents of two objects.

Solution 2

seems like equal? and eq? are seperate procedures where equal checks as I needed:

> (equal? (list 1 2 3) (list 1 2 3))
#t
Share:
16,587
Hellnar
Author by

Hellnar

Updated on June 04, 2022

Comments

  • Hellnar
    Hellnar almost 2 years

    Hello I need to check if two lists have same elements in same order but I wasn't able to achieve as it seems like scheme eq? and eqv? checks by reference so giving false to such:

    > (eq? (list 1 2 3) (list 1 2 3))
    #f
    > (eqv? (list 1 2 3) (list 1 2 3))
    #f
    

    How to achieve this ?