{'fraction_non_alphanumeric': 0.03488372093023256, 'fraction_numerical': 0.0, 'mean_word_length': 5.414893617021277, '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}}
Clos Solutions to Binary Methods

Implementing binary methods in traditional object-oriented languages is difficult: numerous problems arise, such as typing (covariance vs. contravariance of the arguments), polymorphism on multiple arguments (lack of multi-methods) etc. The purpose of this paper is to demonstrate how those problems are either solved, or nonexistent in the Common Lisp Object System (Clos). Several solutions for implementing binary methods in Clos are proposed. They mainly consist in re-programming a binary method specific object system through the Clos meta-object protocol (mop).