WARNING:
JavaScript is turned OFF. None of the links on this concept map will
work until it is reactivated.
If you need help turning JavaScript On, click here.
Este Cmap, tiene información relacionada con: 8.4 - Procedimientos de orden superior en Scheme, Capítulo 4 .- Procedimientos de orden superior en Scheme 4.9. Resumen La forma especial de Scheme lambda define funciones en tiempo de evaluación, sin necesidad de darles un nombre. Esto es útil para la definición de funciones que se utilizarán por única vez., Capítulo 4 .- Procedimientos de orden superior en Scheme 4.1. Listas en Scheme - Las funciones car y cdr devuelven el primer elemento de la lista y el resto de la lista; mientras que la función length devuelve el tamaño de la lista > (car a) 1 > (cdr a) (2 hola que tal) > (length a) 5, Capítulo 4 .- Procedimientos de orden superior en Scheme 4.7. Funciones que devuelven funciones se puede observar una función que, cuando se evalúe, va a realizar una llamada a lambda y va a devolver el resultado de esta llamada: una función g., Capítulo 4 .- Procedimientos de orden superior en Scheme 4.4. Filtro sobre elementos de una lista Esto puede ser generalizado escribiendo una función filter que tome una función predicado como argumento adicional., Capítulo 4 .- Procedimientos de orden superior en Scheme 4.7. Funciones que devuelven funciones (define (compose f g) (lambda (x) (f (g x) ) ) ) (define (trice f) (compose f f) ) (define (make-adder n) (lambda (x) (+ x n) ) ), Capítulo 4 .- Procedimientos de orden superior en Scheme 4.3. Funciones como argumentos De esta manera se le puede pasar a la función sum un primer argumento con la función que queremos que sume: (define (cuadrado x) (* x x) (define (cubo x) (* x x x) ) > (sum cuadrado 1 10) 385 > (sum cubo 1 10) 3025, Capítulo 4 .- Procedimientos de orden superior en Scheme 4.4. Filtro sobre elementos de una lista las funciones toman una lista como argumento y filtra la lista para devolver una lista más pequeña que contiene solo algunos elementos de la lista original., Capítulo 4 .- Procedimientos de orden superior en Scheme 4.9. Resumen Las funciones son objetos primitivos en Scheme y pueden ser usadas como un argumento, pueden incluso devolverse como resultado de una función o asignarse como variables., Capítulo 4 .- Procedimientos de orden superior en Scheme 4.2. Funciones como datos de primera clase Scheme considera a las funciones como datos y cambia completamente la visión más habitual de los lenguajes de programación procedurales; donde una función es un proceso y existe una clara y concreta diferencia entre datos y programa., Capítulo 4 .- Procedimientos de orden superior en Scheme 4.7. Funciones que devuelven funciones Es importante observar que la llamada a lambda no se hace en tiempo de definición de la función, sino cuando la función se evalúa con algunos argumentos. Esto quiere decir que la función que se devuelve se construye en forma dinámica y dependerá de los argumentos que se pasen a la función principal., Capítulo 4 .- Procedimientos de orden superior en Scheme 4.9. Resumen Asimismo, en este capitulo se ha revisado la forma especial de let, que permite definir variables cuyo ámbito es la evaluación de una expresión., Capítulo 4 .- Procedimientos de orden superior en Scheme 4.6. Tipos de datos de primera clase En el lenguaje Scheme las funciones si son de primera clase, Capítulo 4 .- Procedimientos de orden superior en Scheme 4.6. Tipos de datos de primera clase Se puede considerar n tipo de dato de primera clase en un lenguaje: - El valor de una variable (puede ser nombrado o referido). - Un argumento de una función. - El valor que devuelve una función. - El componente de una estructura de datos mayor., Capítulo 4 .- Procedimientos de orden superior en Scheme 4.1. Listas en Scheme - Para crear una lista se debe usar: (define a (list 1 2 'hola 'que 'tal) ) O También: (define a ' (1 2 hola que tal ) ), Capítulo 4 .- Procedimientos de orden superior en Scheme 4.8. Let Esta palabra Let es una forma especial de Scheme. Esta palabra permite llamar a una expresión (el cuerpo de let) después de haber declarado unos valores para unas variables que se usan en esta expresión. La de estos valores es local a la ejecución de let. Cuando let es evaluada, los valores no se conservan, haciendo posible uno de los principios de la programación funcional., Capítulo 4 .- Procedimientos de orden superior en Scheme 4.5. Funciones sin nombre Lambda es una forma especial, la lista de parámetros formales no se evalúa, pero el cuerpo de la función tampoco se evalúa cuando se escribe lambda. Solo podemos evaluar su cuerpo cuando se llama a la función.