mirror of
https://github.com/carp-lang/Carp.git
synced 2024-10-11 20:49:05 +03:00
46 lines
1022 B
Plaintext
46 lines
1022 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] ()))
|
|
(register system (Fn [&String] ()))
|
|
(register get-arg (Fn [Int] (Ref String)))
|
|
(register get-args-len (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)))
|
|
)
|