AngouriMath

Navigation

Bindings


← Back to list of classes

Description

Summary

A set of named holes and what they stood for.

Remarks

A cons list rather than a dictionary, because of how it is used: a handful of holes, and a
new set built on every step of a backtracking search. Sharing the tail makes
With(System.String,AngouriMath.Entity) one small object instead of a copy of the whole map, which measured as
the larger part of what a rule expressed as data cost over the same rule as a
switch arm.
Immutability is not an optimisation here but a correctness requirement: a branch that
fails must leave nothing behind for the branch tried next, and sharing one mutable map
across attempts is how a matcher silently starts accepting things it should not.

Members

























Angouri © 2019-2023 · Project's repo · Site's repo · Octicons · Transparency · 4378 pages online