summaryrefslogtreecommitdiff
path: root/vere/pkg/noun/xtract.c
blob: f18aa684525c33ee23c7598334fd5805b09447d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/// @file

#include "xtract.h"

#include "manage.h"
#include "retrieve.h"

u3_atom
u3x_atom(u3_noun a);
u3_noun
u3x_good(u3_weak som);
c3_o
u3x_loob(u3_noun a);

/* u3x_mean():
**
**   Attempt to deconstruct `a` by axis, noun pairs; 0 terminates.
**   Axes must be sorted in tree order.
*/
void
u3x_mean(u3_noun som, ...)
{
  c3_o    ret_o;
  va_list ap;

  va_start(ap, som);
  ret_o = u3r_vmean(som, ap);
  va_end(ap);

  if ( c3n == ret_o ) {
    u3m_bail(c3__exit);
  }
}