Dunque sto seguendo (a lezione in università) le seguenti slide:

http://www.cs.nott.ac.uk/~gmh/book.html

Arrivato al capitolo 5, sulla comprensione delle liste, mi da il seguente esercizio:

Using a list comprehension, define a function that returns the scalar product of two lists.


Dove per prodotto scalare di due liste intende la sommatoria del prodotto membro membro delle due liste (sono so come copia-incollarvi la formula, ad ogni modo vi ho likato le slide ).

Ora io volevo scomporre il problema in:

1. Funzione che fa il prodotto membro membro;
2. Funzione che applica il prodotto membro membro a tutti i numeri delle due liste e ne restituisce la sommatoria.

Il punto uno l'ho sviluppato in questo modo:

codice:
single_product xs ys i = (xs !! i) * (ys !! i)
Ora quello che non saprei proprio come fare è il punto due, ovvero, come faccio a dire di applicare questo tante volte quanto sono lunghe le due liste (che per forza di cose devono essere lunghe uguali) e fargli fare la somma volta per volta??

A me non viene in mente nulla, qualche aiutino?

Vi ringrazio in anticipo,
Neptune.