canrun::goals

Module project

Source
Expand description

Goals that deal with resolved values.

Not all relationships can be expressed with the simpler low level operations, especially when involve values of different types.

The project family of goals use State.constrain() to allow dealing with resolved values. These goals are relatively low level and may be a bit subtle to use correctly. They are provided as a foundation for building higher level goals.

Structs§

Assert1
A projection goal that succeeds if the resolved value passes an assertion test. Create with assert_1.
Assert2
A projection goal that succeeds if the resolved values pass an assertion test. Create with assert_2.
Map1
A projection goal that allows deriving one resolved value from the other. Create with map_1.
Map2
A projection goal that allows deriving one resolved value from the other two. Create with map_2.
Project1
A projection goal that allows creating a new goal based on the resolved value. Create with project_1.
Project2
A projection goal that allows creating a new goal based on the resolved values. Create with project_2.

Functions§

assert_1
Create a projection goal that succeeds if the resolved value passes an assertion test.
assert_2
Create a projection goal that succeeds if the resolved values pass an assertion test.
map_1
Create a projection goal that allows deriving one resolved value from the other.
map_2
Create a projection goal that allows deriving one resolved value from the other two.
project_1
Create a projection goal that allows creating a new goal based on the resolved value.
project_2
Create a projection goal that allows creating a new goal based on the resolved values.