cryptol-2.10.0: Cryptol: The Language of Cryptography

Cryptol.TypeCheck.Solver.Class

Description

Solving class constraints.

Synopsis

# Documentation

Solve a Zero constraint by instance, if possible.

Solve a Logic constraint by instance, if possible.

Solve a Ring constraint by instance, if possible.

Solve a Field constraint by instance, if possible.

Solve an Integral constraint by instance, if possible.

Solve a Round constraint by instance, if possible.

Solve Eq constraints.

Solve Cmp constraints.

Solve SignedCmp constraints.

Solve Literal constraints.

Solving fractional literal constraints.

This places constraints on the floating point numbers that we can work with. This is a bit of an odd check, as it is really a limitiation of the backend, and not the language itself.

On the other hand, it helps us give sane results if one accidentally types a polymorphic float at the REPL. Hopefully, most users will stick to particular FP sizes, so this should be quite transparent.