Blog posts related to the .NET/F# concept "Assembly"
← Back to all tagsBlog posts related to the .NET/F# concept "Assembly"
← Back to all tagsThe Firefly compiler represents a fundamental shift in how F# code gets compiled to native executables. Unlike traditional F# compilation that relies on pre-compiled assemblies and the .NET runtime, Firefly compiles F# directly to native code through MLIR and LLVM, creating truly dependency-free executables. This architectural choice creates an interesting challenge: how do we handle library dependencies when we can’t rely on traditional assembly resolution? Beyond Assembly-Based Dependencies Traditional F# development uses a well-established pattern where open statements resolve to compiled assemblies in NuGet packages.
Read MoreFor .NET developers, the term “frontend” already carries rich meaning. It might evoke XAML-based technologies like WPF or UWP, the hybrid approach of Blazor, or perhaps JavaScript visualization frameworks such as Angular, Vue or React. Within the .NET ecosystem, “frontend” generally refers to user interface technologies - the presentation layer of applications. When that same .NET developer encounters terminology like “MLIR C/C++ Frontend Working Group,” something doesn’t quite compute. This clearly isn’t referring to user interfaces or presentation technologies.
Read MoreThe computing landscape has undergone seismic shifts over the past three decades, yet many of our foundational software platforms remain anchored to paradigms established during a vastly different technological era. Virtual machines and managed runtime environments like Java’s JVM and .NET’s CLR emerged during the late 1990s and early 2000s as solutions to very specific problems of that time: platform independence, memory safety, and simplified development in an era of relatively homogeneous computing resources.
Read MoreThe journey from managed code to native compilation in F# represents a significant architectural shift. As the Fidelity Framework charts a course toward bringing F# to new levels of hardware/software co-design, we face a fundamental question: how do we distribute and manage packages in a world where the comfortable-yet-constraining assumptions afforded in the .NET ecosystem no longer hold? This article explores Fargo, a forward-looking package management system that reimagines F# code distribution for the age of multi-platform native compilation.
Read MoreThe .NET platform introduced the concept of assemblies over two decades ago, a fundamental building block that has served as the cornerstone of .NET development since its inception in 2002. Assemblies, typically manifested as DLL or EXE files, represented a significant advancement in software componentization at the time. They combined compiled Intermediate Language (IL) code with rich metadata about types, references, and versions into a cohesive deployment unit that could be shared across applications.
Read More