Packages
gleam_stdlib
0.4.0
1.0.3
1.0.2
1.0.1
1.0.0
0.71.0
0.70.0
0.69.0
0.68.1
0.68.0
0.67.1
0.67.0
0.65.0
0.64.0
0.63.2
0.63.1
0.63.0
0.62.1
0.62.0
0.61.0
0.60.0
0.59.0
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.0
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.1
0.35.0
0.34.0
0.33.1
0.33.0
0.32.1
0.32.0
0.31.0
0.30.2
0.30.1
0.30.0
0.29.2
0.29.1
0.29.0
0.28.2
0.28.1
0.28.0
0.27.0
0.26.1
0.26.0
0.25.0
0.24.0
0.23.0
0.22.3
0.22.2
0.22.1
0.22.0
0.21.0
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.18.0-rc1
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.4.0-rc1
0.3.1
0.3.0
0.2.0
retired
A standard library for the Gleam programming language
Current section
Files
Jump to
Current section
Files
src/gleam/order.gleam
import gleam/pair
pub enum Order =
| Lt
| Eq
| Gt
;
pub fn reverse(order) {
case order {
| Lt -> Gt
| Eq -> Eq
| Gt -> Lt
}
}
pub fn to_int(order) {
case order {
| Lt -> -1
| Eq -> 0
| Gt -> 1
}
}
pub fn compare(a, b) {
case pair.Pair(a, b) {
| pair.Pair(Lt, Lt) -> Eq
| pair.Pair(Lt, _) -> Lt
| pair.Pair(Eq, Eq) -> Eq
| pair.Pair(Gt, Gt) -> Eq
| pair.Pair(Eq, Gt) -> Lt
| _ -> Gt
}
}
pub fn max(a, b) {
case pair.Pair(a, b) {
| pair.Pair(Gt, _) -> Gt
| pair.Pair(Eq, Lt) -> Eq
| _ -> b
}
}
pub fn min(a, b) {
case pair.Pair(a, b) {
| pair.Pair(Lt, _) -> Lt
| pair.Pair(Eq, Gt) -> Eq
| _ -> b
}
}