中首次提出了参数多态、特设多态、左值、右值等概念。1975年ML语言首次实现了参数多态。 现在，Standard ML, OCaml, F#, Ada, Haskell, Mercury, Visual Prolog, Scala, Julia等。Java, C#, Visual Basic .NET and Delphi引入了泛型作为参数多态。C++的模板特殊化这样的类型多态（type polymorphism）表面上类似于参数多态并同时引入了特设多态。
直谓与非直谓.S