Exercitium1-0.1.0.0: Problemas de Exercitium (Volumen 1)

CopyrightExercitium (23-05-14)
LicenseGPL-3
MaintainerJoseA.Alonso@gmail.com
Safe HaskellSafe
LanguageHaskell2010

Biparticiones_de_una_lista

Description

Definir la función

biparticiones :: [a] -> [([a],[a])]

tal que (biparticiones xs) es la lista de pares formados por un prefijo de xs y el resto de xs. Por ejemplo,

>>> biparticiones [3,2,5]
[([],[3,2,5]),([3],[2,5]),([3,2],[5]),([3,2,5],[])]
>>> biparticiones "Roma"
[("","Roma"),("R","oma"),("Ro","ma"),("Rom","a"),("Roma","")]

Synopsis

Documentation

biparticiones :: [a] -> [([a], [a])] Source #

1ª definición (con splitAt).

biparticiones2 :: [a] -> [([a], [a])] Source #

2ª definición (con inits y tails).

biparticiones3 :: [a] -> [([a], [a])] Source #

3ª definición (por recursión).

biparticiones4 :: [a] -> [([a], [a])] Source #

4ª definición (con liftA2).

biparticiones5 :: [a] -> [([a], [a])] Source #

5ª definición (con <$> y <*>).

prop_biparticiones :: [Int] -> Bool Source #

(prop_biparticiones xs) se verifica si las definiciones de biparticiones son equivalentes sobre xs. Por ejemplo,

>>> prop_biparticiones [3,2,5]
True

verifica_biparticiones :: IO () Source #

Comprueba la equivalencia de las definiciones de biparticiones.

>>> verifica_biparticiones
+++ OK, passed 100 tests.