{'fraction_non_alphanumeric': 0.019056261343012703, 'fraction_numerical': 0.0009074410163339383, 'mean_word_length': 5.267045454545454, '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}}
Structural experiments with arrays of functions

Proposals have been made to include function arrays in APL syntax. Strand syntax extends to provide vectors; bracket semantics, to provide reshaping.
Herein the structure phase of expression evaluation, which is APL's unique addition to the more familiar syntax and semantics phases, is analyzed. To the two argument shapes of VSAPL must be added the function shape. The extension of the conformance rules is straightforward; scalar conformance is the driving mechanism; applied recursively it is the basis of pervasion. Function and data arrays used with EACH and ENCLOSE, respectively, to produce scalars, lead to identities involving TRANSPOSE, DISCLOSE, and OUTER PRODUCT.
Analysis of the nonpervasive scalar function RHO EACH suggests what structural information must be retained in an empty function array. A vector of derived functions is a useful alternative to a derived function with an EACH in some common circumstances. A historical survey suggests that adding function vectors to APL2 would enhance the symmetry and balance of the language.