factor/native/cons.h

35 lines
546 B
C
Raw Normal View History

2004-07-16 02:26:21 -04:00
typedef struct {
CELL car;
CELL cdr;
} CONS;
INLINE CONS* untag_cons(CELL tagged)
{
type_check(CONS_TYPE,tagged);
return (CONS*)UNTAG(tagged);
}
INLINE CELL tag_cons(CONS* cons)
{
return RETAG(cons,CONS_TYPE);
}
2004-07-24 17:37:42 -04:00
CONS* cons(CELL car, CELL cdr);
2004-07-16 02:26:21 -04:00
INLINE CELL car(CELL cons)
{
return untag_cons(cons)->car;
}
INLINE CELL cdr(CELL cons)
{
return untag_cons(cons)->cdr;
}
void primitive_consp(void);
void primitive_cons(void);
void primitive_car(void);
void primitive_cdr(void);
void primitive_set_car(void);
void primitive_set_cdr(void);