Ada doesn't use the "dot syntax"; instead the enumeration literal is written as is without a dot. If I write:
type Number_System is (Bin, Dec, Oct);
type Month is (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
procedure Foo (A: Number_System; B: Month);
Then this is a valid call:
Foo( Dec, Dec )
https://godbolt.org/z/eP5qMj3K1When the type is explicit, the Ada standard calls this a "Qualified expression". But I would just say that it is a kind of type inference for enumerations.
https://www.adaic.com/resources/add_content/standards/05aarm...