Topic: function signature

topics > computer science > data > Group: data type

procedure and type-valued variables

abstract functions
function syntax definition
generic operations and polymorphism
interface type
object-oriented data types
object-oriented methods
object-oriented templates and containers
procedure valued variables
type algebras, typed lambda calculus, and type-complete languages


A function signature identifies a function and the data types of its parameters. The signature may include the result type and thrown errors. A type or class signature lists the corresponding function signatures.

A function signature defines the function type. In functional languages, the function signature may be inferred.

The run-time system resolves polymorphic function calls by matching the actual arguments against the available function signatures. (cbb 7/06)

Subtopic: interface vs. implementation up

Quote: because of Java's late binding it is easy to change methods and private variables; just need to retain old methods or their type signatures [»goslJ6_1997]

Subtopic: type signature up

Quote: a type signature is its name and the signatures of all operations that use that type [»demeA3_1979]

Subtopic: message signature up

Quote: assign a abstraction signature to each message; a query scans the signature file and rejects nonqualifying messages [»faloC7_1987]

Subtopic: function signature up

Quote: the signature of a Russell procedure is the list of signatures of its parameters
Quote: in Guava every variable has a region type and every method has a region type signature
Quote: use SAME to indicate derived types in method signatures [»fricA4_2000]

Subtopic: function type up

Quote: the type of a function includes the types and modes of calling its parameters and the types of its results; it includes the domain and range of the function [»straC8_1967]
Quote: many types do not have explicit names; e.g., operator or function types [»kiebRB9_1973]
Quote: a function type is a cross product of its argument types to its result type [»kiebRB9_1973, OK]
QuoteRef: wirtN1_1971 ;;55 PROCEDURE ( ids:type; CONST id:type; VAR ids:type also FUNCTION,PROCEDURE local/literal definitions, type definitions variable definitions, procedure etc
QuoteRef: wirtN1_1971 ;;58 FUNCTION id (param list): result-type
QuoteRef: schuSA_1970 ;;12 procedures as a type value eg mode trigo is proc (real) real;

Subtopic: type checking a function call up

Quote: type checking in Russell consists of matching argument signatures with parameter signatures [»demeA3_1979]
Quote: argument and parameter signatures match if identical after transformation using renaming, reordering, and deletion [»demeA3_1979]

Subtopic: function overloading up

Quote: Russell can overload existing operators if they have different argument signatures
Quote: Dylan selects the function that best matches the arguments' type signature; may happen at compile time [»grayDN5_1998]
Quote: an operator can have a polymorphic type, i.e., a union of signatures with different operand types [»kiebRB9_1973]

Subtopic: expression signature, inferred type up

Quote: each Russell expression has a signature identifying the operations that can be performed on the expression's value [»donaJ7_1985]
Quote: all types may be inferred in CPL; allows any data source to be used as long as the inferred type and actual structure are compatible [»wongL9_2000]

Subtopic: parameterized type up

Quote: a scheme is a parameterized type that yields procedures, functions, types, and a signature [»demeA3_1979]

Subtopic: problems with signatures up

Quote: exception lists are too restrictive for function signatures; interacts with type system; preclude reuse; rebranding hides low-level errors; asynchronous exceptions

Related Topics up

Group: function   (12 topics, 232 quotes)
Group: procedure and type-valued variables   (4 topics, 95 quotes)

Topic: abstract functions (11 items)
Topic: function syntax definition (17 items)
Topic: generic operations and polymorphism (67 items)
Topic: interface type (50 items)
Topic: object-oriented data types (29 items)
Topic: object-oriented methods (42 items)
Topic: object-oriented templates and containers (27 items)
Topic: procedure valued variables (34 items)
Topic: type algebras, typed lambda calculus, and type-complete languages
(28 items)

Updated barberCB 3/06
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.