pub struct TypeChecker { /* private fields */ }Implementations§
Source§impl TypeChecker
impl TypeChecker
pub fn new() -> Self
Sourcepub fn register_external_words(&mut self, words: &[(&str, Option<&Effect>)])
pub fn register_external_words(&mut self, words: &[(&str, Option<&Effect>)])
Register external word effects (e.g., from included modules).
Words with Some(effect) get their actual signature.
Words with None get a maximally polymorphic placeholder ( ..a -- ..b ).
Sourcepub fn take_quotation_types(&self) -> HashMap<usize, Type>
pub fn take_quotation_types(&self) -> HashMap<usize, Type>
Extract the type map (quotation ID -> inferred type)
This should be called after check_program() to get the inferred types for all quotations in the program. The map is used by codegen to generate appropriate code for Quotations vs Closures.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for TypeChecker
impl !RefUnwindSafe for TypeChecker
impl Send for TypeChecker
impl !Sync for TypeChecker
impl Unpin for TypeChecker
impl UnwindSafe for TypeChecker
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more