Donar $20 Donar $50 Donar $100 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: 75
Agradecimientos: 55 en 19 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.276
Agradecimientos dados: 151
Agradecimientos: 247 en 159 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: 75
Agradecimientos: 55 en 19 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.880
Agradecimientos dados: 216
Agradecimientos: 574 en 201 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: 75
Agradecimientos: 55 en 19 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: 75
Agradecimientos: 55 en 19 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: 75
Agradecimientos: 55 en 19 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.276
Agradecimientos dados: 151
Agradecimientos: 247 en 159 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: 316
Agradecimientos dados: 131
Agradecimientos: 92 en 39 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)



    This forum uses Lukasz Tkacz MyBB addons.