x-engine-c
v0.2.13
The C engine for x-lang
Loading...
Searching...
No Matches
x-lisp.h
Go to the documentation of this file.
1
#ifndef X_LISP_H
2
#define X_LISP_H
3
16
/*
17
* ., .,
18
* {O,O}
19
* ( )
20
* " "
21
*/
22
23
#include "
x-obj.h
"
24
35
#define x_cons(B,F,X,Y) x_mkspair((B), (F), (X), (Y))
36
52
#define x_car(X) x_firstobj(X)
53
#define x_cdr(X) x_restobj(X)
55
/* 2-deep */
56
#define x_caar(X) x_car(x_car(X))
57
#define x_cadr(X) x_car(x_cdr(X))
58
#define x_cdar(X) x_cdr(x_car(X))
59
#define x_cddr(X) x_cdr(x_cdr(X))
61
/* 3-deep */
62
#define x_caaar(X) x_car(x_caar(X))
63
#define x_caadr(X) x_car(x_cadr(X))
64
#define x_cadar(X) x_car(x_cdar(X))
65
#define x_caddr(X) x_car(x_cddr(X))
66
#define x_cdaar(X) x_cdr(x_caar(X))
67
#define x_cdadr(X) x_cdr(x_cadr(X))
68
#define x_cddar(X) x_cdr(x_cdar(X))
69
#define x_cdddr(X) x_cdr(x_cddr(X))
71
/* 4-deep */
72
#define x_caaaar(X) x_car(x_caaar(X))
73
#define x_caaadr(X) x_car(x_caadr(X))
74
#define x_caadar(X) x_car(x_cadar(X))
75
#define x_caaddr(X) x_car(x_caddr(X))
76
#define x_cadaar(X) x_car(x_cdaar(X))
77
#define x_cadadr(X) x_car(x_cdadr(X))
78
#define x_caddar(X) x_car(x_cddar(X))
79
#define x_cadddr(X) x_car(x_cdddr(X))
80
#define x_cdaaar(X) x_cdr(x_caaar(X))
81
#define x_cdaadr(X) x_cdr(x_caadr(X))
82
#define x_cdadar(X) x_cdr(x_cadar(X))
83
#define x_cdaddr(X) x_cdr(x_caddr(X))
84
#define x_cddaar(X) x_cdr(x_cdaar(X))
85
#define x_cddadr(X) x_cdr(x_cdadr(X))
86
#define x_cdddar(X) x_cdr(x_cddar(X))
87
#define x_cddddr(X) x_cdr(x_cdddr(X))
97
#define x_setcar(X,Y) (x_car((X)) = (Y))
98
100
#define x_setcdr(X,Y) (x_cdr((X)) = (Y))
101
104
#endif
/* X_LISP_H */
x-obj.h
The x-expr object system – atoms, pairs, flags, and type dispatch.
ext
x-expr
include
x-lisp.h
Generated by
1.9.8