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 Предложи свой вариант.