Rulealize.Plugin.TypeSchema
1.1.1
dotnet add package Rulealize.Plugin.TypeSchema --version 1.1.1
NuGet\Install-Package Rulealize.Plugin.TypeSchema -Version 1.1.1
<PackageReference Include="Rulealize.Plugin.TypeSchema" Version="1.1.1" />
<PackageVersion Include="Rulealize.Plugin.TypeSchema" Version="1.1.1" />
<PackageReference Include="Rulealize.Plugin.TypeSchema" />
paket add Rulealize.Plugin.TypeSchema --version 1.1.1
#r "nuget: Rulealize.Plugin.TypeSchema, 1.1.1"
#:package Rulealize.Plugin.TypeSchema@1.1.1
#addin nuget:?package=Rulealize.Plugin.TypeSchema&version=1.1.1
#tool nuget:?package=Rulealize.Plugin.TypeSchema&version=1.1.1
Rulealize.Plugin.TypeSchema
The scalar vocabulary a Rulealize rule set's
state.schema is written in.
| Plugin id | Rulealize.Plugin.TypeSchema |
| Namespace | type |
| Reserved prefix | none |
| Depends on | Rulealize.Abstraction |
| Specification | doc/specification.md |
type.enum, type.int, type.bool, type.string, type.list. Everything here is a
schema node, not an expression: schema nodes appear inside state.schema and nowhere
else, and are never evaluated. Using one in expression position is a build error.
Composite types belong to whoever owns them. A grid plugin supplies the board and accepts any schema node for its cells; that this plugin's enumeration is what usually lands there is a fact about rule sets, not a dependency between the two.
A rule set runs from state.initial alone, so the schema has to earn its place. It does
that by making three other things possible: checking a state document that arrived from
outside, checking the initial state while the rule set is built rather than when it runs,
and type inference eventually — exhaustiveness for branch.match and kind mismatch for
cmp both need it, and neither exists yet.
nullable is a shared modifier rather than a variant per scalar, because the shape a board
cell needs — black, white, or empty — then fits on one line. An empty square being null
rather than a third enumeration member is a deliberate decision the specification argues
for; it is what keeps Reversi's flip rule to a single comparison.
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.