pub trait CanElaborate<T, S> {
// Required method
fn elab(&self, x: &T) -> Result<S, String>;
}
Expand description
A type that can elaborated into another.
Says that objects of type T
can be elaborated into objects of type S
.
Required Methods§
Implementors§
impl CanElaborate<Mor, TabEdge> for Elaborator
impl CanElaborate<Mor, ModalMor> for Elaborator
Elaborates into a morphism in a model of a modal theory.
impl CanElaborate<Mor, Path<TabOb, TabEdge>> for Elaborator
Elaborates into a morphism in a model of a discrete tabulator theory.
impl CanElaborate<Mor, Path<QualifiedName, QualifiedName>> for Elaborator
Elaborates into a morphism in a model of a discrete double theory.
impl CanElaborate<Ob, TabOb> for Elaborator
Elaborates into an object in a model of a discrete tabulator theory.
impl CanElaborate<Ob, ModalOb> for Elaborator
Elaborates into an object in a model of a modal theory.
impl CanElaborate<Ob, QualifiedName> for Elaborator
Elaborates into an object in a model of a discrete double theory.
impl CanElaborate<MorType, TabMorType> for Elaborator
Elaborates into morphism type in a discrete tabulator theory.
impl CanElaborate<MorType, Path<QualifiedName, QualifiedName>> for Elaborator
Elaborates into morphism type in a discrete double theory.
impl CanElaborate<MorType, ShortPath<ModeApp<QualifiedName>, ModeApp<QualifiedName>>> for Elaborator
Elaborates into morphism type in a modal double theory.
impl CanElaborate<ObOp, Path<TabObType, TabObProj>> for Elaborator
Elaborates into object operation in a discrete tabulator theory.
impl CanElaborate<ObOp, Path<ModeApp<QualifiedName>, ModeApp<ModalOp>>> for Elaborator
Elaborates into an object operation in a modal double theory.
impl CanElaborate<ObOp, QualifiedName> for Elaborator
Elaborates into object operation in a discrete double theory.
impl CanElaborate<ObType, TabObType> for Elaborator
Elaborates into object type in a discrete tabulator theory.
impl CanElaborate<ObType, ModeApp<QualifiedName>> for Elaborator
Elaborates into object type in a modal double theory.
impl CanElaborate<ObType, QualifiedName> for Elaborator
Elaborates into object type in a discrete double theory.