Carp/core/Int.carp
2017-11-17 12:26:01 +01:00

31 lines
1009 B
Plaintext

(defmodule Int
(register + (λ [Int Int] Int))
(register - (λ [Int Int] Int))
(register * (λ [Int Int] Int))
(register / (λ [Int Int] Int))
(register < (λ [Int Int] Bool))
(register > (λ [Int Int] Bool))
(register = (λ [Int Int] Bool))
(register /= (λ [Int Int] Bool))
(register mod (λ [Int Int] Int))
(register seed (λ [Int] ()))
(register random (λ [] Int))
(register random-between (λ [Int Int] Int))
(register str (λ [Int] String))
(register from-string (λ [&String] Int))
(register mask (λ [Int Int] Bool))
(register inc (λ [Int] Int))
(register dec (λ [Int] Int))
(register copy (λ [&Int] Int)) ;; TODO: Should not be needed when refs to value types are auto-converted to non-refs.
(register safe-add (λ [Int Int (Ref Int)] Bool))
(register safe-sub (λ [Int Int (Ref Int)] Bool))
(register safe-mul (λ [Int Int (Ref Int)] Bool))
(register abs (λ [Int] Int))
(defn max [a b] (if (> a b) a b))
(defn min [a b] (if (< a b) a b))
)