Carp/core/System.carp

43 lines
900 B
Plaintext

(system-include "carp_system.h")
(defmodule System
(register free (Fn [t] ()))
(register time (Fn [] Int))
(register seed-random (Fn [Int] ()))
(register sleep-seconds (Fn [Int] ()))
(register sleep-micros (Fn [Int] ()))
)
(defmodule Int
(register random (λ [] Int))
(register random-between (λ [Int Int] Int))
)
(defmodule Float
(register random (λ [] Float))
(register random-between (λ [Float Float] Float))
)
(defmodule Long
(register random (λ [] Long))
(register random-between (λ [Long Long] Long))
)
(defmodule Double
(register random (λ [] Double))
(register random-between (λ [Double Double] Double))
)
(defmodule Char
(defn random []
(from-int (Int.random)))
(defn random-between [a b]
(from-int (Int.random-between (to-int a) (to-int b))))
)
(defmodule String
(defn random-sized [n]
(from-chars (Array.repeat n Char.random)))
)