This repository has been archived on 2024-06-24. You can view files and clone it, but cannot push or open issues or pull requests.
huia/packages/core/ordering.huia
2018-08-31 19:23:28 +12:00

39 lines
829 B
Text

deftrait Ordering as: ->
typedoc """
This trait defines ordering comparisons for types.
"""
def <Ordering.Result> compare_with other: Any
def equals? other: Any, as: ->
match compare_with(other),
Ordering.Equal: true,
Any: false
end
def greater_than? other: Any, as: ->
match compare_with(other),
Ordering.Greater: true,
Any: false
end
def greater_than_or_equal_to? other: Any, as: ->
match compare_with(other),
Ordering.Greater: true,
Ordering.Equal: true,
Any: false
end
def less_than? other: Any, as: ->
match compare_with(other),
Ordering.Less: true,
_: false
end
def less_than_or_equal_to? other: Any, as: ->
match compare_with(other),
Ordering.Less: true,
Ordering.Equal: true,
Any: false
end
end