Get the latest tech news

Generalizing Support for Functional OOP in R


has built-in support for two functional Object Oriented Programming (OOP) systems: S3 and S4, corresponding to the third and fourth version of the S language, respectively. The two systems are largely compatible; however, they are two fundamentally distinct systems, two systems for a user to understand, two systems for a developer to contend with when making their package interoperate with another, two systems for R core to maintain.

S7 is a new OOP system being developed as a collaboration between representatives from R-Core, Bioconductor, tidyverse/Posit, ROpenSci, and the wider R community, with the goal of unifying S3 and S4 and promoting interoperability. The development of S7 has prompted its authors to reflect on how to generally enable functional OOP systems like S3, S4 and S7, as their remains a lot of room for innovation in this area. Future functions that aim to support double dispatch via S3 will be able to make use of this general mechanism, rather than requiring further changes to R’s S3 semantics.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of Support

Support

Photo of functional oop

functional oop

Related news:

News photo

AlmaLinux 8.10 Released With Support Re-Enabled For Some Older Hardware

News photo

Linux 6.10 Adds Support For The Machenike G5 Pro Controller

News photo

Cohere launches open weights AI model Aya 23 with support for nearly two dozen languages