
Nikolay
09.01.2018
08:11:41

Pavel
09.01.2018
08:12:05

Anna
09.01.2018
08:12:09

Google

Pavel
09.01.2018
08:14:11
и он предлагает собственно тоже самое "Ограничение значения"

Anna
09.01.2018
08:15:48
Выражения, которые обобщаются автоматически, ограничиваются синтаксическими значениями.

Pavel
09.01.2018
08:16:34
"Ограничение значения" а это в русском настолько размытое сочетание что его можно трактовать как угодно

Anna
09.01.2018
08:17:02

Evgeniy
09.01.2018
08:22:48
@AnutaU Я бы оставил перевод как у Пирса.

Anna
09.01.2018
08:24:32

Evgeniy
09.01.2018
08:26:44

Anna
09.01.2018
08:27:47

Evgeniy
09.01.2018
08:29:51
А про мою претензию к термину что думаешь?
Ну, если исходить из того, что в let выражении справа у нас должны быть синтакчисеские значения, то перевод "ограничение значениями" выглядит логично. Но я думаю, мы что-то можем упускать.

Anna
09.01.2018
08:31:33
Я не претендую, конечно, на абсолютную правоту, и с бородатыми дядями спорить по поводу терминологии не очень хочу, но три семестра стилистики перевода слегка заразили меня перфекционизмом ? + природное занудство

Google

Nikolay
09.01.2018
08:33:55

Evgeniy
09.01.2018
08:34:22

Anna
09.01.2018
08:37:01

Evgeniy
09.01.2018
08:37:18
@AnutaU Возможно, имеется в виду, что значение (value) справа в let выражении должны быть syntactic (оно же nonexpansive expression). Именно в этом состоит ограничение.

Anna
09.01.2018
08:42:27

Evgeniy
09.01.2018
08:45:45
То же с ref.

Anna
09.01.2018
08:47:06
В общем, надо ещё подумать хорошенько

Evgeniy
09.01.2018
08:50:54
Там есть ключевое слово val, которое задает value declaration.

Anna
09.01.2018
08:53:23

Evgeniy
09.01.2018
08:53:46
Чтобы была возможность полиморфно обобщать value declatation существует правило — value restriction.
В смысле ограничения на values, объявляемые с помощью val.
Правило состоит в том, что для полиморфного обобщения справа в выражении должны быть syntactic values (nonexpansive expressions).
В описании Standard ML есть разделение на expansive и non-expansive expressions.
Отдельного термина для не синтаксического значения там, конечно, нет.
Но это именно разделение, описанное в стандарте.

Google

Anna
09.01.2018
09:06:19
В описании Standard ML есть разделение на expansive и non-expansive expressions.
С этим я не спорю. Но это именно про выражения речь, а собственно value, которое получается в результате, уже ничем не отличается. Грубо говоря, syntactic value - это сущность, которую мы отличаем во время компиляции. А уже в рантайме это самое выражение будет вычислено, и получится просто value. И ограничение идёт не на эту вычисленную value, а на само выражение, ещё до того, как оно будет вычислено

Evgeniy
09.01.2018
09:08:27
Считай, что это сокращение от value declaration restriction. ;)
Ну, не знаю, я себе так объясняю русский перевод в Пирсе.

Anna
09.01.2018
09:10:24
А ты мой перевод смотрел?

Evgeniy
09.01.2018
09:13:15
Пока по диагонали. На каникулах тяжело что-то общественно полезным заниматься.
На днях посмотрю внимательнее. Если какие-нибудь исправления будут, я тебе PR отправлю. :)

Anna
09.01.2018
09:14:07

Evgeniy
09.01.2018
09:37:25

Andrew
09.01.2018
09:39:05

Evgeniy
09.01.2018
09:41:11
Киньте ссылку, почитаю
https://github.com/AnnaUdovichenko/translations/blob/master/Finer%20Points%20of%20F%23%20Value%20Restriction/Finer%20Points%20of%20F%23%20Value%20Restriction.md

Andrew
09.01.2018
10:33:21
Закинул пулл-реквест
Очень качественный перевод, поправил только пару мелочей

Anna
09.01.2018
10:34:24
@impworks оооо спасибо!
Я хочу ещё на досуге примеры кода все перепроверить, но пока руки не дошли

Andrew
09.01.2018
10:35:27
Всегда пожалуйста, обращайся :)

Sergey
09.01.2018
12:01:03

Evgeniy
09.01.2018
12:59:11
https://twitter.com/enricosada/status/950709161234436097
Ух!

Anna
10.01.2018
09:02:51

Google

Pavel
10.01.2018
11:19:44
чтото тут не так

Anna
10.01.2018
11:45:23

Pavel
10.01.2018
11:51:28
А оригинал это кто?

Anna
10.01.2018
11:51:59
Оригинал статьи вот https://blogs.msdn.microsoft.com/mulambda/2010/05/01/finer-points-of-f-value-restriction/

A64m
10.01.2018
11:57:12
я думаю, что в этой статье type function употребляется неверно

Anna
10.01.2018
11:58:35
Значит, в этом месте я недовникла

A64m
10.01.2018
12:00:28
функция просто параметрически полиморфная. Поэтому у нее естественно есть типовые параметры и ее надо применять к типам (ну в system F так) просто в F# такие применения могут быть неявными

Andrew
10.01.2018
12:00:44
Вообще это скорее обобщенная функция

A64m
10.01.2018
12:00:48
type function - это функция которая возвращает тип, не только принимает

Andrew
10.01.2018
12:00:57
Просто она принимает только тип

A64m
10.01.2018
12:01:32

Anna
10.01.2018
12:04:11
тут два варианта тогда:
1. Убрать в переводе "типовая функция", оставить примечание, почему убрали
2. Оставить "типовая функция", добавить примечание, почему это неточно

Andrew
10.01.2018
12:04:45
Вариант 1, я думаю, лучше

Anna
10.01.2018
12:18:57
Вариант 1, я думаю, лучше
Я, наоборот, за второй. Всё-таки это перевод, значит переводим как есть, а где несогласны - оставляем комментарий. Но я тут не знаю.
Надо ещё проверить, мало ли я где-то налажала в терминах, или в статье неточности
Себя я старалась проверять, а вот автора статьи не очень :)

Andrew
10.01.2018
12:22:10
Зависит от того, для чего ты делаешь перевод. На хабре, мне кажется, правильность и доходчивость подачи материала важнее побуквенного следования оригиналу - но наверное в научных работах всё иначе

Evgeniy
10.01.2018
12:31:38
Type function -- это устойчивое сочетание в контексте F#.

Google

Evgeniy
10.01.2018
12:32:59
@AnutaU

Anna
10.01.2018
12:35:11

Evgeniy
10.01.2018
12:35:24
Да, все правильно.
@AnutaU F# 4.0 Language Specification пункт 10.2.3

Pavel
10.01.2018
12:41:01

Anna
10.01.2018
12:41:08

Pavel
10.01.2018
12:41:31
соответственно русскоязычного устойчивого определения нет

Evgeniy
10.01.2018
12:41:46

Anna
10.01.2018
12:42:43

Pavel
10.01.2018
12:46:33
"типовая функция" звучит както не в тему. типовая == обычная

Anna
10.01.2018
12:46:57

Pavel
10.01.2018
12:46:59
везде ударений не повставляешь. будут недопонимания
т.е. в русскую терминологию вносить такой вариант нежелательно

Evgeniy
10.01.2018
12:49:40
Ну, то есть, я с таким терминов встречался.
Pavel Предложи свой вариант.