Carp/examples/derive.carp

19 lines
429 B
Plaintext
Raw Permalink Normal View History

; lets make inc and dec derivable
(make-update-deriver 'inc)
(make-update-deriver 'dec)
(deftype T [x Int y Int z Int])
(derive T inc)
(derive T dec)
(derive T zero)
(derive T str)
(derive T = eq)
(defn main []
(do
(println* &(T.inc (T.init 1 2 3)))
(println* &(T.dec (T.init 1 2 3)))
(println* &(T.zero))
(println* (= &(T.init 1 2 3) &(T.init 1 2 3)))
(println* (= &(T.init 1 2 3) &(T.init 1 3 2)))))