1  package frost.core
 2  
 3  ====================================================================================================
 4  Interface for objects which can be compared for equality. As `Equatable` provides a default
 5  implementation of `!=`, only the `=` operator is strictly required.
 6  ====================================================================================================
 7  interface Equatable<T:Equatable<T>> {
 8      ================================================================================================
 9      Returns `true` if these objects are equal.
10      ================================================================================================
11      function =(other:T):Bit
12  
13      ================================================================================================
14      Returns `true` if these objects are not equal.
15      ================================================================================================
16      @default
17      function !=(other:T):Bit {
18          return !(self = other)
19      }
20  }