(self, return_type, param_types)
return ty
Returns the singleton of the Function type with the given arguments.

        This function takes care of building and registering the type
        whenever needed. To see the functions provided by the type look at
        _FunctionType

        Note: If the list of parameters is empty, the function is
        equivalent to the return type.
Returns the singleton of the Function type with the given arguments.
Returns the singleton of the Function type with the given arguments .
def FunctionType(self, return_type, param_types):
        """Returns the singleton of the Function type with the given arguments.

        This function takes care of building and registering the type
        whenever needed. To see the functions provided by the type look at
        _FunctionType

        Note: If the list of parameters is empty, the function is
        equivalent to the return type.
        """
        param_types = tuple(param_types)
        key = (return_type, param_types)
        # 0-arity function types are equivalent to the return type
        if len(param_types) == 0:
            return return_type
        try:
            ty = self._function_types[key]
        except KeyError:
            assert_is_type(return_type, __name__)
            assert_are_types(param_types, __name__)
            ty = _FunctionType(return_type=return_type,
                               param_types=param_types)
            self._function_types[key] = ty
        return ty
def FunctionType ( self , return_type , param_types ) : param_types = tuple ( param_types ) key = ( return_type , param_types ) # 0-arity function types are equivalent to the return type if len ( param_types ) == 0 : return return_type try : ty = self . _function_types [ key ] except KeyError : assert_is_type ( return_type , __name__ ) assert_are_types ( param_types , __name__ ) ty = _FunctionType ( return_type = return_type , param_types = param_types ) self . _function_types [ key ] = ty return ty