x-engine-c v0.2.31
The C engine for x-lang
Loading...
Searching...
No Matches
x-env.h
Go to the documentation of this file.
1#ifndef X_ENV_H
2#define X_ENV_H
3
23/*
24 * ., .,
25 * {O,O}
26 * ( )
27 * " "
28 */
29
30#include "x-obj.h"
31
34#define x_env_bindings(E) x_firstobj(E)
35#define x_env_parent(E) x_restobj(E)
36#define x_env_isroot(B,E) x_obj_isnil((B), x_restobj(E))
41#define x_env_istree(B,E) (x_env_isroot((B), (E)) || ! x_obj_type_isspair(E))
45x_obj_t *x_env_make(x_obj_t *p_base, x_obj_t *p_parent);
46
52
57
62
63#endif /* X_ENV_H */
static void x_obj_t * p_args
Definition x-prim.h:56
Definition x-obj.h:214
x_obj_t * x_env_bind(x_obj_t *p_base, x_obj_t *p_args)
Definition x-env.c:157
x_obj_t * x_env_lookup(x_obj_t *p_base, x_obj_t *p_args)
Definition x-env.c:90
x_obj_t * x_env_make(x_obj_t *p_base, x_obj_t *p_parent)
Definition x-env.c:32
x_obj_t * x_env_extend(x_obj_t *p_base, x_obj_t *p_args)
Definition x-env.c:230
The x-expr object system – atoms, pairs, flags, and type dispatch.