Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
eval.hh File Reference
#include "lix/libexpr/attr-set.hh"
#include "lix/libexpr/eval-error.hh"
#include "lix/libexpr/gc-alloc.hh"
#include "lix/libutil/box_ptr.hh"
#include "lix/libutil/generator.hh"
#include "lix/libutil/async.hh"
#include "lix/libutil/source-path.hh"
#include "lix/libutil/types.hh"
#include "lix/libexpr/value.hh"
#include "lix/libexpr/nixexpr.hh"
#include "lix/libexpr/symbol-table.hh"
#include "lix/libutil/config.hh"
#include "lix/libutil/experimental-features.hh"
#include "lix/libexpr/search-path.hh"
#include "lix/libexpr/repl-exit-status.hh"
#include "lix/libutil/backed-string-view.hh"
#include <concepts>
#include <map>
#include <optional>
#include <unordered_map>
#include <functional>
#include "lix/libexpr/eval-inline.hh"

Go to the source code of this file.

Classes

struct  nix::PrimOp
struct  nix::Constant
struct  nix::Env
struct  nix::DebugTrace
struct  nix::DebugState
class  nix::DebugState::TraceFrame
struct  nix::StaticSymbols
class  nix::EvalMemory
struct  nix::EvalMemory::Statistics
class  nix::EvalBuiltins
struct  nix::EvalBuiltins::Doc
struct  nix::EvalRuntimeCaches
struct  nix::EvalErrorContext
class  nix::EvalPaths
struct  nix::EvalPaths::AllowedPath::ComponentLess
struct  nix::EvalPaths::PathResult< T, E >
struct  nix::EvalStatistics
class  nix::Evaluator
class  nix::EvalState

Typedefs

using nix::PrimOpImpl = void(EvalState & state, Value ** args, Value & v)
using nix::ValMap = GcMap<std::string, Value *>

Functions

std::ostream & nix::operator<< (std::ostream &output, PrimOp &primOp)
void nix::printEnvBindings (const EvalState &es, const Expr &expr, const Env &env)
void nix::printEnvBindings (const SymbolTable &st, const StaticEnv &se, const Env &env, int lvl)
std::unique_ptr< ValMap > nix::mapStaticEnvBindings (const SymbolTable &st, const StaticEnv &se, const Env &env)
void nix::copyContext (const Value &v, NixStringContext &context)
std::string nix::printValue (EvalState &state, Value &v)
std::ostream & nix::operator<< (std::ostream &os, const ValueType t)
void nix::initLibExpr ()
std::string_view nix::showType (ValueType type, bool withArticle)
std::string nix::showType (const Value &v)

Typedef Documentation

◆ PrimOpImpl

using nix::PrimOpImpl = void(EvalState & state, Value ** args, Value & v)

Function that implements a primop.

Function Documentation

◆ initLibExpr()

void nix::initLibExpr ( )

Initialise the evaluator (including Boehm GC, if applicable).

◆ showType()

std::string_view nix::showType ( ValueType type,
bool withArticle = true )
Returns
A string representing the type of the value v.
Parameters
withArticleWhether to begin with an english article, e.g. "an integer" vs "integer".