Serene Runtime 1.0.0-dev
C runtime for the Serene programming language
Loading...
Searching...
No Matches
srn_namespace_t Struct Reference

#include <namespaces.h>

Collaboration diagram for srn_namespace_t:
[legend]

Public Member Functions

 _Atomic (hmap_t *) sym_table
 A mapping symbol names to srn_nodet_t values.

Data Fields

srn_string_t * name
srn_object_id_t id
srn_sm_buffer_id_t buffer_id
 Designated buffer id of this namespace on the source manager.
srn_context_t * root_context
srn_fiber_mutex_t * sym_table_lock
 Only when setting the sym_table hmap it self.
srn_term_t * node
 The top level node of the namespace.

Detailed Description

Definition at line 39 of file namespaces.h.

Member Function Documentation

◆ _Atomic()

srn_namespace_t::_Atomic ( hmap_t * )

A mapping symbol names to srn_nodet_t values.

Since hmap_t hashes out the name, it's really a mapping from unsigned 32bit integer to srn_nodet_t values

Field Documentation

◆ buffer_id

srn_sm_buffer_id_t srn_namespace_t::buffer_id

Designated buffer id of this namespace on the source manager.

Definition at line 43 of file namespaces.h.

◆ id

srn_object_id_t srn_namespace_t::id

Definition at line 41 of file namespaces.h.

◆ name

srn_string_t* srn_namespace_t::name

Definition at line 40 of file namespaces.h.

◆ node

srn_term_t* srn_namespace_t::node

The top level node of the namespace.

Each namespace should have just ONE node at the top which is the node that describes the namespace itself (Similar to how clojure namespaces work)

Definition at line 56 of file namespaces.h.

◆ root_context

srn_context_t* srn_namespace_t::root_context

Definition at line 45 of file namespaces.h.

◆ sym_table_lock

srn_fiber_mutex_t* srn_namespace_t::sym_table_lock

Only when setting the sym_table hmap it self.

Definition at line 52 of file namespaces.h.


The documentation for this struct was generated from the following file: