Module tvix_eval::value::function

source ·
Expand description

This module implements the runtime representation of functions.

Structs§

  • In order to correctly reproduce cppnix’s “pointer equality” semantics it is important that we never clone a Lambda – use Rc<Lambda>::clone() instead. This struct deliberately does not derive(Clone) in order to prevent this from being done accidentally.
  • Formals 🔒
  • The opcodes for a thunk or closure, plus the number of non-executable opcodes which are allowed after an OpThunkClosure or OpThunkSuspended referencing it. At runtime Lambda is usually wrapped in Rc to avoid copying the Chunk it holds (which can be quite large).