Section12.12

]>
Book Contents Previous Section 12.11 Conditionals Next Section 13.0 Domains Book Index

## 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

Book Contents Previous Section 12.11 Conditionals Next Section 13.0 Domains Book Index