[previous] [up] [next]     [contents] [index]
Next: Memory Allocation Up: Scheme Values and Types Previous: Global Constants

Library Functions

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) 

Makes a cons pair.

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).


[previous] [up] [next]     [contents] [index]
Next: Memory Allocation Up: Scheme Values and Types Previous: Global Constants

PLT