From: Ɓukasz Langa Date: Fri, 7 Jun 2013 20:54:03 +0000 (+0200) Subject: moved the single-dispatch generic function definitions to the glossary X-Git-Tag: v3.4.0a1~552 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fdcf2b7d4e61a484bfae60222c7eec3ab2d9c009;p=python moved the single-dispatch generic function definitions to the glossary --- diff --git a/Doc/glossary.rst b/Doc/glossary.rst index 63f1021afc..0d3a5f54a6 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -302,6 +302,15 @@ Glossary >>> sum(i*i for i in range(10)) # sum of squares 0, 1, 4, ... 81 285 + generic function + A function composed of multiple functions implementing the same operation + for different types. Which implementation should be used during a call is + determined by the dispatch algorithm. + + See also the :term:`single dispatch` glossary entry, the + :func:`functools.singledispatch` decorator, and :pep:`443`. + + GIL See :term:`global interpreter lock`. @@ -745,6 +754,10 @@ Glossary mapping rather than a sequence because the lookups use arbitrary :term:`immutable` keys rather than integers. + single dispatch + A form of :term:`generic function` dispatch where the implementation is + chosen based on the type of a single argument. + slice An object usually containing a portion of a :term:`sequence`. A slice is created using the subscript notation, ``[]`` with colons between numbers diff --git a/Doc/library/functools.rst b/Doc/library/functools.rst index 5ee07a75c8..3d70955c58 100644 --- a/Doc/library/functools.rst +++ b/Doc/library/functools.rst @@ -189,12 +189,8 @@ The :mod:`functools` module defines the following functions: .. decorator:: singledispatch(default) - Transforms a function into a single-dispatch generic function. A **generic - function** is composed of multiple functions implementing the same operation - for different types. Which implementation should be used during a call is - determined by the dispatch algorithm. When the implementation is chosen - based on the type of a single argument, this is known as **single - dispatch**. + Transforms a function into a :term:`single-dispatch ` :term:`generic function`. To define a generic function, decorate it with the ``@singledispatch`` decorator. Note that the dispatch happens on the type of the first argument,