Rulealize.Plugin.Definition
1.0.1
dotnet add package Rulealize.Plugin.Definition --version 1.0.1
NuGet\Install-Package Rulealize.Plugin.Definition -Version 1.0.1
<PackageReference Include="Rulealize.Plugin.Definition" Version="1.0.1" />
<PackageVersion Include="Rulealize.Plugin.Definition" Version="1.0.1" />
<PackageReference Include="Rulealize.Plugin.Definition" />
paket add Rulealize.Plugin.Definition --version 1.0.1
#r "nuget: Rulealize.Plugin.Definition, 1.0.1"
#:package Rulealize.Plugin.Definition@1.0.1
#addin nuget:?package=Rulealize.Plugin.Definition&version=1.0.1
#tool nuget:?package=Rulealize.Plugin.Definition&version=1.0.1
Rulealize.Plugin.Definition
References and applications of a Rulealize
rule set's definitions section.
| Plugin id | Rulealize.Plugin.Definition |
| Namespace | def |
| Reserved prefix | # |
| Depends on | Rulealize.Abstraction |
| Specification | doc/specification.md |
def.ref refers to a definition with no parameters, with "#name" as its shorthand;
def.call applies one that has parameters.
The definitions section is structurally the core's. It holds each entry as a name, a
parameter list and a body, and it rejects a cyclic reference graph before anything runs.
What the core never does is evaluate a body — that is this plugin's part, reached through
the evaluation context. So a rule set that defines nothing need not load this plugin at all.
Two things the specification settles that are worth knowing before you read it. Bodies are
hygienic: a body sees the state, the other definitions, and its own parameters, and
nothing from wherever it was called, which is what fixes a definition's meaning
independently of its call sites. And recursion is refused — the reference graph has to
be acyclic — because termination could not be guaranteed otherwise and GetValidInputs
evaluates hundreds of candidates per call.
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 | 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
- Rulealize.Abstraction (>= 0.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.