Fuaran.UI.Memo
0.88.0
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Fuaran.UI.Memo --version 0.88.0
NuGet\Install-Package Fuaran.UI.Memo -Version 0.88.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.88.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.88.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.88.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Fuaran.UI.Memo, 0.88.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.88.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.88.0
#tool nuget:?package=Fuaran.UI.Memo&version=0.88.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.32.0)
- Fuaran.Core.DataFrame (>= 0.34.0)
- Fuaran.Core.Function (>= 0.32.0)
- Fuaran.Core.Ops (>= 0.32.0)
- Fuaran.Core.OpStream (>= 0.32.0)
- Fuaran.Core.Propagation (>= 0.32.0)
- Fuaran.Core.Tree (>= 0.32.0)
- Fuaran.Core.Validator (>= 0.32.0)
- Fuaran.Core.Wire (>= 0.32.0)
- Fuaran.UI (>= 0.88.0)
- Fuaran.UI.OpStream.Abstractions (>= 0.88.0)
- Fuaran.UI.Renderer (>= 0.88.0)
- Fuaran.UI.Telemetry.Abstractions (>= 0.88.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.94.0 | 55 | 10/14/2026 |
| 0.93.0 | 209 | 10/10/2026 |
| 0.92.0 | 193 | 10/6/2026 |
| 0.91.0 | 134 | 10/4/2026 |
| 0.90.0 | 111 | 10/2/2026 |
| 0.88.0 | 168 | 9/30/2026 |
| 0.86.0 | 157 | 9/28/2026 |
| 0.85.0 | 238 | 9/20/2026 |
| 0.84.0 | 217 | 9/17/2026 |
| 0.83.0 | 229 | 9/15/2026 |
| 0.81.0 | 185 | 9/12/2026 |
| 0.80.0 | 192 | 9/9/2026 |
| 0.79.0 | 160 | 9/9/2026 |
| 0.78.1 | 177 | 9/8/2026 |
| 0.78.0 | 107 | 9/7/2026 |
| 0.77.0 | 164 | 9/6/2026 |
| 0.76.0 | 112 | 9/6/2026 |
| 0.75.0 | 149 | 9/4/2026 |
| 0.71.0 | 103 | 9/4/2026 |
| 0.70.0 | 100 | 9/4/2026 |
Loading failed