Definizione alternativa in caml

Dadde11
Salve. Mi si è presentato questo esercizio in caml.

Una definizione alternativa di filter può essere data utilizzando concat e map:
let filter p = let box x = ...
in compose concat (map box)
Si completi la definizione.

Potete aiutarmi gentilmente??? Grazie.

Risposte
hamming_burst
di quale filter parli? Quella interna al modulo List, cioè che si può chiamare con List.filter?

# List.filter;;
- : ('a -> bool) -> 'a list -> 'a list = <fun>

ceragioli1
let filter1 p=
let box x= if (p x) then [x]
else[]
in
compose concat (map box);;

Dadde11
Ottima e perfetta soluzione!!! Grazie davvero!!!

ceragioli1
Non ti preoccupare quest anno ho preparato un esame in caml e lo stesso esercizio tribolai a farlo durante la mia preparazione, così ho deciso dimetterlo per i prox che lo troveranno

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.