pub struct FutharkBackend { /* private fields */ }Expand description
Backend state for emitting Futhark source code.
Implementations§
Source§impl FutharkBackend
impl FutharkBackend
Sourcepub fn with_config(config: FutharkConfig) -> Self
pub fn with_config(config: FutharkConfig) -> Self
Create a new backend with custom configuration.
Sourcepub fn emit_type(&mut self, ty: &FutharkType)
pub fn emit_type(&mut self, ty: &FutharkType)
Emit a Futhark type to the buffer.
Sourcepub fn emit_expr(&mut self, expr: &FutharkExpr)
pub fn emit_expr(&mut self, expr: &FutharkExpr)
Emit a Futhark expression to the buffer.
Sourcepub fn emit_stmt(&mut self, stmt: &FutharkStmt)
pub fn emit_stmt(&mut self, stmt: &FutharkStmt)
Emit a single Futhark statement.
Sourcepub fn emit_fun(&mut self, fun: &FutharkFun)
pub fn emit_fun(&mut self, fun: &FutharkFun)
Emit a Futhark function definition.
Sourcepub fn emit_type_alias(&mut self, alias: &FutharkTypeAlias)
pub fn emit_type_alias(&mut self, alias: &FutharkTypeAlias)
Emit a type alias definition.
Sourcepub fn emit_module(&mut self, module: &FutharkModule)
pub fn emit_module(&mut self, module: &FutharkModule)
Emit an entire Futhark module.
Sourcepub fn generate(module: &FutharkModule) -> String
pub fn generate(module: &FutharkModule) -> String
Generate a complete .fut file from a module.
Sourcepub fn generate_with_config(
module: &FutharkModule,
config: FutharkConfig,
) -> String
pub fn generate_with_config( module: &FutharkModule, config: FutharkConfig, ) -> String
Generate with custom configuration.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FutharkBackend
impl RefUnwindSafe for FutharkBackend
impl Send for FutharkBackend
impl Sync for FutharkBackend
impl Unpin for FutharkBackend
impl UnsafeUnpin for FutharkBackend
impl UnwindSafe for FutharkBackend
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