pub enum Val {
Num(i64),
Flo(f64),
Sym(SmolStr),
Atom(Atom),
Nil,
Pair(RcVal, RcVal),
Clo(Env, RcExp),
Code(RcExp),
Cell(usize),
Raise(RcVal),
}Variants§
Num(i64)
Flo(f64)
Sym(SmolStr)
Atom(Atom)
A host value. Opaque to the floor, data to a channel.
Nil
Pair(RcVal, RcVal)
Clo(Env, RcExp)
Code(RcExp)
Cell(usize)
Index into the heap’s cell arena
Raise(RcVal)
A value, not a fault, so it survives being returned - attempt must
observe one without a floor frame, which would delimit a suspension.
Propagates where a value is inspected, inert where it is only bound.
Trait Implementations§
Source§impl Display for Val
Iterative: a value has no depth bound and no size bound as a tree, so a
shared subtree would exhaust memory. Answered with datum labels #0=/#0#,
which read deliberately does not accept - the codec carries sharing.
impl Display for Val
Iterative: a value has no depth bound and no size bound as a tree, so a
shared subtree would exhaust memory. Answered with datum labels #0=/#0#,
which read deliberately does not accept - the codec carries sharing.
Auto Trait Implementations§
impl Freeze for Val
impl !RefUnwindSafe for Val
impl Send for Val
impl Sync for Val
impl Unpin for Val
impl !UnwindSafe for Val
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more