add pic_set_c[ad]r
This commit is contained in:
parent
7ffcbb7a7d
commit
9e8d53088f
|
@ -21,6 +21,8 @@ struct pic_pair {
|
||||||
pic_value pic_cons(pic_state *, pic_value, pic_value);
|
pic_value pic_cons(pic_state *, pic_value, pic_value);
|
||||||
pic_value pic_car(pic_state *, pic_value);
|
pic_value pic_car(pic_state *, pic_value);
|
||||||
pic_value pic_cdr(pic_state *, pic_value);
|
pic_value pic_cdr(pic_state *, pic_value);
|
||||||
|
void pic_set_car(pic_state *, pic_value, pic_value);
|
||||||
|
void pic_set_cdr(pic_state *, pic_value, pic_value);
|
||||||
|
|
||||||
bool pic_list_p(pic_value);
|
bool pic_list_p(pic_value);
|
||||||
pic_value pic_list1(pic_state *, pic_value);
|
pic_value pic_list1(pic_state *, pic_value);
|
||||||
|
|
26
src/pair.c
26
src/pair.c
|
@ -45,6 +45,32 @@ pic_cdr(pic_state *pic, pic_value obj)
|
||||||
return pair->cdr;
|
return pair->cdr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
pic_set_car(pic_state *pic, pic_value obj, pic_value val)
|
||||||
|
{
|
||||||
|
struct pic_pair *pair;
|
||||||
|
|
||||||
|
if (! pic_pair_p(obj)) {
|
||||||
|
pic_error(pic, "pair required");
|
||||||
|
}
|
||||||
|
pair = pic_pair_ptr(obj);
|
||||||
|
|
||||||
|
pair->car = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
pic_set_cdr(pic_state *pic, pic_value obj, pic_value val)
|
||||||
|
{
|
||||||
|
struct pic_pair *pair;
|
||||||
|
|
||||||
|
if (! pic_pair_p(obj)) {
|
||||||
|
pic_error(pic, "pair required");
|
||||||
|
}
|
||||||
|
pair = pic_pair_ptr(obj);
|
||||||
|
|
||||||
|
pair->cdr = val;
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
pic_list_p(pic_value obj)
|
pic_list_p(pic_value obj)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue