pub enum Profile {
Default,
Server,
Numeric,
Edge,
Realtime,
Embedded,
}Expand description
The compilation profile determines evaluation semantics and optimization strategy.
See H26-SPEC Section 4 for detailed profile specifications.
Variants§
Default
Standard lazy Haskell evaluation with GC-managed memory.
Server
Optimized for server workloads: concurrency, bounded latency, observability.
Numeric
Numeric computing: strict-by-default, unboxed, fusion guaranteed.
Edge
Minimal runtime footprint for embedded and WASM targets.
Realtime
Realtime profile: bounded GC pauses (<1ms), arena per-frame.
Embedded
Bare-metal microcontrollers: no GC, static allocation only. Programs with escaping allocations are rejected at compile time.
Implementations§
Source§impl Profile
impl Profile
Sourcepub const fn is_strict_by_default(self) -> bool
pub const fn is_strict_by_default(self) -> bool
Returns true if this profile uses strict evaluation by default.
Sourcepub const fn has_fusion_guarantees(self) -> bool
pub const fn has_fusion_guarantees(self) -> bool
Returns true if fusion is guaranteed for this profile.
Sourcepub const fn requires_escape_analysis(self) -> bool
pub const fn requires_escape_analysis(self) -> bool
Returns true if this profile requires escape analysis.
For Embedded profile, programs with escaping allocations are rejected at compile time since there is no GC to manage memory.
Sourcepub const fn is_gc_free(self) -> bool
pub const fn is_gc_free(self) -> bool
Returns true if this profile has no garbage collector.