|
Reduct
v4.0.5-1-g4851deb
A functional and immutable language.
|
Core definitions and structures. More...
#include <reduct/arena.h>#include <reduct/atom.h>#include <reduct/defs.h>#include <reduct/error.h>#include <reduct/eval.h>#include <reduct/gc.h>#include <reduct/item.h>#include <reduct/list.h>#include <reduct/native.h>#include <reduct/schema.h>#include <reduct/scratch.h>#include <reduct/task.h>#include <assert.h>#include <stdatomic.h>#include <stdlib.h>Go to the source code of this file.
Data Structures | |
| struct | reduct_input_t |
| Input structure. More... | |
| struct | reduct_input_global_t |
| Global input-related state structure. More... | |
| struct | reduct_import_global_t |
| Global import-related state structure. More... | |
| struct | reduct_lib_global_t |
| Global library-related state structure. More... | |
| struct | reduct_global_t |
| Global state structure. More... | |
| struct | reduct_t |
| Per-thread state structure. More... | |
Macros | |
| #define | REDUCT_IMPORT_PATHS_INITIAL 4 |
| Initial size of the import path array. | |
| #define | REDUCT_IMPORT_PATHS_GROWTH 2 |
| Growth factor of the import path array. | |
| #define | REDUCT_SCHEMA_INITIAL 4 |
| Initial size of the schema array. | |
| #define | REDUCT_SCHEMA_GROWTH 2 |
| Growth factor of the schema array. | |
| #define | REDUCT_CONSTANTS_MAX 8 |
| Maximum amount of predefined constants. | |
| #define | REDUCT_SCRATCH_INITIAL 128 |
| Initial scratch buffer size. | |
| #define | REDUCT_SCRATCH_MAX 16 |
| The maximum number of scratch buffers. | |
| #define | REDUCT_LIBS_INITIAL 4 |
| Initial size of the library array. | |
| #define | REDUCT_LIBS_GROWTH 2 |
| Growth factor of the library array. | |
Enumerations | |
| enum | reduct_input_flags_t { REDUCT_INPUT_FLAG_NONE = 0 , REDUCT_INPUT_FLAG_OWNED = 1 } |
| Input flags. More... | |
Functions | |
| REDUCT_API reduct_t * | reduct_new (void) |
| Create a new Reduct environment. | |
| REDUCT_API void | reduct_free (reduct_t *reduct) |
| Free the Reduct structure. | |
| REDUCT_API void | reduct_global_lib_add (reduct_t *reduct, reduct_lib_t lib) |
| Add a loaded library handle to the global state. | |
| REDUCT_API void | reduct_userdata_set (reduct_t *reduct, void *userdata) |
| Set the user data pointer for the Reduct structure. | |
| REDUCT_API void * | reduct_userdata_get (reduct_t *reduct) |
| Get the user data pointer from the Reduct structure. | |
| REDUCT_API void | reduct_args_set (reduct_t *reduct, int argc, char **argv) |
| Set the command line arguments for the Reduct structure. | |
| REDUCT_API void | reduct_add_import_path (reduct_t *reduct, const char *path) |
| Add a path to search when importing modules. | |
| REDUCT_API reduct_input_t * | reduct_input_new (reduct_t *reduct, const char *buffer, size_t length, const char *path, reduct_input_flags_t flags) |
| Create a new input structure and push it onto the input stack. | |
| REDUCT_API reduct_input_t * | reduct_input_lookup (reduct_t *reduct, reduct_input_id_t id) |
| Lookup an input structure by its ID. | |
| REDUCT_API void | reduct_resolve_path (reduct_t *reduct, const char *path, size_t pathLen, char *outPath, size_t maxLen, bool checkExistence) |
| Resolve a path relative to the current execution frame or import paths. | |
| static REDUCT_ALWAYS_INLINE uint32_t | reduct_hash (const char *str, size_t len) |
| Hash a string. | |
Core definitions and structures.
Definition in file core.h.