Module pynction.functors

Expand source code
from typing import Callable, Generic, TypeVar

from typing_extensions import Protocol

T_cov = TypeVar("T_cov", covariant=True)
T2 = TypeVar("T2")


class Functor(Generic[T_cov], Protocol):
    def map(self, f: Callable[[T_cov], T2]) -> "Functor[T2]":
        raise NotImplementedError

Sub-modules

pynction.functors.function

Classes

class Functor (*args, **kwargs)

Abstract base class for generic types.

A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::

class Mapping(Generic[KT, VT]): def getitem(self, key: KT) -> VT: … # Etc.

This class can then be used as follows::

def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default

Expand source code
class Functor(Generic[T_cov], Protocol):
    def map(self, f: Callable[[T_cov], T2]) -> "Functor[T2]":
        raise NotImplementedError

Ancestors

  • typing.Generic
  • typing_extensions.Protocol

Subclasses

Methods

def map(self, f: Callable[[+T_cov], ~T2]) ‑> Functor[~T2]
Expand source code
def map(self, f: Callable[[T_cov], T2]) -> "Functor[T2]":
    raise NotImplementedError