31#include <libminilisp.h>
38#define getPrimitiveName() (__func__)
45#define exportPrimitiveNameTo(name) \
46 char name[sizeof(__func__)]; \
47 snprintf(name, sizeof(name), __func__)
121 static const char *map[] = {
139 if (obj ==
nullptr) {
Utility class for working with Lisp objects in C++.
Definition LispHelper.h:88
Type
Enumeration of supported Lisp data types.
Definition LispHelper.h:94
@ BoolInt
Definition LispHelper.h:98
@ Symbol
Definition LispHelper.h:99
@ Cell
Definition LispHelper.h:100
@ Bool
Definition LispHelper.h:97
@ Int
Definition LispHelper.h:96
@ Any
Definition LispHelper.h:102
@ Unknown
Definition LispHelper.h:95
static bool correct(Lisp::Type type)
Checks if a type value is within the valid range.
Definition LispHelper.h:111
static Lisp::Type getType(lisp::Object obj)
Determines the Lisp::Type of a given Lisp object.
Definition LispHelper.h:138
static const char * str(Lisp::Type type)
Converts a type enumeration value to a human-readable string.
Definition LispHelper.h:120
struct Obj * Object
A pointer to a Lisp object structure.
Definition LispHelper.h:61
void * Root
A generic pointer representing the root of a Lisp environment.
Definition LispHelper.h:76
struct Obj ** VarObject
A pointer to a pointer to a Lisp object structure.
Definition LispHelper.h:69
Contains type definitions and utilities for interacting with the Lisp interpreter.
Contains all classes and functions related to the Uniot Core.