urbit/gen164/6/al.c

43 lines
764 B
C
Raw Normal View History

2013-12-27 06:43:25 +04:00
/* j/6/al.c
**
** This file is in the public domain.
*/
#include "all.h"
#include "../pit.h"
/* ~(. al gen)
*/
static u2_noun
2014-09-02 04:10:04 +04:00
_al_core(u2_noun van,
2013-12-27 06:43:25 +04:00
u2_noun gen)
{
2014-08-21 01:18:34 +04:00
u2_noun ter = u2_cr_at(u2_cv_con_3, van);
2014-09-02 04:10:04 +04:00
u2_noun gat = u2_cj_hook(u2k(ter), "al");
2014-09-04 01:33:18 +04:00
2014-09-02 04:10:04 +04:00
return u2_ci_molt(gat, u2_cv_sam, u2k(gen), 0);
2013-12-27 06:43:25 +04:00
}
/* ~(bunt al gen)
*/
2014-09-04 01:33:18 +04:00
u2_noun
u2_cqfl_bunt(u2_noun van,
u2_noun gen)
2013-12-27 06:43:25 +04:00
{
2014-08-21 01:18:34 +04:00
u2_noun cor = _al_core(van, gen);
2013-12-27 06:43:25 +04:00
2014-09-02 04:10:04 +04:00
return u2_cj_hook(cor, "bunt");
2013-12-27 06:43:25 +04:00
}
2014-01-04 11:28:16 +04:00
/* ~(whip al gen)
*/
2014-09-04 01:33:18 +04:00
u2_noun
u2_cqfl_whip(u2_noun van,
u2_noun gen,
2014-01-04 11:28:16 +04:00
u2_noun axe) //
{
2014-08-21 01:18:34 +04:00
u2_noun cor = _al_core(van, gen);
2014-09-02 04:10:04 +04:00
u2_noun gat = u2_cj_hook(u2k(cor), "whip");
2014-01-04 11:28:16 +04:00
2014-09-02 04:10:04 +04:00
return u2_cn_slam_on(gat, u2k(axe));
2014-01-04 11:28:16 +04:00
}