# == — equality [Syntax and values](README.md) ## Behavior and details `==` asks whether two values are equal and returns a Boolean. It does not change either value. Use `let` or `set` with `=` to give a variable a value. **Structural equality** means comparing what collections contain. Lists must have matching items in the same order. Maps must have matching keys and values, but the order in which the keys were added does not matter. Values of different types are unequal: the Number `2` differs from the Text `"2"`. Functions compare by **identity**: whether both values refer to the same function, rather than whether two different functions happen to return the same answer. ## Example ```pliro # language: en say([1, 2] == [1, 2]) say {"a": 1, "b": 2} == {"b": 2, "a": 1} say 1 == "1" ``` ## Related entries [Syntax and values](README.md) · [Built-ins](../builtins/README.md) · [Programming guides](../guides/README.md)