Cursada 2018‎ > ‎Bitácora‎ > ‎

Clase 7 - Entrega de TP

publicado a la‎(s)‎ 8 may. 2018 3:36 por Nahuel Palumbo
Tuvimos la última entrega del TP de funcional. Muy buen trabajo de todos!!

Luego planteamos distintas versiones de la función esMultiploDe con sus explicaciones:
  esMultiploDe n m = (== 0) . rem n m
Esto NO tipa porque rem n m (al estar aplicado totalmente) ya es un número, y no se puede componer. Para salvar eso habría que cortar esa aplicación con unos paréntesis: esMultiploDe n m = ((== 0) . rem n) m

  esMultiploDe n = (== 0) . rem n
Esta solución compila perfecto. En esta versión point-free estamos pensando en términos de funciones: si necesitamos una función que nos diga si un número es múltiplo de otro, solo necesito saber ese número para armar la función (recibo un número y devuelvo una función). Así es como piensa un programador funcional!

  esMultiploDe = (== 0) . rem
Esto NO tipa porque, si pensamos que la función rem está currificada: la podríamos ver como una función que espera un parámetro y retorna otra función (la que espera el segundo parámetro), pero el (== 0) espera un número, no una función.
Comments