Miranda es un lenguaje de programación funcional creado en 1985 por David Turner como lenguaje funcional estándar. Tiene un estricto sistema de tipos polimórficos, admite tipos de datos de usuario. Al igual que el lenguaje ML , se enseña en muchas universidades. Los objetos funcionales se construyen usando curry (aplicación parcial) de funciones existentes. Tiene una semántica perezosa. El programa es un conjunto de definiciones.
Un sucesor de los lenguajes SASL y Kent Recursive Calculator , que utiliza algunos conceptos de ML y Hope . Tuvo una gran influencia en los desarrolladores del lenguaje Haskell .
El nombre de la lengua proviene del nombre de la heroína de la obra La tempestad de William Shakespeare , Miranda. En él, dice la frase "¡Brave new world!", que, según los creadores, debería llevar "brave new world a la programación funcional" [1] . Además, la heroína está representada en el logotipo del idioma.
Definir una función mapy luego aplicarla a una función que incrementa el argumento en dos:
mapa f [] = [] mapa f ( x : s ) = ( f x ) : ( mapa f s ) L = [ 1 .. 6 ] mapa (( + ) 2 ) L → [ 3 , 4 , 5 , 6 , 7 , 8 ]Los dos puntos definen la cabeza (primer elemento) y la cola (elementos posteriores) de una lista tanto en la composición como en la coincidencia de patrones. La función para incrementar el argumento en 2 se obtiene aplicando parcialmente una función primitiva +al argumento 2. La entrada [1..6] es una entrada abreviada [1, 2, 3, 4, 5, 6].
Ejemplo de expresión de lista :
[ norte + 2 | norte <- [ 1 .. 6 ] ] → [ 3 , 4 , 5 , 6 , 7 , 8 ]Lenguajes de programación | |
---|---|
|