summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/glossary.rst13
-rw-r--r--Doc/library/functools.rst8
2 files changed, 15 insertions, 6 deletions
diff --git a/Doc/glossary.rst b/Doc/glossary.rst
index 63f1021..0d3a5f5 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 5ee07a7..3d70955 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 <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,