Packages
doma_algae
1.3.1-doma
Bootstrapped algebraic data types for Elixir, forked by doma for maintenance and testing packagesets
Current section
Files
Jump to
Current section
Files
lib/algae/tree/binary_search/setoid.ex
alias Algae.Tree.BinarySearch, as: BST
alias Algae.Tree.BinarySearch.{Empty, Node}
import TypeClass
use Witchcraft
definst Witchcraft.Setoid, for: Algae.Tree.BinarySearch.Empty do
def equivalent?(_, %Empty{}), do: true
def equivalent?(_, %Node{}), do: false
end
definst Witchcraft.Setoid, for: Algae.Tree.BinarySearch.Node do
def equivalent?(%Node{}, %Empty{}), do: false
def equivalent?(%Node{node: a}, %Node{node: b}) do
Witchcraft.Setoid.equivalent?(a, b)
end
end