pub struct FutharkModule {
pub opens: Vec<String>,
pub types: Vec<FutharkTypeAlias>,
pub funs: Vec<FutharkFun>,
pub constants: Vec<(String, FutharkType, FutharkExpr)>,
pub doc: Option<String>,
}Expand description
A Futhark source module (single .fut file).
Fields§
§opens: Vec<String>Module-level open directives
types: Vec<FutharkTypeAlias>Type aliases
funs: Vec<FutharkFun>Function definitions (including entry points)
constants: Vec<(String, FutharkType, FutharkExpr)>Module-level constants: let c = e
doc: Option<String>Module-level doc comment
Implementations§
Source§impl FutharkModule
impl FutharkModule
Sourcepub fn add_type(&mut self, alias: FutharkTypeAlias)
pub fn add_type(&mut self, alias: FutharkTypeAlias)
Add a type alias.
Sourcepub fn add_fun(&mut self, fun: FutharkFun)
pub fn add_fun(&mut self, fun: FutharkFun)
Add a function.
Sourcepub fn add_constant(
&mut self,
name: impl Into<String>,
ty: FutharkType,
expr: FutharkExpr,
)
pub fn add_constant( &mut self, name: impl Into<String>, ty: FutharkType, expr: FutharkExpr, )
Add a module-level constant.
Trait Implementations§
Source§impl Clone for FutharkModule
impl Clone for FutharkModule
Source§fn clone(&self) -> FutharkModule
fn clone(&self) -> FutharkModule
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FutharkModule
impl Debug for FutharkModule
Auto Trait Implementations§
impl Freeze for FutharkModule
impl RefUnwindSafe for FutharkModule
impl Send for FutharkModule
impl Sync for FutharkModule
impl Unpin for FutharkModule
impl UnsafeUnpin for FutharkModule
impl UnwindSafe for FutharkModule
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