Я занят изучением очень анемичного проекта F #, предоставленного MS в VS 2010 Beta 2, и наткнулся на то, что требует некоторого объяснения:
let rec SumList xs =
match xs with
| [] -> 0
| y::ys -> y + SumList ys
Я предполагаю, что совпадение - это что-то вроде переключения в других языках, когда пустой список приводит к возвращаемому значению 0, но второй случай меня очаровывает. Означает ли это, что «runtime | интерпретатор» оценивает аргумент соответствия как y cons ys или, скорее, как «если аргумент имеет форму y cons ys », повторяется с y и да?