Fuaran.UI.Memo
0.39.0
Prefix Reserved
dotnet add package Fuaran.UI.Memo --version 0.39.0
NuGet\Install-Package Fuaran.UI.Memo -Version 0.39.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Fuaran.UI.Memo" Version="0.39.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Fuaran.UI.Memo" Version="0.39.0" />
<PackageReference Include="Fuaran.UI.Memo" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Fuaran.UI.Memo --version 0.39.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Fuaran.UI.Memo, 0.39.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Fuaran.UI.Memo@0.39.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Fuaran.UI.Memo&version=0.39.0
#tool nuget:?package=Fuaran.UI.Memo&version=0.39.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Fuaran.UI.Memo
Incremental re-derivation engine — effect-aware memoisation over the Fuaran
artifact-function apply (FragmentApply.apply).
- Whole-application memo. Substituted fragment trees are content-keyed (canonical-JSON + SHA-256, the same digest the op-stream hash-chain uses) and held in a bounded LRU. An identical application is a cache hit.
- Incremental re-derivation. A value-parameter change reuses the structural
tree (reference-identical) and recomputes only the affected hole-addressed
(
<refId>.<holeName>) bindings; disjoint changes don't invalidate each other. - Effect gate. Only pure-deterministic fragments are cached; effecting / clock / random / network fragments bypass the cache and re-derive every call.
- Replay-as-reapplication. An op-stream replay resolves through the cache to a byte-identical tree.
- Observability. Every call emits a
CacheStatTelemetry(hit / miss / incremental / bypass + cache size against its bound) to the configuredIFuaranTelemetrySink.
The cache is transparent: no wire change, no change to existing apply semantics.
open Fuaran.UI.Memo
let engine = Engine<unit>(capacity = 256, sink = telemetrySink)
// First derivation: a cache miss; the substituted tree is stored.
let d0 = engine.Apply(fragment, "ref1", valueArgs, slotArgs) |> Result.toOption |> Option.get
// Edit a value parameter → the tree is reused; only that binding recomputes.
let d1 = engine.Reapply(d0, fragment, "ref1", changedValueArgs, slotArgs)
Apache-2.0 licensed — see the repo LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Fable.Core (>= 5.0.0)
- Feliz (>= 3.3.3)
- FSharp.Core (>= 10.1.300)
- Fuaran.Core.Column (>= 0.11.0)
- Fuaran.Core.DataFrame (>= 0.11.0)
- Fuaran.Core.Function (>= 0.11.0)
- Fuaran.Core.Ops (>= 0.11.0)
- Fuaran.Core.OpStream (>= 0.11.0)
- Fuaran.Core.Tree (>= 0.11.0)
- Fuaran.Core.Validator (>= 0.11.0)
- Fuaran.Core.Wire (>= 0.11.0)
- Fuaran.UI (>= 0.39.0)
- Fuaran.UI.OpStream.Abstractions (>= 0.39.0)
- Fuaran.UI.Renderer (>= 0.39.0)
- Fuaran.UI.Telemetry.Abstractions (>= 0.39.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.39.0 | 31 | 8/27/2026 |
| 0.35.0 | 246 | 8/24/2026 |
| 0.32.0 | 143 | 8/23/2026 |
| 0.31.0 | 356 | 8/21/2026 |
| 0.30.0 | 89 | 8/21/2026 |
| 0.29.0 | 79 | 8/19/2026 |
| 0.28.0 | 85 | 8/18/2026 |
| 0.27.0 | 83 | 8/18/2026 |
| 0.26.0 | 89 | 8/18/2026 |
| 0.18.0 | 93 | 8/10/2026 |
| 0.15.0 | 89 | 8/9/2026 |
| 0.12.0 | 104 | 7/31/2026 |
| 0.11.0 | 95 | 7/30/2026 |
| 0.10.0 | 105 | 7/29/2026 |
| 0.6.0 | 101 | 7/27/2026 |
| 0.4.0 | 102 | 7/26/2026 |
| 0.3.0 | 106 | 7/24/2026 |