opciones - ¿Cuál es el estilo de polimorfismo de Haskell?
multiplicar haskell (1)
De hecho, Haskell admite tanto el polimorfismo paramétrico (rango superior) como el polimorfismo ad hoc (o limitado ). El polimorfismo paramétrico en Haskell se admite a través de su sistema tipo Hindley-Milner / System F. El polimorfismo ad hoc se admite a través de clases de tipo.
Para conocer el origen de las clases de tipos y el polimorfismo ad hoc, consulte los artículos de Wadler:
- Cómo hacer que el polimorfismo ad hoc sea menos ad hoc , Philip Wadler y Stephen Blott. 16º Simposio sobre Principios de Lenguajes de Programación, ACM Press, Austin, Texas, enero de 1989.
Para el origen de la distinción entre polimorfismo paramétrico y ad hoc, puede desenterrar los documentos de Strachey,
- C. Strachey, Conceptos fundamentales en lenguajes de programación . Apuntes para la Escuela Internacional de Verano en Programación de Computadoras, Copenhague, agosto de 1967
Con las clases de tipos de Haskell casi parece que permite el polimorfismo ad hoc, pero sus declaraciones de funciones parecen polimorfismo paramétrico. ¿Estoy mezclando mi comprensión de cosas diferentes?