types.h file

Contents

Classes

struct lval
Represents a Lisp Value.
struct lenv

Enums

enum (anonymous) { LVAL_ERR, LVAL_NUM, LVAL_SYM, LVAL_STR, LVAL_FUN, LVAL_SEXPR, LVAL_QEXPR }
Enum for possible lval types.

Typedefs

using lval = struct lval
Represents a Lisp Value.
using lenv = struct lenv
using lbuiltin = lval*(*)(lenv*, lval*)

Enum documentation

enum (anonymous)

Enum for possible lval types.

The possible lval types are:

  • LVAL_ERR : Error type
  • LVAL_NUM : Number type
  • LVAL_SYM : Symbol type
  • LVAL_STR : String type
  • LVAL_FUN : Function type
  • LVAL_SEXPR : S-Expression type
  • LVAL_QEXPR : Q-Expression type

Typedef documentation

typedef struct lval lval

Represents a Lisp Value.

A lval consists of a:

  • type : int corresponding to an enum value
  • num : long corresponding to a number
  • err : char* corresponding to an error message (optional)
  • sym : char* corresponding to a symbol or operator (optional)
  • count : int corresponding to the number of elements in the cell array
  • cell : lval** corresponding to an array of lvals