Struct adapton::engine::Art
[−]
[src]
pub struct Art<T> { /* fields omitted */ }
Articulations: for incrementally-changing data/computation.
Introduced by (produced by)
thunk
,cell
andput
Eliminated by (consumed by)
force
(andset
).
The term Art stands for two things here:
Adapton Reference / Thunk, and
Articulation, for naming and discretizing incrementally-changing data (and computations).
Each art has a unique identity, its Name
.
Because this identity, each art permits efficient (O(1) time)
hashing and equality checks.
The concept of an art abstracts over whether the producer is
eager (like a ref cell
) or lazy (like a thunk
). One uses
force
to inspect both eager and lazy arts. Consequently, code
that consumes structures with arts need only ever use force
(not
two different functions, depending on whether the art is lazy or
eager).
Trait Implementations
impl<T: Clone> Clone for Art<T>
[src]
fn clone(&self) -> Art<T>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: PartialEq> PartialEq for Art<T>
[src]
fn eq(&self, __arg_0: &Art<T>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Art<T>) -> bool
[src]
This method tests for !=
.
impl<T: Eq> Eq for Art<T>
[src]
impl<T: Hash> Hash for Art<T>
[src]
fn hash<__HT: Hasher>(&self, __arg_0: &mut __HT)
[src]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more