generic

generic(fn=None, *, name=None)

Class decorator / factory that turns a plain function into a S3Generic.

The decorated function becomes the default implementation (analogous to R’s UseMethod stub with a fallback stop() call).

Usage (default raises NotImplementedError)::

@generic
def summary(obj, *args, **kwargs):
    ...

Usage (default prints a helpful message)::

@generic
def summary(obj, *args, **kwargs):
    print(f"No summary method for {type(obj).__name__}")