Compare Type Module

num_asc : number, number -> [EQ, ..[GT, LT]] where { number.is_gt : number, number -> Bool, number.is_lt : number, number -> Bool }

Compare two numbers for sorting in ascending order.

List.sort_with([3, 1, 2], Compare.num_asc) == [1, 2, 3]
num_desc : number, number -> [EQ, ..[GT, LT]] where { number.is_gt : number, number -> Bool, number.is_lt : number, number -> Bool }

Compare two numbers for sorting in descending order.

List.sort_with([3, 1, 2], Compare.num_desc) == [3, 2, 1]
str_asc : Str, Str -> [LT, ..[EQ, GT]]

Compare two strings for sorting in ascending order.

List.sort_with(["apple", "Banana", "cherry"], Compare.str_asc) == ["Banana", "apple", "cherry"]
str_desc : Str, Str -> [LT, ..[EQ, GT]]

Compare two strings for sorting in descending order.

List.sort_with(["apple", "Banana", "cherry"], Compare.str_desc) == ["cherry", "apple", "Banana"]