(Untitled)

Jan 15, 2019 20:47

Не только лишь все знают, что в Ocaml'е параметры функций ( Read more... )

Leave a comment

Comments 3

iamjaph January 16 2019, 08:16:54 UTC
А когда вы, обычно, используете f (x, y), а когда f x y?
Сам вижу ясно только случаи:
* первый - когда (x, y) - это тип
* второй - когда реально нужно каррирование для передачи f x куда-то.
А вот в других вариантах трудно определиться.

Reply

rdia January 16 2019, 11:28:16 UTC
Сейчас традиционно используется второй вариант f x y. Это практичнее, поскольку язык позволяет делать частичное применение. То есть, вместо

let result = List.map (fun y -> f(1,y)) []

писать

let result = List.map (f 1) []

Если частичным применением ее злоупотреблять, то получается проще и приятнее для чтения.

Поэтому сейчас в кортеж оборачивается строго по нужде - когда надо вернуть из функции несколько значений. Или, как вы говорите - тип такой.

Из типовых ситуаций, на ум приходит лишь fold_left, с хитрым аккумулятором.

Reply

iamjaph January 16 2019, 12:34:39 UTC
Спасибо.

Reply


Leave a comment

Up