12.12 Anonymous Categories¶
The part of a category to the right of a with is also regarded as a category—an anonymous category. Thus you have already seen a category definition category:anonymous in Chapter ugPackages . The Exports part of the package DrawComplex (ugPackagesAbstract ) is an anonymous category. This is not necessary. We could, instead, give this category a name:
DrawComplexCategory(): Category == with
drawComplex: (C -> C,S,S,Boolean) -> VIEW3D
drawComplexVectorField: (C -> C,S,S) -> VIEW3D
setRealSteps: INT -> INT
setImagSteps: INT -> INT
setClipValue: DFLOAT-> DFLOAT
and then define DrawComplex by:
DrawComplex(): DrawComplexCategory == Implementation
where
...
There is no reason, however, to give this list of exports a name since no other domain or package exports it. In fact, it is rare for a package to export a named category. As you will see in the next chapter, however, it is very common for the definition of domains to mention one or more category before the with. with