mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-30 18:31:36 +03:00
60 lines
1.3 KiB
C
60 lines
1.3 KiB
C
/* include/g/x.h
|
|
**
|
|
** This file is in the public domain.
|
|
*/
|
|
/** u3_cx_*: read, but bail with c3__exit on a crash.
|
|
**/
|
|
#if 1
|
|
# define u3_cx_h(som) u3_co_h(som)
|
|
# define u3_cx_t(som) u3_co_t(som)
|
|
#else
|
|
/* u3_cx_h (u3h): head.
|
|
*/
|
|
u3_noun
|
|
u3_cx_h(u3_noun som);
|
|
|
|
/* u3_cx_t (u3t): tail.
|
|
*/
|
|
u3_noun
|
|
u3_cx_t(u3_noun som);
|
|
#endif
|
|
/* u3_cx_good(): test for u3_none.
|
|
*/
|
|
u3_noun
|
|
u3_cx_good(u3_weak som);
|
|
|
|
/* u3_cx_at (u3at): fragment.
|
|
*/
|
|
u3_noun
|
|
u3_cx_at(u3_noun axe, u3_noun som);
|
|
|
|
/* u3_cx_cell():
|
|
**
|
|
** Divide `a` as a cell `[b c]`.
|
|
*/
|
|
void
|
|
u3_cx_cell(u3_noun a,
|
|
u3_noun* b,
|
|
u3_noun* c);
|
|
|
|
/* u3_cx_trel():
|
|
**
|
|
** Divide `a` as a trel `[b c d]`, or bail.
|
|
*/
|
|
void
|
|
u3_cx_trel(u3_noun a,
|
|
u3_noun* b,
|
|
u3_noun* c,
|
|
u3_noun* d);
|
|
|
|
/* u3_cx_qual():
|
|
**
|
|
** Divide `a` as a quadruple `[b c d e]`.
|
|
*/
|
|
void
|
|
u3_cx_qual(u3_noun a,
|
|
u3_noun* b,
|
|
u3_noun* c,
|
|
u3_noun* d,
|
|
u3_noun* e);
|