Scheme_Object *scheme_make_char(char ch)
Returns the character value.
Scheme_Object *scheme_make_character(char ch)
Returns the character value. (This is a macro.)
Scheme_Object *scheme_make_integer(long i)
Returns the integer value; i must fit in a fixnum. (This is a macro.)
Scheme_Object *scheme_make_integer_value(long i)
Returns the integer value. If i does not fit in a fixnum, a bignum is returned.
Scheme_Object *scheme_make_integer_value_from_unsigned(unsigned long i)
Like scheme_make_integer_value, but for unsigned integers.
int scheme_get_int_val(Scheme_Object *o, long *i)
Extracts the integer value. Unlike the SCHEME_INT_VAL macro, this procedure will extract an integer that fits in a long from a Scheme bignum. If o fits in a long, the extracted integer is placed in *i and 1 is returned; otherwise, 0 is returned and *i is unmodified.
int scheme_get_unsigned_int_val(Scheme_Object *o, unsigned long *i)
Like scheme_get_int_val, but for unsigned integers.
Scheme_Object *scheme_make_double(double d)
Creates a new floating-point value.
Scheme_Object *scheme_make_float(float d)
Creates a new single-precision floating-point value. The procedure is nly available when MzScheme is compiled with single-precision numbers enabled.
Scheme_Object *scheme_make_pair(Scheme_Object *carv, Scheme_Object *cdrv)
Scheme_Object *scheme_make_string(char *chars)
Makes a Scheme string from a null-terminated C string. The chars string is copied.
Scheme_Object *scheme_make_string_without_copying(char *chars)
Like scheme_make_string, but the string is not copied.
Scheme_Object *scheme_make_sized_string(char *chars, long len, int copy)
Makes a string value with size len. A copy of chars is made if copy is not 0. The string chars should contain len characters; chars can contain the null character at any position, and need not be null-terminated.
Scheme_Object *scheme_alloc_string(int size, char fill)
Allocates a new Scheme string.
Scheme_Object *scheme_append_string(Scheme_Object *a, Scheme_Object *b)
Creates a new string by appending the two given strings.
Scheme_Object *scheme_intern_symbol(char *name)
Finds (or creates) the symbol matching the given null-terminated string. The case of name is (non-destructively) normalized before interning if scheme_case_sensitive is 0.
Scheme_Object *scheme_intern_exact_symbol(char *name, int len)
Creates or finds a symbol given the symbol's length. The the case of name is not normalized.
Scheme_Object *scheme_make_symbol(char *name)
Creates an uninterned symbol from a null-terminated string.
Scheme_Object *scheme_make_exact_symbol(char *name, int len)
Creates an uninterned symbol given the symbol's length.
Scheme_Object *scheme_intern_type_symbol(Scheme_Object *sym)
Creates or finds a type symbol from a symbolic name.
Scheme_Object *scheme_make_type_symbol(Scheme_Object *sym)
Creates an uninterned type symbol.
Scheme_Object *scheme_make_vector(int size, Scheme_Object *fill)
Allocates a new vector.
Scheme_Object *scheme_make_promise(Scheme_Object *expr, Scheme_Env *env)
Creates a promise that can be evaluated with the Scheme function force. The expr argument is an uncompiled S-expression.
Scheme_Object *scheme_box(Scheme_Object *v)
Creates a new box containing the value v.
Scheme_Object *scheme_make_weak_box(Scheme_Object *v)
Creates a new weak box containing the value v.
Scheme_Type scheme_make_type(char *name)
Creates a new type (not a Scheme value).