urbit/include/j/k.h

92 lines
1.9 KiB
C
Raw Normal View History

2014-09-04 07:44:53 +04:00
/* include/f/kjet.h
**
** This file is in the public domain.
*/
/** Tier 1.
**/
2014-09-06 00:13:24 +04:00
u3_noun u3_cka_add(u3_noun a, u3_noun b);
u3_noun u3_cka_sub(u3_noun a, u3_noun b);
u3_noun u3_cka_mul(u3_noun a, u3_noun b);
u3_noun u3_cka_gth(u3_noun a, u3_noun b);
u3_bean u3_cka_lte(u3_noun a, u3_noun b);
2014-09-04 07:44:53 +04:00
/** Tier 2.
**/
2014-09-06 00:13:24 +04:00
u3_noun u3_ckb_lent(u3_noun a);
u3_noun u3_ckb_weld(u3_noun a, u3_noun b);
u3_noun u3_ckb_flop(u3_noun a);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_ckc: tier 3 functions
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
/* u3_ckc_lsh(): left shift.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
u3_ckc_lsh(u3_noun a, u3_noun b, u3_noun c);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_ckc_rsh(): right shift.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
u3_ckc_rsh(u3_noun a, u3_noun b, u3_noun c);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_ckd: tier 4 functions
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
/* u3_ckdb_get(): map get for key `b` in map `a` with u3_none.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_weak
u3_ckdb_get(u3_noun a, u3_noun b);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_ckdb_got(): map get for key `b` in map `a` with bail.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
u3_ckdb_got(u3_noun a, u3_noun b);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_ckdb_put(): map put for key `b`, value `c` in map `a`.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_weak
u3_ckdb_put(u3_noun a, u3_noun b, u3_noun c);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_ckdb_has(): test for get.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_bean
u3_ckdb_has(u3_noun a, u3_noun b);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_ckdb_gas(): list to map.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
u3_ckdb_gas(u3_noun a, u3_noun b);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_ckdi_gas(): list to map.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
u3_ckdi_gas(u3_noun a, u3_noun b);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_ckdi_has(): test for presence.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_bean
u3_ckdi_has(u3_noun a, u3_noun b);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_ckdi_tap(): map/set convert to list. (solves by_tap also.)
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
u3_ckdi_tap(u3_noun a, u3_noun b);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
#define u3_ckd_by_tap(a, b) u3_ckdi_tap(a, b)
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_cke: tier 5 functions
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
/* u3_cke_cue(): expand saved pill.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
u3_cke_cue(u3_atom a);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_cke_jam(): pack noun as atom.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_atom
u3_cke_jam(u3_noun a);
2014-09-04 07:44:53 +04:00
2014-09-06 00:13:24 +04:00
/* u3_cke_trip: atom to tape.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
u3_cke_trip(u3_noun a);
2014-09-04 07:44:53 +04:00