Carp/examples/sorting.carp

24 lines
496 B
Plaintext
Raw Normal View History

2018-01-11 10:16:53 +03:00
(use Array)
(Project.no-echo)
2018-01-11 10:16:53 +03:00
(deftype Age [x Int])
(defmodule Age
(defn = [a b]
2019-09-17 20:33:08 +03:00
(= (Age.x a) (Age.x b)))
2018-01-11 10:16:53 +03:00
(defn > [a b]
2019-09-17 20:33:08 +03:00
(> (Age.x a) (Age.x b)))
(defn < [a b]
(< (Age.x a) (Age.x b)))
(implements = Age.=)
(implements > Age.>)
(implements < Age.<)
)
2018-01-11 10:16:53 +03:00
(defn main []
2018-06-26 11:03:34 +03:00
(let-do [ints (Array.sort [10 3 75 40])
ages (Array.sort [(Age.init 10) (Age.init 3) (Age.init 75) (Age.init 40)])]
(IO.println &(Array.str &ints))
(IO.println &(Array.str &ages))))