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
Funciones haskell
Autor Mensaje
facundoaita Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 71
Agradecimientos dados: 73
Agradecimientos: 63 en 20 posts
Registro en: Sep 2011
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #1
Funciones haskell Apuntes y Guias Paradigmas de Programación
Estoy cursando la materia los días lunes por la noche con la profesora Andrea Fleischman (ayudante: Uriel Myslev).
Decidí armar una lista de funciones haskell que vimos en clase hasta ahora.
Me pareció que podía ser de utilidad para alguno así que lo comparto.
Iré actualizando a medida que pasan las clases, pero el link del archivo va a seguir siendo el mismo.

Si desean contactarme: Yahoo! Mail Gmail



Lista de funciones para Haskell
(Este mensaje fue modificado por última vez en: 16-04-2013 15:01 por facundoaita.)
16-04-2013 14:51
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] facundoaita recibio 4 Gracias por este post
max80 (16-04-2013), brunodiaz (16-04-2013), nanuiit (16-04-2013), acuadro (16-04-2013)
Desert69 Sin conexión
Presidente del CEIT
Sin estado :( / "Anarquia...
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.477
Agradecimientos dados: 230
Agradecimientos: 346 en 207 posts
Registro en: Jun 2008
Mensaje: #2
RE: Funciones haskell
Facu, buenísima la iniciativa.

Fijate que por algún lado está la Guía de Lenguajes, que es más o menos un resumen de las funciones, predicados y mensajes copados que está bueno tener a mano para los parciales y finales (se pueden usar).

Salute!

[Imagen: a2.php]
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
16-04-2013 15:26
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
facundoaita Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 71
Agradecimientos dados: 73
Agradecimientos: 63 en 20 posts
Registro en: Sep 2011
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #3
RE: Funciones haskell
Aaah buenisimo.
Gracias por el comentario y la info Desert69.
16-04-2013 15:29
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Ichiluk Sin conexión
Campeon del cubo Rubik
Metametaprogramando.
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 134
Agradecimientos dados: 5
Agradecimientos: 21 en 18 posts
Registro en: Apr 2008
Mensaje: #4
RE: Funciones haskell
Algunas cosas para tener en cuenta:



tomar n xs
| n > 0 = head xs : tomar (n-1) (tail xs)
| otherwise = []


Esta función viene con haskell, se llama take.
Ojo también con los pipes (las barras verticales de las guardas), tienen que estar a la misma altura y no al principio... Haskell es tabulado y bien puto en ese aspecto.



productoria (x:xs) = x * productoria (xs)
productoria [] = 1


Esta también viene con haskell, es product.


esPrimo n = primoAux n (n-1)
esPrimo 1 = True
primoAux 1 _ = True
primoAux n i
| i == 1 = True
| mod n i == 0 = False
| otherwise = primoAux n (i-1)

Ahí no hace falta el caso base en la definición de esPrimo, porque no es recursivo, y si le mandás un 1 en esPrimo entra por el caso base de primoAux.
Y un tema de estilos, en lugar de primoAux yo le pondría esPrimo2 (porque tiene 2 parámetros), o esPrimo' (haskell acepta los ' en los nombres de las funciones).


Por otro lado, la mayoría de las funciones no te van a hacer falta la próxima clase, porque las podés hacer con orden superior =P


De todas formas, grosa iniciativa =D
(Este mensaje fue modificado por última vez en: 16-04-2013 15:40 por Ichiluk.)
16-04-2013 15:38
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.871
Agradecimientos dados: 216
Agradecimientos: 627 en 211 posts
Registro en: Aug 2010
Mensaje: #5
RE: Funciones haskell
Eso se lo tenés que corregir a Fleischman =P

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
16-04-2013 15:52
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
facundoaita Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 71
Agradecimientos dados: 73
Agradecimientos: 63 en 20 posts
Registro en: Sep 2011
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #6
RE: Funciones haskell
Ichiluk,
Gracias por la revisión. Recién voy por la segunda clase y no conocía las funciones esas.
Igualmente las voy a dejar porque lo interesante también esta en ver como codearlas.
Arregle la linea innecesaria de esPrimo pero primoAux lo bautizó la profesora.

muchas gracias
16-04-2013 15:58
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
acuadro Sin conexión
Militante
volviendo al ruedo
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 81
Agradecimientos dados: 35
Agradecimientos: 4 en 4 posts
Registro en: Jan 2013
Mensaje: #7
RE: Funciones haskell
mismo curso... no me gustó nada Fleischman
=(
16-04-2013 15:58
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
facundoaita Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 71
Agradecimientos dados: 73
Agradecimientos: 63 en 20 posts
Registro en: Sep 2011
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #8
RE: Funciones haskell
Shh! podría estar leyendo esto. Pero en realidad me gustaría estar cursando con Alf.
16-04-2013 16:07
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
acuadro Sin conexión
Militante
volviendo al ruedo
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 81
Agradecimientos dados: 35
Agradecimientos: 4 en 4 posts
Registro en: Jan 2013
Mensaje: #9
RE: Funciones haskell

Off-topic:
Totalmente! igual nunca sabrá quién soy (?)
que no supiera usar el notepad, me puso nervioso...


Muy bueno lo de ir teniendo las funciones!
Ichiluk, si bien Haskeel ya tiene esas funciones, la idea era que viéramos cómo hacer los ejercicios sin usarlas =)

Aprovecho para hablar de la tarea:

--Dada una [] devolver otra [] con los n>0.
Spoiler: Mostrar
positivosLista [] = []
positivosLista (x:xs)
|x>0 = x: positivosLista xs
|otherwise = positivosLista xs

--Sumar la longitud de una [] de palabras.
Spoiler: Mostrar
sumarLong [] = 0
sumarLong (x:xs) = length x + sumarLong xs

y en esta tengo una duda:
--La multiplicación de todos los elementos de una []
Spoiler: Mostrar
produList [] = 1
produList (x:xs) = x * produList xs
--el problema es que si el producto de la lista vacía vale "0" (como corresponde), como toda lista es la concatenación de sus miembros con la lista vacía, me multiplica todo por "0", y me da siempre "0". Algua idea de cómo hacer que la lista vacía valga "0", pero que sea posible hacer el producto de todos los miembros de una lista?
(Este mensaje fue modificado por última vez en: 16-04-2013 17:01 por acuadro.)
16-04-2013 16:17
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
facundoaita Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 71
Agradecimientos dados: 73
Agradecimientos: 63 en 20 posts
Registro en: Sep 2011
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #10
RE: Funciones haskell
Los primeros 2 están bien, son tal cual los puse en la tabla. El último yo lo puse igual prometiendo cambiarlo mas adelante y me olvide. una solución podría ser.


productoria [] = 0
productoria (x:xs) = produList (x:xs)
produList [] = 1
produList (x:xs) = x * produList xs

16-04-2013 17:52
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] facundoaita recibio 1 Gracias por este post
acuadro (16-04-2013)
Desert69 Sin conexión
Presidente del CEIT
Sin estado :( / "Anarquia...
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.477
Agradecimientos dados: 230
Agradecimientos: 346 en 207 posts
Registro en: Jun 2008
Mensaje: #11
RE: Funciones haskell

Off-topic:
Vivos, yo también quiero cursar con Alf. Lástima que el muy forro no da AM1, ni ADR, ni TGC. Debería dar todas las materias, a medida que se lo pido. Pero bue, es forro así =P

[Imagen: a2.php]
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
17-04-2013 00:48
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Ichiluk Sin conexión
Campeon del cubo Rubik
Metametaprogramando.
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 134
Agradecimientos dados: 5
Agradecimientos: 21 en 18 posts
Registro en: Apr 2008
Mensaje: #12
RE: Funciones haskell
Si si, no hay problema. Pasa que es recursividad, y la verdad es que no vale la pena darle taaaaaaanta bola a la recursividad. Dale mas bola a composición, aplicación parcial, orden superior y expresiones lambda =D


Y si querés hacer recursividad y ver si entendiste, armate el append:


append [1,2,3,4] [5,6]
[1,2,3,4,5,6]

append [6,5,8] [1,2,4,7,5]
[6,5,8,1,2,4,7,5]

append "hola " "mundo"
"hola mundo"


(también viene con haskell, es la función ++ =P)
18-04-2013 16:00
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
acuadro Sin conexión
Militante
volviendo al ruedo
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 81
Agradecimientos dados: 35
Agradecimientos: 4 en 4 posts
Registro en: Jan 2013
Mensaje: #13
RE: Funciones haskell

Off-topic:
bueno, en base al email de la Lic Fleischman, alguien que quiera ser la mitad de los integrantes del grupo de dos personas para entregar el TP1?
(Este mensaje fue modificado por última vez en: 23-04-2013 19:59 por acuadro.)
23-04-2013 19:58
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
pablosreitano Sin conexión
Profesor del Modulo A
trust me i am an engineer
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 320
Agradecimientos dados: 134
Agradecimientos: 106 en 44 posts
Registro en: Sep 2008
Mensaje: #14
RE: Funciones haskell
Busquen a alguno de los "quique boys" y sean FELICES! =)

'Pablito R'
28-04-2013 18:33
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




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