aboutsummaryrefslogtreecommitdiff
path: root/env.h
blob: 744424de072bc4949ae96bfe5cda7eb75f3942b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef ENV_H
#define ENV_H

#include <sys/queue.h>

struct kv;
LIST_HEAD(env, kv);

struct atom;

struct env *env_new();
struct atom *env_lookup(struct env *env, const char *symbol);
struct env *env_extend(struct env *env, int count, ...);
int env_set(struct env *env, const char *symbol,
    struct atom *value);
void env_free(struct env *env);
struct env *env_clone(struct env *env);

#endif