Type Signature

A type signature defines the inputs and outputs for a function or method. Type signatures may appear to be extremely restrictive but they allow for effortless code re-use, in that given a function that performs a certain task, it can reliably be swapped with any other code that matches this type signature and the overall functionality of the entire program can be assured (given that both functions operate properly). A type signature includes the function name and the number of its parameters. In some programming languages, it may also specify the function's return type or the types of its parameters.

Haskell

A type signature in Haskell is written, generally, in the following format:
  functionName :: arg1Type -> arg2Type -> ... -> argNType 
Notice that the final output can be regarded as an argument. This is a consequence of currying. That is, given a function that had one arguments supplied, but takes in two inputs, the function is "curried" and becomes a function of one argument -- the one that is not supplied. The actual type specifications can consist of an actual type, such as Integer, or a type variable that is used in parametric polymorphic functions, such as "a", or "b", or "anyType". So we can write something like:
  functionName :: a -> a -> ... -> a 
Since Haskell supports higher-order functions, functions can be passed as arguments, and this is written as:
  functionName :: (a->a) -> a 
This function takes in a function with type signature a -> a, and returns data of type "a" out.

Java

In the Java virtual machine, so-called internal type signatures are used to identify methods and classes at the level of the virtual machine code. Example: The method String String.substring(int, int) is represented as java/lang/String/substring(II)Ljava/lang/String;

 

<< PreviousWord BrowserNext >>
crash (computing)
bus error
abigail williams
quantum state
betty parris
benigno aquino iii
ec on the protection of personal data
truncated tetrahedron
truncated octahedron
james gillray
lemuel francis abbott
johan tzerclaes, count of tilly
henry william bunbury
digital piano
homeowners association
george brydges rodney, 1st baron rodney
franois joseph paul, marquis de grasetilly, comte de grasse
samuel hood, 1st viscount hood
luc urbain de bouexic, comte de guichen
the patriotic song
chef
tty
pattern matching
puerto galera
type inference
richard kempenfelt
ludwig blkow
louis philip ii, duke of orlans
adrien duport
tienne charles de lomnie de brienne
princess alexandra of kent
hms royal sovereign
louis philip i, duke of orlans
royston
mechanical ventilation
oceania football confederation
alexandre thodore victor, comte de lameth
cokernel
eileen o'shaughnessy
malay people
decompiler
fredholm operator
antoine de rivarol
united torah judaism