Naming conventions
MOI follows several conventions for naming functions and structures. These should also be followed by packages extending MOI.
Sets
Sets encode the structure of constraints. Their names should follow the following conventions:
- Abstract types in the set hierarchy should begin with
Abstract
and end inSet
, for example,AbstractScalarSet
,AbstractVectorSet
. - Vector-valued conic sets should end with
Cone
, for example,NormInfinityCone
,SecondOrderCone
. - Vector-valued Cartesian products should be plural and not end in
Cone
, for example,Nonnegatives
, notNonnegativeCone
. - Matrix-valued conic sets should provide two representations:
ConeSquare
andConeTriangle
, for example,RootDetConeTriangle
andRootDetConeSquare
. See Matrix cones for more details. - Scalar sets should be singular, not plural, for example,
Integer
, notIntegers
. - As much as possible, the names should follow established conventions in the domain where this set is used: for instance, convex sets should have names close to those of CVX, and constraint-programming sets should follow MiniZinc's constraints.