Have Object-Oriented Languages Missed a Trick with Class Function and its Subclasses?
Lloyd Allison

TL;DR
This paper explores the potential for object-oriented languages to better classify and utilize functions by introducing class hierarchies for functions, aiming to enhance expressiveness and structure.
Contribution
It proposes new class structures for functions in OO languages and demonstrates their implementation across popular languages through experimental investigation.
Findings
Identifies missing class hierarchies for functions in OO languages
Shows how subclasses of functions can be implemented and used
Highlights potential improvements in language expressiveness
Abstract
Compared to functions in mathematics, functions in programming languages seem to be under classified. Functional programming languages based on the lambda calculus famously treat functions as first-class values. Object-oriented languages have adopted ``lambdas'', notably for call-back routines in event-based programming. Typically a programming language has functions, a function has a type, and some functions act on other functions and/or return functions but there is generally a lack of (i) ``class Function'' in the OO sense of the word class and particularly (ii) subclasses of Function for functions having specific properties. Some such classes are presented here and programmed in some popular programming languages as an experimental investigation into OO languages missing this opportunity.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
