Documentation of the main public API is outsourced to a new module called API.
API defines an abstract type for sets in order to be able to define the functions (otherwise this would be type piracy with some Base functions). I called this type LazySet, but it is not exported.
The exports of the outsourced functions have been removed from LazySets and are now @reexported from API instead.
The only thing to note is that API mentions convex_hull only as a unary function, which is the common presentation. I intend to propose later that we retire the binary function, because we now have UnionSet. But for now nothing was changed yet.
In the future, I imagine the following steps:
Discuss whether more functions should be in API.
Shorten lots of the common documentation, and possibly use # Extended help (last item (11.) here).
Potentially revise the presentation of the API in the documentation.
Eventually, API could get outsourced, e.g., to MathematicalSets. Some of the functions, like concretize, are probably too exotic for that, though.
The idea with 4. only came after I did these changes. If there is the intention to do 4., we should maybe discuss each of the functions I selected for API and whether they should stay in LazySets instead.
This is essentially a refactoring.
API
.API
defines an abstract type for sets in order to be able to define the functions (otherwise this would be type piracy with someBase
functions). I called this typeLazySet
, but it is not exported.export
s of the outsourced functions have been removed fromLazySets
and are now@reexport
ed fromAPI
instead.API
mentionsconvex_hull
only as a unary function, which is the common presentation. I intend to propose later that we retire the binary function, because we now haveUnionSet
. But for now nothing was changed yet.In the future, I imagine the following steps:
API
.# Extended help
(last item (11.) here).API
could get outsourced, e.g., toMathematicalSets
. Some of the functions, likeconcretize
, are probably too exotic for that, though.The idea with 4. only came after I did these changes. If there is the intention to do 4., we should maybe discuss each of the functions I selected for
API
and whether they should stay inLazySets
instead.