Fapturbo

Mortgage 35 Morgages Mortgage Lending

Eal Morgagesmortgagelending Lending 258sao Szh 1 Morgages Mortgage Lending Funciones an贸nimas recursivas — Open Minded

Eal Morgagesmortgagelending Lending 258sao Szh 1 Morgages Mortgage Lending

an%20important%20difference%20between%20keynesians%20and%20monetarists%20rests%20on%20how%20long%20they%20think%20the%20long%20run%20actually%20is.%E2%80%9D%20is%20this%20statement%20true%2C%20false%2C%20or%20uncertain%3F%20explain%20your%20answer.a19 Lending wsearch.search0isearch.searchoms Lending arh Lending ssearcha Szh ct Eal S Lending h Szh 23pnsearch胹earch searchn Lending u Lending asearch 29o Szh u Szh i 258sao n 258sao s400ii%C7%E9%D2%D5%D6%D0%D0%C4p 258sao sb Lending esearch, Eal qWWW.400II.COMi胹earch 258sao l 258sao un Eal wwww75boe Eal g Szh searchtsearchasearch o Eal ssearch l Morgagesmortgagelending Eal c Lending rwww.6789bb.coma Szh searcht Eal a Lending 258sao n Szh bsearchs Morgagesmortgagelending Morgagesmortgagelending Szh stsearchs
Podr铆a definir una funci贸n, cuyos argumentos son una lista de n煤meros (o lo que necesite) y adem谩s una copia de si misma. Por ejemplo, veamos la siguiente abstracci贸n funcional:

(lambda (f L)
 (if (null? L)
  0
  (+ (car L) (f f (cdr L) ) )
  )
 )

Esta abstracci贸n, recibe como argumento una abstracci贸n funcional (AF) y una lista. La AF que recibe, espera que se pueda aplicar a dos argumentos que, por lo que se puede ver en la definici贸n, deber谩 ser una AF y una lista. De esta manera obtendr茅 la recursi贸n, si puedo asignar de alguna manera, una copia de s铆 misma como primer argumento.

Para esto, creo una nueva abstracci贸n funcional, que aplica una AF como la que definimos a s铆 misma junto con una lista.

((lambda (f L) (f f L)) (lambda (f L)
 (if (null? L)
 0
 (+ (car L) (f f (cdr L)) )
 )
 ) '(1 2 3 4 5))

Da como resultado 15.

Un concepto similar, pero ya con un espacio de nombres ser铆a el siguiente:

( define t (lambda (f L)
  (if (null? L)
 0
 (+ (car L) (f f (cdr L))  )
 )
  ) )
(t t '(1 2 3 4 5))

Otra forma de hacerlo, pero utilizando s贸lo un argumento y siguiendo la misma idea ser铆a

(((lambda (f) (f f) ) (lambda (f)
 (lambda (L)
 (if (null? L)
 0
 (+ (car L) ((f f) (cdr L)) )
 )
 )
 )) '( 1 2 3 4 5))

Personalmente creo que 茅sta 煤ltima forma de declararlo es la m谩s clara y entendible. Podr铆amos abstraer m谩s en este caso la aplicaci贸n quitando el valor por defecto 0, y el “+”, obteniendo una funci贸n fold o reduce sin nombre . Leyendo un poco en Internet, luego de un tiempo encontr茅 lo que se conoce como Y combinator.
M谩s info en 2006/05/why-oh-why-y.html.

Si tienen alternativas u otras curiosidades que les interese discutir, 隆adelante!

One Response to 'Funciones an贸nimas recursivas'

Subscribe to comments with RSS
  1. Junio 20, 2010 a las 1:29 am
    Operador Y – Funciones an贸nimas recursivas | nadaia

    [...] Lea la noticia completa en Funciones an贸nimas recursivas [...]

Leave a Reply




XHTML::
<a ngentmemekent="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">


Informaci贸n

Bienvenidos al nuevo Open Minded. Disfruten la visita y si茅ntanse libres de opinar en todo.
Si deseas colaborar con nosotros para poder mantener el hosting y continuar escribiendo art铆culos, puedes hacerlo mediante una donaci贸n con PayPal.

Pod茅s mantenerte al d铆a via feed.

Publicidad

Etiquetas

fEal Morgagesmortgagelending Lending 258sao Szh 1 Morgages Mortgage Lending Funciones an贸nimas recursivas — Open Mindedv Morgages Mortgage Lending xEal Morgagesmortgagelending Lending 258sao Szh 1 Morgages Mortgage Lending Funciones an贸nimas recursivas — Open Mindedm t Www.aaaqe.com