Rulealize.Plugin.Comparison 1.0.1

dotnet add package Rulealize.Plugin.Comparison --version 1.0.1
                    
NuGet\Install-Package Rulealize.Plugin.Comparison -Version 1.0.1
                    
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="Rulealize.Plugin.Comparison" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Rulealize.Plugin.Comparison" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Rulealize.Plugin.Comparison" />
                    
Project file
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 Rulealize.Plugin.Comparison --version 1.0.1
                    
#r "nuget: Rulealize.Plugin.Comparison, 1.0.1"
                    
#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 Rulealize.Plugin.Comparison@1.0.1
                    
#: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=Rulealize.Plugin.Comparison&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Rulealize.Plugin.Comparison&version=1.0.1
                    
Install as a Cake Tool

Rulealize.Plugin.Comparison

Equality, ordering and null tests for Rulealize rule sets.

Plugin id Rulealize.Plugin.Comparison
Namespace cmp
Reserved prefix none
Depends on Rulealize.Abstraction
Specification doc/specification.md

cmp.eq, ne, lt, lte, gt, gte, compare, isNull, coalesce.

Kept apart from Rulealize.Plugin.Arithmetic because the reach is different: comparison applies to text, booleans and opaque values as well as numbers, and a rule set that never does arithmetic still compares things constantly. Three-way comparison lives here for the same reason.

The asymmetry the specification is built around, stated plainly here because it is the point of the plugin: equality is null-safe and ordering is not. cmp.eq accepts anything and never faults — null against null is true, null against a value is false, different kinds are unequal. The ordering operations refuse null and refuse mismatched kinds, both as evaluation errors. "Is the absent value equal to black" has an obvious answer; "is the absent value less than black" has none, and rather than bury an arbitrary choice in the specification this plugin makes the rule author write cmp.isNull or cmp.coalesce and say what they meant.

Text ordering is ordinal, by code point, never culture-aware, so that a rule set means the same thing on every host.

Building

dotnet build. Rulealize.Abstraction restores from nuget.org like any other package, so this repository builds on its own.

License

Apache-2.0.

Product 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.

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.0.1 113 9/5/2026
1.0.0 278 8/11/2026