Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Consulta composición de funciones y "$"
Autor Mensaje
Baron Bomadil Sin conexión
Militante
We are out of coffee
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 94
Agradecimientos dados: 16
Agradecimientos: 9 en 9 posts
Registro en: Jul 2013
Mensaje: #1
Consulta composición de funciones y "$" Ejercicios Paradigmas de Programación
Buenas gente, estaba haciendo un final de paradigmas y ante la aburrición me puse a pelotudear con Haskell. El tema es el siguiente

Yo hago

head ( filter ((==2).snd) [(1,5),(1,2)] )

Eso funca y me tira (1,2)

Ahora, digo, mejor me ahorro unos paréntesis y compongo head con filter

head . filter ((==2).snd) [(1,5),(1,2)]

Pero eso no funca, lo que para mi no tiene sentido ya que la definicion de (.) es
(.) f g = (\x -> f ( g x) )

Además el intérprete me tira el error en
(filter ((==2).snd)) [(1,5),(1,2)]

Pero si le tiro eso solo de consulta me tira el resultado correcto, por ende el head tendria que funcionar...

Entonces me puse a chusmear y encontré la funcion $ cuya definicion es:
$ f x = f x

Si hago

head . filter ((==2).snd) $ [(1,5),(1,2)]

Mágicamente funciona, y no entiendo por qué

Help? =(

pd: no se qué onda pero no me aparece en el editor para ponerle la etiqueta de código haskell
(Este mensaje fue modificado por última vez en: 13-12-2013 22:39 por Baron Bomadil.)
13-12-2013 22:35
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Roma Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3
Agradecimientos dados: 1
Agradecimientos: 1 en 1 posts
Registro en: Apr 2010
Mensaje: #2
RE: Consulta composición de funciones y "$"
el problema es que te faltaron parentesis =)
Probá:


(head . filter ((==2).snd)) [(1,5),(1,2)]

(Este mensaje fue modificado por última vez en: 13-12-2013 23:19 por Roma.)
13-12-2013 23:18
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Roma recibio 1 Gracias por este post
Baron Bomadil (13-12-2013)
Baron Bomadil Sin conexión
Militante
We are out of coffee
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 94
Agradecimientos dados: 16
Agradecimientos: 9 en 9 posts
Registro en: Jul 2013
Mensaje: #3
RE: Consulta composición de funciones y "$"
Arrelocooouououououou me compliqué todo por unos paréntesis =P gracias!
13-12-2013 23:26
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 2 invitado(s)