[−][src]Enum minitt::ast::Closure
Clos
in Mini-TT.
$f,g ::=$
Variants
$\lang \lambda p.M,\rho \rang$,
cl
in Mini-TT.
Closure that does a pattern matching.
Members: pattern, parameter type (optional), body expression and the captured scope.
This is not present in Mini-TT, thus an extension.
Sometimes the closure is already an evaluated value.
$f \circ c$
clCmp
in Mini-TT.
Closure that was inside of a case-split.
For example, in a definition:
f = split { TT a => bla };
The part TT a => bla
is a choice closure, where Box<Self>
refers to the a => bla
part
and TT
is the String
.
Methods
impl Closure
[src]
pub fn instantiate(self, value: Value) -> Value
[src]
$$
\begin{alignedat}{2}
& \textsf{inst} \lang \lambda p.M, \rho \rang v &&= ⟦ M ⟧ (\rho,p=v) \\
& \textsf{inst} (f \circ c) v &&= \textsf{inst} \ f (c \ v)
\end{alignedat}
$$
*
in Mini-TT.
Instantiate a closure with val
.
impl Closure
[src]
pub fn fmt_with_type(
&self,
f: &mut Formatter,
t: Option<&Value>
) -> Result<(), FmtError>
[src]
&self,
f: &mut Formatter,
t: Option<&Value>
) -> Result<(), FmtError>
Actual implementation of fmt
for Closure
Trait Implementations
Auto Trait Implementations
impl !Send for Closure
impl !Sync for Closure
impl Unpin for Closure
impl !UnwindSafe for Closure
impl !RefUnwindSafe for Closure
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,