[−][src]Enum voile::syntax::abs::ast::Abs
Variants
Local variable
Global variable
Meta variable
Lift an expression many times
Cons(Ident)
Constructor call
Record projection
Apply or Pipeline in surface
Dependent Type, (a -> b -> c)
as Dt(_, DtKind::Pi, _, _, a, Dt(_, DtKind::Pi, _, _, b, c))
The first Loc
is the syntax info of this whole lambda,
while the second is about its parameter
Row-polymorphic types, corresponds to RowPoly
Record literals
Whatever(Loc)
Empty type eliminator,
Case-split expressions.
Row-polymorphic kinds, corresponds to RowKind
Methods
impl Abs
[src]
pub fn dependent_type(
info: Loc,
kind: PiSig,
name: UID,
plicit: Plicit,
a: Self,
b: Self
) -> Self
[src]
info: Loc,
kind: PiSig,
name: UID,
plicit: Plicit,
a: Self,
b: Self
) -> Self
pub fn row_polymorphic_type(
info: Loc,
kind: VarRec,
labels: Vec<LabAbs>,
rest: Option<Self>
) -> Self
[src]
info: Loc,
kind: VarRec,
labels: Vec<LabAbs>,
rest: Option<Self>
) -> Self
pub fn record(info: Loc, fields: Vec<LabAbs>, rest: Option<Self>) -> Self
[src]
pub fn app(info: Loc, function: Self, plicit: Plicit, argument: Self) -> Self
[src]
pub fn proj(info: Loc, record: Self, field: Ident) -> Self
[src]
pub fn fst(info: Loc, of: Self) -> Self
[src]
pub fn snd(info: Loc, of: Self) -> Self
[src]
pub fn lam(whole_info: Loc, param: Ident, name: UID, body: Self) -> Self
[src]
pub fn pair(info: Loc, first: Self, second: Self) -> Self
[src]
pub fn case_or(
label: Ident,
binding: Ident,
uid: UID,
clause: Self,
or: Self
) -> Self
[src]
label: Ident,
binding: Ident,
uid: UID,
clause: Self,
or: Self
) -> Self
pub fn lift(info: Loc, lift_count: LevelType, expr: Self) -> Self
[src]
pub fn pi(
info: Loc,
name: UID,
plicit: Plicit,
input: Self,
output: Self
) -> Self
[src]
info: Loc,
name: UID,
plicit: Plicit,
input: Self,
output: Self
) -> Self
pub fn sig(
info: Loc,
name: UID,
plicit: Plicit,
first: Self,
second: Self
) -> Self
[src]
info: Loc,
name: UID,
plicit: Plicit,
first: Self,
second: Self
) -> Self
Trait Implementations
impl Clone for Abs
[src]
impl Eq for Abs
[src]
fn assert_receiver_is_total_eq(&self)
[src]
impl PartialEq<Abs> for Abs
[src]
impl Display for Abs
[src]
impl Debug for Abs
[src]
impl ToLoc for Abs
[src]
Auto Trait Implementations
impl Send for Abs
impl Sync for Abs
impl Unpin for Abs
impl UnwindSafe for Abs
impl RefUnwindSafe for Abs
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
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,