{'fraction_non_alphanumeric': 0.027777777777777776, 'fraction_numerical': 0.025326797385620915, 'mean_word_length': 4.861244019138756, '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}}
Fortran 90 pointers vs. “Cray” pointers

The Fortran 77 standard does not contain pointer facilities, but because of heavy user demand, many Fortran 77 compilers have been extended with "Cray" pointers. The demand for pointers in Fortran was heard by the standards committee, X313, and a pointer facility was added to the follow-on Fortran standard, Fortran 90. X3J3, for reasons that may soon become apparent, chose not to follow existing practice and specify "Cray" pointers, but to standardize a somewhat different pointer facility. Fortran 90 pointers complement the Fortran 90 language; they fit well with the new Fortran 90 array processing and data facilities. The popularity of "Cray" pointers indicates that they fit well with Fortran 77, and since Fortran 90 contains all of Fortran 77, it would be possible to extend Fortran 90 processors to accept "Cray" pointers as well. This would make it easier for existing codes that use pointers to migrate to new Fortran 90 processors. But is it a good idea for a processor to provide two pointer facilities? How difficult is it to convert from "Cray" pointers to Fortran 90 pointers? This paper provides some information that may be helpful in answering these questions.