mirror of
https://github.com/carp-lang/Carp.git
synced 2024-10-11 12:37:32 +03:00
43 lines
921 B
Plaintext
43 lines
921 B
Plaintext
(system-include "carp_char.h")
|
|
|
|
(defmodule Char
|
|
(register = (Fn [Char Char] Bool))
|
|
(register < (Fn [Char Char] Bool))
|
|
(register > (Fn [Char Char] Bool))
|
|
(register to-int (Fn [Char] Int))
|
|
(register from-int (Fn [Int] Char))
|
|
(register copy (Fn [&Char] Char))
|
|
|
|
(doc meaning "Convert a numerical char into the appropriate number.")
|
|
(defn meaning [char-ref]
|
|
(cond
|
|
(= @char-ref \0) 0
|
|
(= @char-ref \1) 1
|
|
(= @char-ref \2) 2
|
|
(= @char-ref \3) 3
|
|
(= @char-ref \4) 4
|
|
(= @char-ref \5) 5
|
|
(= @char-ref \6) 6
|
|
(= @char-ref \7) 7
|
|
(= @char-ref \8) 8
|
|
(= @char-ref \9) 9
|
|
-1))
|
|
|
|
(defn /= [a b]
|
|
(not (= (the Char a) b)))
|
|
)
|
|
|
|
(defmodule CharRef
|
|
(defn = [a b]
|
|
(Char.= @a @b))
|
|
(defn /= [a b]
|
|
(Char./= @a @b))
|
|
(defn < [a b]
|
|
(Char.< @a @b))
|
|
(defn > [a b]
|
|
(Char.> @a @b))
|
|
)
|
|
|
|
(defmodule PtrChar
|
|
(register str (Fn [(Ptr Char)] String)))
|