Open.Evaluation 1.1.2

dotnet add package Open.Evaluation --version 1.1.2                
NuGet\Install-Package Open.Evaluation -Version 1.1.2                
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="Open.Evaluation" Version="1.1.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Open.Evaluation --version 1.1.2                
#r "nuget: Open.Evaluation, 1.1.2"                
#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.
// Install Open.Evaluation as a Cake Addin
#addin nuget:?package=Open.Evaluation&version=1.1.2

// Install Open.Evaluation as a Cake Tool
#tool nuget:?package=Open.Evaluation&version=1.1.2                


Open.Evaluation is a framework for constructing and evaluating any hierarchal formula or complex structure. Typically used for evaluating math or algorithms.

This set of interfaces and classes can be used to create serializable (human readable) functions for use with other systems that require a reproducable structure.

For example: Given a specific mathmatical formula (or function), it is possible to not only resolve/evaluate the result given a set of parameters, it is also possible to inspect the formula's structure and see how the values are being used.

Evaluation Classes

(See Core/EvaluationBase.cs)


The main idea here is to envorce immutable classes and related sub classes. No changes allowed after construction. A clone can only be created by 'recreating' or 'reconstructing'.

It is very important to maintain this since these classes should not change during operation.

Unidirectional Referencing

To avoid potential memory problems, all heirarchies should be unidirectional: "The parent is aware of the children, but the children are unaware of the parent." This allows for child sharing and has the potential to signficantly reduce the memory footprint.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
1.1.2 1,022 4/24/2022
1.1.0 401 4/18/2022
1.0.1 377 4/16/2022
1.0.0 395 4/16/2022