Programación Funcional - funcion predefinidad all

 
Vista:

funcion predefinidad all

Publicado por Javier (1 intervención) el 07/05/2007 14:52:11
buenas

tengo un conjunto de numeros en una lista de listas del siguiente modo [[1,2],[1,3],[2,3]]
y necesito una funcion que me diga si todas las sublistas son de la misma longitud utilizando la funcion del prelude "all"

longitud :: [[Int]] -> Bool
longitud [] = True
longitud (primero:resto) = all (== (length (primero))) (primero:resto)

me da este error

*** Expression : all (flip (==) (length primero)) (primero : resto)
*** Term : flip (==) (length primero)
*** Type : Int -> Bool
*** Does not match : [Int] -> Bool

alguien me ehca un cable?¿

gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:funcion predefinidad all

Publicado por meck (3 intervenciones) el 12/12/2007 00:09:16
Aunque es demasiado tarde, aqui tienes mi solución:

mismaLongitud :: [[a]] -> Bool
mismaLongitud lista = all (==(head lenS)) lenS
where lenS = [length y | y <- lista]

saludos,
meck!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar