Muchos lenguajes de programación funcionales tienen soporte para curried parameters. Para soportar funciones de currying, los parámetros de la función son esencialmente una tupla donde el último parámetro se puede omitir haciendo una nueva función que requiera una tupla más pequeña.¿Hay un lenguaje de programación que realiza currying cuando se omiten los parámetros nombrados?
Estoy pensando en diseñar un lenguaje que siempre use registros (también conocido como named parameters) para los parámetros de la función.
funciones matemáticas lo tanto simples en mi maquillaje creen idioma sería:
add { left : num, right : num } = ...
minus { left : num, right : num } = ..
Puede pasar en cualquier registro de esas funciones, siempre que tienen esos dos parámetros con nombre (que puede tener más justo "izquierda" y "correcto").
Si sólo tienen un parámetro llamado de la que crea una nueva función:
minus5 :: { left : num } -> num
minus5 = minus { right : 5 }
que pedir prestado algo de la notación de Haskell por encima.
¿Alguien ha visto un idioma que hace esto?
@Ken Bloom me puede ver cómo el uso del término "parcial La finalización de la función "es ambigua. En realidad, quise decir "Aplicación parcial" y tuve algún tipo de disonancia cognitiva y usé el término antes mencionado. Gracias por corregir eso. –