We report on our experience gained in designing, implementing and using a strongly-typed persistent programming language (TooL)
which integrates object types, subtyping, type matching, and type quantification. Our work complements recent type-theoretical
studies of subtyping and type matching by focusing on the issue of how to integrate both concepts into a practical, orthogonal
programming language. We also shed some light on the subtle typing issues which we encountered during the construction of
a substantial bulk data library where it was necessary to trade-off subtyping against type matching. Our practical experience
suggests that the benefits of an integration of subtyping and type matching are achieved at the expense of a significant increase
in modeling complexity.
This research is supported by ESPRIT Basic Research, Project FIDE, #6309 and by a grant from the German Israeli Foundation
for Research and Development (bulk data classification, I-183 060).