Pine 0.5.14
dotnet add package Pine --version 0.5.14
NuGet\Install-Package Pine -Version 0.5.14
<PackageReference Include="Pine" Version="0.5.14" />
<PackageVersion Include="Pine" Version="0.5.14" />
<PackageReference Include="Pine" />
paket add Pine --version 0.5.14
#r "nuget: Pine, 0.5.14"
#:package Pine@0.5.14
#addin nuget:?package=Pine&version=0.5.14
#tool nuget:?package=Pine&version=0.5.14
Pine is the cross-platform Elm runtime environment. It's built on .NET and runs on Linux, Windows, and macOS.
- Pine supports building and running Elm programs natively on .NET without JavaScript.
- The Elm compilation interfaces support the customization of code generation at build time.
- Pine comes bundled with a web server and database management system for building full-stack web applications.
Persisting sequential IR
StackInstructionTraceRenderer supports inspection and lossless persistence through the same
instruction and literal rendering functions:
var rendered = StackInstructionTraceRenderer.RenderStackFrameInstructions(
frame, StackInstructionTraceRenderer.RenderingOptions.Persistence);
// Store rendered.Text and rendered.ObservedValues separately.
// The dictionary keys are full, lowercase canonical Pine value SHA256 hashes.
var restored = StackInstructionTextFormat.ParseStackFrameInstructions(
rendered.Text, hash => rendered.ObservedValues.GetValueOrDefault(hash));
Use RenderInstructions and ParseInstructions for a bare instruction sequence, including
an empty sequence. Passing new RenderingOptions() selects compact inspection output;
HashHexLength configures inspection reference lengths. Persistence always uses 64 hex digits.
The existing string-returning rendering overloads remain available.
The versioned pine-ir 1 format retains indexed instruction listings, blob lengths and bounded
content summaries, list sizes, switch cases, absolute jump destinations, and incoming-jump
annotations. Persistence uses named operands to distinguish every optional instruction field.
Omitted fields retain their null/default state; empty collections and zero counts are explicit.
Values fall back to canonical SHA256 references, and expressions reference their canonically
encoded values. Even simple blob literals carry full references in persistence mode, preserving
noncanonical encodings exactly. Large integer operands, local-index lists, list prefixes,
switch tables, and incoming-jump annotations use value references instead of unbounded inline text.
Frame sections preserve parameter paths, environment constraints (including null versus empty),
resource limits, and shared or cyclic links. Invocation metadata preserves both the expression
and its original encoded value. Referenced metadata values encode parameter paths as lists of
integer lists, constraints as lists of [path, value] pairs, and complete template plans as
lists with a postordered recipe-node table. Recipe references preserve DAG sharing without
expanding shared subtrees. These encodings are part of the text format's version.
The loader requests concrete referenced values through its delegate and verifies their hashes.
Redundant inspection summaries and absolute destinations are ignored. Invalid syntax, missing
or mismatched values, and malformed metadata raise FormatException; storage-delegate failures
propagate unchanged. Parsing restores fields without validating executable stack behavior.
These APIs perform no file I/O and do not yet enable a persisted compilation cache in PineVM.
Resources
- Website: https://pine.build
- Source repository: https://github.com/pine-vm/pine
- Issue tracker: https://github.com/pine-vm/pine/issues
- Community dicsussions: https://github.com/pine-vm/pine/discussions
| 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. |
-
net10.0
- Microsoft.AspNetCore.Http.Abstractions (>= 2.3.13)
- Microsoft.CodeAnalysis.CSharp.Scripting (>= 5.9.0)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.14)
- SharpCompress (>= 0.50.7)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Pine:
| Package | Downloads |
|---|---|
|
Pine-Integration
Elm DevTools and runtime |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.5.14 | 50 | 11/8/2026 |
| 0.5.12 | 125 | 10/25/2026 |
| 0.5.11 | 148 | 10/11/2026 |
| 0.5.10 | 126 | 10/3/2026 |
| 0.5.9 | 133 | 9/26/2026 |
| 0.5.8 | 130 | 9/20/2026 |
| 0.5.7 | 149 | 9/13/2026 |
| 0.5.6 | 183 | 9/6/2026 |
| 0.5.5 | 156 | 8/30/2026 |
| 0.5.2 | 283 | 8/9/2026 |
| 0.5.1 | 213 | 7/20/2026 |
| 0.5.0 | 157 | 7/15/2026 |
| 0.4.36 | 163 | 7/3/2026 |
| 0.4.34 | 165 | 6/5/2026 |
| 0.4.33 | 169 | 5/25/2026 |
| 0.4.31 | 198 | 4/3/2026 |
| 0.4.30 | 188 | 3/1/2026 |
| 0.4.28 | 199 | 1/16/2026 |
| 0.4.27 | 210 | 1/4/2026 |
| 0.4.25 | 257 | 11/28/2025 |