#include "object.h"
-typedef struct
+typedef struct atom_body atom_body;
+
+// Return an atom with a newly-allocated body.
+atom_object atom_create (const char *name, uint32_t namelen);
+
+atom_body *ATOM_BODY (heap_ptr p);
+
+const char *atom_pname (atom_object o);
+
+inline static uint32_t
+atom_namelen (atom_object body)
{
- evaltype type; // UNBOUND/LOCI
- // bindid
- // value ptr
- // oblist ptr
- // type ptr
- const char pname[];
-} atom_body;
+ return body.val.namelen;
+}
+
+heap_ptr atom_body_alloc (uint32_t ct);
#endif