V programování počítače je podpis typ definuje přijatelné datové typy pro funkci nebo metodu . Podpis zahrnuje alespoň název funkce a počet parametrů . V některých jazycích může také určit typ návratové hodnoty a typy jejích parametrů.
Typový podpis v Haskellu je obvykle napsán v následujícím formátu:
nomDeFonction :: typeArgument1 -> typeArgument2 -> ... -> typeArgumentNKonečný výstup lze považovat za argument. To je důsledek kari .
Specifikace typu se mohou skládat z typu, například Integer, nebo z typové proměnné v případě polymorfních funkcí. V Haskellu mohou být tyto typové proměnné zejména „a“, „b“ nebo „anyType“, abychom mohli psát:
Protože Haskell podporuje funkce vyššího řádu , lze funkce předávat jako argumenty. Toto je napsáno následovně:
nomDeFonction :: (a -> a) -> aTato funkce přijímá funkci s podpisem typu a -> aa vrací data typu a.
V JVM se interní podpisy typu používají k identifikaci metod a tříd na úrovni kódu virtuálního stroje.
Příklad:
Metoda String String.substring(int, int)je reprezentována jako java / lang / String / substring (II) Ljava / lang / String;