Blog posts related to the .NET/F# concept "Computation-Expressions"
← Back to all tagsBlog posts related to the .NET/F# concept "Computation-Expressions"
← Back to all tagsThe integration of reactive programming into the Fidelity framework presents a fascinating challenge at the intersection of practical engineering and algorithmic integrity. While exploring various reactive models, we discovered valuable insights from Ken Okabe’s Timeline library - a minimalist F# implementation that demonstrated how powerful reactive systems could be built with remarkably little code. This simplicity was a key inspiration for Alloy.Rx, though we’ve evolved the concepts to align with Fidelity’s unique architectural requirements.
Read MoreWhen we set out to build Firefly, we faced a fundamental question that cuts to the heart of functional systems programming: how far down the compilation stack can we preserve the elegant abstractions that make F# powerful? Specifically, can delimited continuations - the theoretical foundation for async/await, generators, and algebraic effects - survive the journey from high-level F# through MLIR’s SSA form to executable code? And perhaps more importantly, should they?
Read MoreIn 1998, Andrew Appel published a paper that heralded a change to how we should think about compiler design. “SSA is Functional Programming” demonstrated that Static Single-Assignment form, the intermediate representation at the heart of modern optimizing compilers, is exactly equivalent to functional programming with nested lexical scope. This insight has profound implications as we enter a new era of hardware-software co-design. At SpeakEZ, this revelation validates our approach with the Fidelity framework more than 25 years after its first publication: lowering F# to native code through MLIR isn’t just possible, it’s aligned to the fundamental structure of well-principled compilation.
Read MoreThe computing industry stands at a fascinating juncture in 2025. After decades of general-purpose processor dominance that led to the accidental emergence of general purpose GPU, we’re witnessing what appears to be a reverse inflection point. Specialized architectures are re-emerging as an economic imperative, but with crucial differences from the LISP machines of the past. Our analysis examines how languages inheriting from LISP’s legacy, particularly F# and others with lineage to OCaml and StandardML, are uniquely positioned to realize the advantages of new hardware coming from vendors like NextSilicon, Groq, Cerebras and Tenstorrent: a concept we’re calling Dataflow Graph Architecture (DGA).
Read MoreThe Fidelity framework represents an ambitious project to bring F# to native compilation without runtime dependencies. One of the most challenging aspects of this endeavor is the treatment of asynchronous programming. This design document outlines our approach to compiling F#’s async computation expressions to efficient native code through delimited continuations, and introduces Frosty, an enhancement that brings advanced async patterns to this runtime-free environment. 🔄 Updated July 25, 2025 True RAII principles for automatic async resource management Bidirectional PSG “zipper” computation expressions for async transformations Integration with Olivier actor model for structured concurrency …with special thanks to Paul Snively for his polyglot perspective that led to many of the connections drawn through the latest updates.
Read MoreAs a companion to our exploration of CXL and memory coherence, this article examines how the Fidelity framework could extend its zero-copy paradigm beyond single-system boundaries. While our BAREWire protocol is designed to enable high-performance, zero-copy communication within a system, modern computing workloads often span multiple machines or data centers. Remote Direct Memory Access (RDMA) technologies represent a promising avenue for extending BAREWire’s zero-copy semantics across network boundaries. This planned integration of RDMA capabilities with BAREWire’s memory model would allow Fidelity to provide consistent zero-copy semantics from local processes all the way to cross-datacenter communication, expressed through F#’s elegant functional programming paradigm.
Read MoreThe Fidelity framework introduces a revolutionary approach to building desktop applications with F#, enabling developers to create native user interfaces across multiple platforms while preserving the functional elegance that makes F# special. Drawing inspiration from the successful patterns established by Elmish and the MVU pattern - particularly within Avalonia - we take many lessons from Fabulous. FidelityUI adapts these proven approaches for native compilation, creating a framework that feels familiar to F# developers while delivering unprecedented performance through direct hardware access.
Read More