Package: S7 0.2.0
S7: An Object Oriented System Meant to Become a Successor to S3 and S4
A new object oriented programming system designed to be a successor to S3 and S4. It includes formal class, generic, and method specification, and a limited form of multiple dispatch. It has been designed and implemented collaboratively by the R Consortium Object-Oriented Programming Working Group, which includes representatives from R-Core, 'Bioconductor', 'Posit'/'tidyverse', and the wider R community.
Authors:
S7_0.2.0.tar.gz
S7_0.2.0.zip(r-4.6)S7_0.2.0.zip(r-4.5)S7_0.2.0.zip(r-4.4)
S7_0.2.0.tgz(r-4.5-x86_64)S7_0.2.0.tgz(r-4.5-arm64)S7_0.2.0.tgz(r-4.4-x86_64)S7_0.2.0.tgz(r-4.4-arm64)
S7_0.2.0.tar.gz(r-4.6-arm64)S7_0.2.0.tar.gz(r-4.6-x86_64)S7_0.2.0.tar.gz(r-4.5-arm64)S7_0.2.0.tar.gz(r-4.5-x86_64)
S7_0.2.0.tgz(r-4.5-emscripten)
S7.pdf |S7.html✨
S7/json (API)
NEWS
| # Install 'S7' in R: |
| install.packages('S7', repos = c('https://staging.r-multiverse.org', 'https://cloud.r-project.org')) |
Bug tracker:https://github.com/rconsortium/s7/issues
Pkgdown/docs site:https://rconsortium.github.io
Last updated from:860394b610 (on v0.2.0). Checks:9 OK, 4 NOTE. Indexed: no.
| Target | Result | Total time | Artifact |
|---|---|---|---|
| linux-devel-arm64 | OK | 378 | |
| linux-devel-x86_64 | OK | 410 | |
| source / vignettes | OK | 244 | |
| linux-release-arm64 | OK | 112 | |
| linux-release-x86_64 | OK | 126 | |
| macos-release-arm64 | NOTE | 106 | |
| macos-release-x86_64 | NOTE | 186 | |
| macos-oldrel-arm64 | OK | 94 | |
| macos-oldrel-x86_64 | OK | 306 | |
| windows-devel | NOTE | 496 | |
| windows-release | NOTE | 92 | |
| windows-oldrel | OK | 113 | |
| wasm-release | OK | 89 |
Exports:as_classcheck_is_S7class_anyclass_atomicclass_callclass_characterclass_complexclass_data.frameclass_Dateclass_doubleclass_environmentclass_expressionclass_factorclass_formulaclass_functionclass_integerclass_languageclass_listclass_logicalclass_missingclass_nameclass_numericclass_POSIXctclass_POSIXltclass_POSIXtclass_rawclass_vectorconvertmethodmethod_explainmethod<-methods_registernew_classnew_external_genericnew_genericnew_objectnew_propertynew_S3_classnew_unionpropprop_existsprop_namesprop<-propsprops<-S4_registerS7_classS7_dataS7_data<-S7_dispatchS7_inheritsS7_objectset_propssupervalid_eventuallyvalid_implicitlyvalidate
Dependencies:
Classes and objects
Rendered fromclasses-objects.Rmdusingknitr::rmarkdownon Nov 02 2025.Last update: 2024-11-04
Started: 2023-05-08
Compatibility with S3 and S4
Rendered fromcompatibility.Rmdusingknitr::rmarkdownon Nov 02 2025.Last update: 2024-11-04
Started: 2022-03-18
Generics and methods
Rendered fromgenerics-methods.Rmdusingknitr::rmarkdownon Nov 02 2025.Last update: 2024-11-04
Started: 2023-05-08
Motivation for S7
Rendered frommotivation.Rmdusingknitr::rmarkdownon Nov 02 2025.Last update: 2023-11-23
Started: 2023-07-10
Performance
Rendered fromperformance.Rmdusingknitr::rmarkdownon Nov 02 2025.Last update: 2024-11-04
Started: 2021-03-17
S7 basics
Rendered fromS7.Rmdusingknitr::rmarkdownon Nov 02 2025.Last update: 2024-11-04
Started: 2023-02-13
Using S7 in a package
Rendered frompackages.Rmdusingknitr::rmarkdownon Nov 02 2025.Last update: 2023-11-23
Started: 2023-07-18
Readme and manuals
Help Manual
| Help page | Topics |
|---|---|
| S7 wrappers for base types | base_classes class_atomic class_call class_character class_complex class_double class_environment class_expression class_function class_integer class_language class_list class_logical class_name class_numeric class_raw class_vector |
| S7 wrappers for key S3 classes | base_s3_classes class_data.frame class_Date class_factor class_formula class_POSIXct class_POSIXlt class_POSIXt |
| Dispatch on any class | class_any |
| Dispatch on a missing argument | class_missing |
| Convert an object from one type to another | convert |
| Find a method for an S7 generic | method |
| Explain method dispatch | method_explain |
| Register an S7 method for a generic | method<- |
| Register methods in a package | methods_register |
| Define a new S7 class | new_class new_object |
| Generics in other packages | new_external_generic |
| Define a new generic | new_generic S7_dispatch |
| Define a new property | new_property |
| Declare an S3 class | new_S3_class |
| Define a class union | new_union |
| Get/set a property | @ @.S7_object prop prop<- |
| Property introspection | prop_exists prop_names |
| Get/set multiple properties | props props<- set_props |
| Register an S7 class with S4 | S4_register |
| Retrieve the S7 class of an object | S7_class |
| Get/set underlying "base" data | S7_data S7_data<- |
| Does this object inherit from an S7 class? | check_is_S7 S7_inherits |
| Force method dispatch to use a superclass | super |
| Validate an S7 object | validate valid_eventually valid_implicitly |
