{'fraction_non_alphanumeric': 0.01592920353982301, 'fraction_numerical': 0.0, 'mean_word_length': 4.717171717171717, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Visibility and types

In this paper it is argued that there is a strong connection between the issue of abstract types and the more general issue of information hiding in large program systems, since abstraction has to be enforced by the careful and controlled hiding of details. In the first part of the paper, the notions of visibility and interface are discussed. In the second part, it is shown how, by careful control of visibility through interfaces, data abstraction can be achieved. Finally a comparison is made between this approach and the class approach.