Я выполнял задание для своего класса, где я должен сложить все элементы в списке. Я был озадачен тем, как это сделать, поскольку мне сказали, что вы не можете получить доступ к отдельным элементам в списке, как, например, в Python.
Я обнаружил, как большинство людей делает это, используя что-то вроде следующего
let rec list_sum lst =
match lst with
| [] -> 0
| hd :: tl -> hd + list_sum tl
Мой вопрос: откуда берутся hd и tl? Люди, которые написали код, никогда не предопределяли эти переменные или что-то в этом роде, поэтому вы можете просто написать их так? Откуда они знают, о каком списке вы говорите?