Haskell — Cua (2)

Continuem el problema Haskell — Cua (1). En aquest problema tenim les
cues representades en la forma

    cua = Queue [2,8,5] [4,7]

Es demana el codi de diverses funcions i instanciacions. Seguiu el
format dels exemples que es mostren als exemples.

1.  Feu que Queue sigui instància de la classe Functor. Per això
    implementeu la funció fmap que, donada una funció de tipus p -> q i
    un Queue d’elements de tipus p, retorna un Queue de tipus q
    resultant d’aplicar la funció a tots els elements de la cua.

2.  Feu una funció translation :: Num b => b -> Queue b -> Queue b que
    aplica una translació a tots els punts d’una cua (que serà el segon
    paràmetre).

3.  Feu que Queue sigui instància de la classe Monad. Per a resoldre
    aquest apartat, pot ser útil fer una operació que faci la unió de
    dues cues del mateix tipus.

4.  Feu, utilitzant la notació do, una funció
    kfilter :: (p -> Bool) -> Queue p -> Queue p que selecciona tots els
    elements d’una cua que satisfan una propietat donada.

Les dues funcions valen 50 punts.

Observació

Informació del problema

Autoria: Gerard Escudero

Generació: 2026-02-03T17:09:55.837Z

© Jutge.org, 2006–2026.
https://jutge.org
