28 lines
489 B
C
28 lines
489 B
C
#ifndef GYEHOEK_H
|
||
#define GYEHOEK_H
|
||
|
||
#include <stdint.h>
|
||
|
||
|
||
|
||
typedef uintptr_t scm_t_bits;
|
||
|
||
typedef union SCM { struct { scm_t_bits n; } n; } SCM;
|
||
|
||
#define SCM_UNPACK(x) ((x).n.n)
|
||
#define SCM_PACK(x) ((SCM) { { (scm_t_bits) (x) } })
|
||
#define SCM_IMP(x) (6 & SCM_UNPACK (x))
|
||
#define SCM_NIMP(x) (!SCM_IMP (x))
|
||
#define SCM_HEAP_OBJECT_P(x) (SCM_NIMP (x))
|
||
|
||
#define SCM_FALSE 0b00100
|
||
#define SCM_TRUE 0b01100
|
||
#define SCM_EOL 0b10100
|
||
|
||
|
||
|
||
SCM scm_write (SCM);
|
||
|
||
|
||
#endif /* GYEHOEK_H */
|