Здравствуйте, korvin_, Вы писали:
_>Вариант №1:
_>_>let add x xs = List.append xs [x]
_>let () =
_> let xs = [] in
_> let xs = xs |> add 1 |> add 2 |> add 42 in
_> printfn "%A\n" xs
_>
_>=>
_>Вариант №2:
_>_>let (++) xs x = List.append xs [x]
_>let () =
_> let xs = [9000] in
_> let xs = xs ++ 1 ++ 2 ++ 42 in
_> printfn "%A\n" xs
_>
_>=>
_>_>[1; 2; 42]
_>
Это какой язык? Сходу непонятно. Тут-то речь идёт о C++ и его волшебной const-магии.
Когда у вас в язык встроен иммутабельный список с заранее оптимизированными add, то вопросов нет. Интересно становится, когда он
не встроен.