Feu les funcions següents utilitzant funcions d’ordre superior (i altres funcions predefinides) de Clojure i sense utilitzar recursivitat.
Feu una funció @eql@ que indiqui si dues llistes d’enters són iguals.
Feu una funció @prod-of-evens@ que multiplica tots el nombres parells d’una llista d’enters.
Feu una funció @my-reverse@ que inverteix els elements d’una llista d’enters.
Feu una funció @scalar-product@ que calculi el producte escalar de dues llistes de reals de la mateixa mida.
Feu una funció @count-in@ que, donada una llista de llistes d’elements i un element ens torna la llista que indica quants cops apareix en cada llista de .
Feu una funció @first-word@ que, donat un string amb blancs i caràcacters alfabètics), en retorna la primera paraula.
Cada funció puntua 16 o 17 punts.
Input
(eql '(1 2 3) '(1 2 3)) (eql '(1 2 3) '(3 2 1)) (eql '(1 2 3) '(1 2 3 4)) (prod-of-evens '(2 10 5)) (scalar-product '(2.0 1.0) '(3.0 2.0)) (count-in '((3 2 3) (3) () (2 2)) 3) (first-word " Volem pa amb oli ")
Output
true false false 20 8.0 (2 1 0 0) Volem