[−][src]Enum nar::syntax::core::Term
Type for terms.
Variants
Whnf(Val)
Methods
impl Term
[src]
Constructors and traversal functions.
pub fn is_type(&self) -> bool
[src]
pub fn is_universe(&self) -> bool
[src]
pub fn cons(name: ConHead, params: Vec<Self>) -> Self
[src]
pub fn data(info: ValData) -> Self
[src]
pub fn meta(index: MI, params: Vec<Elim>) -> Self
[src]
pub fn reflexivity() -> Self
[src]
pub fn universe(level: Level) -> Self
[src]
pub fn identity(ty: Self, a: Self, b: Self) -> Self
[src]
pub fn fresh_axiom() -> Self
[src]
pub(crate) fn postulate(uid: UID) -> Self
[src]
pub fn def(gi: GI, ident: Ident, elims: Vec<Elim>) -> Self
[src]
pub fn simple_def(gi: GI, ident: Ident) -> Self
[src]
pub fn pi_from_tele(tele: Tele, ret: Self) -> Self
[src]
pub fn tele_view(self) -> (Tele, Self)
[src]
Returns
The telescope and the return type.
pub fn pi(licit: Plicit, name: UID, param_type: Term, body: Closure) -> Self
[src]
pub fn pi2(param: Bind<Box<Term>>, body: Closure) -> Self
[src]
impl Term
[src]
pub fn apply(self, args: Vec<Term>) -> Self
[src]
Use Term
instead of Self
to emphasize that it's not Elim
.
pub fn apply_elim(self, args: Vec<Elim>) -> Self
[src]
impl Term
[src]
Trait Implementations
impl Clone for Term
[src]
impl DeBruijn for Term
[src]
impl Debug for Term
[src]
impl Display for Term
[src]
impl Eq for Term
[src]
impl FoldVal for Term
[src]
fn try_fold_val<E, R>(
&self,
init: R,
f: impl Fn(R, &Val) -> Result<R, E> + Copy
) -> Result<R, E>
[src]
&self,
init: R,
f: impl Fn(R, &Val) -> Result<R, E> + Copy
) -> Result<R, E>
impl HasMeta for Term
[src]
fn inline_meta(self, tcs: TCS) -> TCMS<Self>
[src]
impl PartialEq<Term> for Term
[src]
impl<A, B, X: RedEx<A>, Y: RedEx<B>> RedEx<(A, B), Term> for (X, Y)
[src]
impl<R, T: RedEx<R>> RedEx<Bind<R>, Term> for Bind<T>
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> Bind<R>
[src]
impl RedEx<Closure, Term> for Closure
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> Self
[src]
impl<Ix, R, T: RedEx<R>> RedEx<Copat<Ix, R>, Term> for Copat<Ix, T>
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> Copat<Ix, R>
[src]
impl RedEx<Elim, Term> for Elim
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> Elim
[src]
impl RedEx<Equation, Term> for Equation
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> Self
[src]
impl<R, T: RedEx<R>> RedEx<Let<R>, Term> for Let<T>
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> Let<R>
[src]
impl<R, T: RedEx<R>> RedEx<MetaSol<R>, Term> for MetaSol<T>
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> MetaSol<R>
[src]
impl<R, T: RedEx<R>> RedEx<MetaSolution<R>, Term> for MetaSolution<T>
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> MetaSolution<R>
[src]
impl<Ix, R, T: RedEx<R>> RedEx<Pat<Ix, R>, Term> for Pat<Ix, T>
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> Pat<Ix, R>
[src]
impl RedEx<Term, Term> for Term
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> Term
[src]
impl RedEx<Term, Term> for Val
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> Term
[src]
impl RedEx<ValData, Term> for ValData
[src]
fn reduce_dbi(self, subst: Rc<Subst>) -> Self
[src]
impl<R, T: RedEx<R>> RedEx<Vec<R>, Term> for Vec<T>
[src]
For Tele
.
fn reduce_dbi(self, subst: Rc<Subst>) -> Vec<R>
[src]
impl StructuralEq for Term
[src]
impl StructuralPartialEq for Term
[src]
impl TryFrom<Copat<DBI, Term>> for Term
[src]
type Error = String
The type returned in the event of a conversion error.
fn try_from(p: CoreCopat) -> Result<Term, String>
[src]
impl TryFrom<Pat<DBI, Term>> for Term
[src]
type Error = String
The type returned in the event of a conversion error.
fn try_from(p: CorePat) -> Result<Term, String>
[src]
impl Unify for Term
[src]
Auto Trait Implementations
impl RefUnwindSafe for Term
impl Send for Term
impl Sync for Term
impl Unpin for Term
impl UnwindSafe for Term
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
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> 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>,