lib/python/src/object/root.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

 1 //! The package's runtime values: one tagged union that covers each kind of Python value the package
 2 //! supports, and a heap that owns the objects those values point to. A value has to be cheap to
 3 //! copy between the virtual machine's stack, its variables and its containers, and Python's rules
 4 //! for truth, equality, hashing and identity have to hold across all of the value types.
 5 //!
 6 //! The file `value` defines `Value` and the object types it points to, and the file `heap` defines
 7 //! `Heap`, which creates those objects and frees them together. The namespace re-exports `Value`,
 8 //! `Builtin`, `NativeMethod`, `List`, `Tuple`, `Dict`, `DictEntry`, `DictView`, `DictViewKind`,
 9 //! `Range` and `Heap`. The iterator types are reached through `value` alone.
10 pub const value = @import("value.zig");
11 pub const heap = @import("heap.zig");
12 
13 pub const Value = value.Value;
14 pub const Builtin = value.Builtin;
15 pub const NativeMethod = value.NativeMethod;
16 pub const List = value.List;
17 pub const Tuple = value.Tuple;
18 pub const Dict = value.Dict;
19 pub const DictEntry = value.DictEntry;
20 pub const DictView = value.DictView;
21 pub const DictViewKind = value.DictViewKind;
22 pub const Range = value.Range;
23 pub const Heap = heap.Heap;