3 ms·
Carp is statically-typed with type inference so writing (the Int x) would be enough for the compiler to forbid any usage of x as another type. Writing (Int.+ x
by timdeve 5y ago
Carp is statically-typed with type inference so writing (the Int x) would be enough for the compiler to forbid any usage of x as another type. Writing (Int.+ x 1) would accomplish the same as Int.+ only accepts Int.
You can also annotate function with a type signature.
(sig add (Fn [Int Int] Int))
(defn add [x y] (+ x y))
Is the same as:
(defn add [x y] (the Int (+ (the Int x) (the Int y))))