@Fsharp_chat

Страница 354 из 772
Roman
09.10.2017
17:54:41
Можно при первом использовании писать термин на английском в скобках.
тоже не лучший вариант. Рихтера, например, я читал не от начала до конца, а наиболее интересующие меня темы в данный момент

Evgeniy
09.10.2017
17:55:32
Я, например, хорошо понимаю, что английская литература и англоязычные термины занимают все языковое пространство у программистов. Но при этом в переводных материалах мне хочется, чтобы у терминов были адекватные русские термины.

Roman
09.10.2017
17:56:34
можно наоборот, при первом упоминании и в указателе в скобках писать перевод)

Просто перевод специфических терминов заставляет многих программистов переходить на англоязычную литературу полностью

Google
Evgeniy
09.10.2017
17:58:21
Сложный вопрос.

Roman
09.10.2017
17:59:07
тут, как и везде, silver bullet (серебрянной пули) нет

Anna
09.10.2017
18:05:49
Просто перевод специфических терминов заставляет многих программистов переходить на англоязычную литературу полностью
Потому что нет устоявшихся и привычных русских, как мне кажется. Моё мнение - понятия нужно переводить и потихоньку внедрять, но делать это очень бережно и осторожно. Зачем? Чтобы потом можно было писать книги, выступать на конференциях, учить людей в универах и т п на русском языке, не перемежая его английским (потому что это тоже не огонь). Иначе замкнутый круг: нет литературы на русском -> читаешь на английком -> не знаешь как перевести -> нет литературы на русском

Но это действительно спорный и философский вопрос

Roman
09.10.2017
18:39:02
Потому что нет устоявшихся и привычных русских, как мне кажется. Моё мнение - понятия нужно переводить и потихоньку внедрять, но делать это очень бережно и осторожно. Зачем? Чтобы потом можно было писать книги, выступать на конференциях, учить людей в универах и т п на русском языке, не перемежая его английским (потому что это тоже не огонь). Иначе замкнутый круг: нет литературы на русском -> читаешь на английком -> не знаешь как перевести -> нет литературы на русском
ну так и хорошо, пусть со временем народ переходит на английский. Русский, как и любой другой язык, будет в этом плане всегда отставать от английского: все статьи и книги все равно сначала на нем выходят, больше всего материала на английском можно найти. Надо помогать людям преодолеть языковой барьер, а не потворствовать ему, на мой взгляд

Roman
09.10.2017
18:40:33
Верно, но я за системный подход)

Roman
09.10.2017
18:43:32
ну так и хорошо, пусть со временем народ переходит на английский. Русский, как и любой другой язык, будет в этом плане всегда отставать от английского: все статьи и книги все равно сначала на нем выходят, больше всего материала на английском можно найти. Надо помогать людям преодолеть языковой барьер, а не потворствовать ему, на мой взгляд
Если бы у нас было конечное кол-во людей, то это сработало бы. Но потребность в русскоязычной литературе будет ещё долго(я надеюсь). Кроме того, я думаю люди которые читают статьи на русском хотят получить знания по предмету, а не помощь в переходе на англоязычные источники.

Anna
09.10.2017
18:44:20
ну так и хорошо, пусть со временем народ переходит на английский. Русский, как и любой другой язык, будет в этом плане всегда отставать от английского: все статьи и книги все равно сначала на нем выходят, больше всего материала на английском можно найти. Надо помогать людям преодолеть языковой барьер, а не потворствовать ему, на мой взгляд
А я не про потворствование языковому барьеру, а про то, чтобы сообществу было о чём поговорить на родном языке, и чтобы это красиво и приятно звучало. Опять же, так можно больше народу заинтересовать и включить в диалог. Кому надо, всё равно на английском будут читать.

Roman
09.10.2017
18:44:38
Верно, но я за системный подход)
Системный подход к переводу людей на англоязычную литературу начинается с изучения английского. Мы же тут пропагандируем F# ?

Roman
09.10.2017
18:47:42
Ну, я не настаиваю. Надо только понять, какие цели вы преследуете, делая переводы статей. Если цель - говорить об F# по-русски, то да - надо переводить полностью, включая все термины (хоть мне и совершенно непонятна такая цель). Я же предполагал, что цель - помочь разработчикам, у которых английский развит недостаточно, чтобы читать первоисточники, получать свежий материал по языку. Именно исходя из этого я рекомендовал не переводить термины - чтобы после этой помощи люди могли легко и самостоятельно находить ответы на интересующие вопросы.

Roman
09.10.2017
18:50:54
Так как главная цель донести информацию на русском об F#. Кто не хочет читать переведённые термины, тот пусть не читает. Никто же не заставляет.

Google
Roman
09.10.2017
18:53:40
Я только не понимаю, кому и как это поможет

но знаю, что такое решение заставит определенную часть аудитории отказаться от переводов

Roman
09.10.2017
18:58:11
Привет!

но знаю, что такое решение заставит определенную часть аудитории отказаться от переводов
Ну и ладно. Главное чтоб была заинтересованность в F# же, а переводы это только инструмент.

Пир
09.10.2017
19:00:24
Привет, я в F# пока ноль, но хочу с ним хотя бы познакомиться, так что присоединился, чтобы почитать вас тут)

Roman
09.10.2017
19:01:12
Ну и ладно. Главное чтоб была заинтересованность в F# же, а переводы это только инструмент.
Поэтому и круто, что переводчик свободен в выборе того как переводить. Если вдруг вы решите сделать перевод какой-нибудь статьи и не переводить термины все будут довольны. И это будет именно тот перевод именно в том стиле в котором вы хотите. Главное знание, а не способ как это знание получить.

Пир
09.10.2017
19:04:35
Хорошо, спасибо

Evgeniy
10.10.2017
04:35:57
https://github.com/fsprojects/FSharp.TypeProviders.SDK/pull/135

Теперь для провайдеров есть один API.

Nikolay
10.10.2017
05:02:47
Там Сайм вроде написал свои мысли, но я ещё не читал

https://github.com/Microsoft/visualfsharp/issues/2406#issuecomment-335328819

Mikhail
10.10.2017
05:19:14
Привет! Мне нужно пройтись по списку и посчитать количество вхождений каждого элемента. Для этого подойдет Dictionary из System.Collectioions.Generic, или есть что то получше/пофункциональней?

Mikhail
10.10.2017
05:46:32
List.groupBy - тот же эффект?

Evgeniy
10.10.2017
05:50:11
Да, только на выходе список, вместо последовательности.

Mikhail
10.10.2017
05:50:34
Спасибо!

Evgeniy
10.10.2017
05:51:56
List.countBy id
Точно! Спасибо.

Pavel
10.10.2017
06:40:33
https://github.com/csoren/elmish-sample

Google
Nikolay
10.10.2017
07:13:21
@fvnever что за TAST?

Evgeniy
10.10.2017
07:13:46
@fvnever что за TAST?
Typed Abstract Syntax Tree.

Friedrich
10.10.2017
07:14:48
Видимо, это та абстракция, которой оперирует компилятор F# при компиляции кода.

Nikolay
10.10.2017
07:14:58
Ладно, но я всё ещё не понимаю, в чём проблема провайдеров с точки зрения Сайма?

В генерации IL кода?

Friedrich
10.10.2017
07:15:09
Там просто исторический экскурс и (полезное) рассуждение на тему того, почему мы не хотим пробрасывать в провайдеры компиляторный API.

Nikolay
10.10.2017
07:16:51
I’ll think it over more, but it still feels to me that the most simple path to unblock is to prototype the Assembly —> Abstract IL —> copy-of-ilwrite.fs in the TP SDK – it feels like just a day’s work to be honest.

День работы?

Vlad
10.10.2017
07:17:05
Friedrich
10.10.2017
07:17:27
Ну, для того, кто знает устройство ilwriter.fs — наверное, да.

Nikolay
10.10.2017
07:17:30
Чёт мне не верится

Friedrich
10.10.2017
07:17:47
@Dolfik слушай, а мы у себя уже научились эмитить код методов? Это не представляет какой-то неожиданной проблемы?

Nikolay
10.10.2017
07:18:33
Проблема в том, что нужно знать как внутри устроены сборки, чтобы это всё правильно сделать, это не так уж и просто

Код методов получается одной строчкой

Friedrich
10.10.2017
07:18:58
Код методов получается одной строчкой
У меня по этому поводу сомнения.

Evgeniy
10.10.2017
07:19:14
Чёт мне не верится
Дон умеет писать очень много кода в короткий промежуток времени.

Friedrich
10.10.2017
07:19:19
Вот смотри. Представим, что у нас есть метод void foo() => Console.WriteLine("")

Vlad
10.10.2017
07:19:48
Friedrich
10.10.2017
07:19:56
Он эмитится в байткод <положить на стек пустую строку> call [Console]::WriteLine

Google
Nikolay
10.10.2017
07:20:18
https://msdn.microsoft.com/ru-ru/library/system.reflection.methodbody.getilasbytearray(v=vs.110).aspx

Friedrich
10.10.2017
07:20:23
Как именно в GetILAsByteArray() будет представлен ссылка на Console?

Это будет номер из таблицы типов?

Совпадёт ли этот номер с нашим номером, который мы у себя эмитим? Мы за согласованностью этих номеров как-то следим?

Ах, там есть методы типа https://msdn.microsoft.com/en-us/library/ms145424(v=vs.110).aspx

Nikolay
10.10.2017
07:22:41
Ну на переменные я делаю ссылки

Friedrich
10.10.2017
07:22:44
Но это херова гора работы, похоже? Т.е. надо ещё распарсить (!!!) IL, вычленить оттуда токены типов, методов, аргументов и пр., перекодировать по-новой, и только тогда сохранять IL?

Nikolay
10.10.2017
07:22:50
А вот на другие вещи хз как оно там работает

Nikolay
10.10.2017
07:23:13
Подожди

Щас в dotPeek посмотрю, есть ли там System/System.Console

Friedrich
10.10.2017
07:24:09
Мб с одним типом у тебя даже и совпала бы нумерация, а вот с десятком уже поломается :(

Nikolay
10.10.2017
07:24:59
Интересно

Метод WriteLine действительно есть

Но он не используется нигде

Видимо это какая-то внутренняя кухня, и используется он в IL

А в тайп провайдерах как тело метода генерируется?

Friedrich
10.10.2017
07:28:00
А дальше предполагается, что мы с тобой его сохраним нормально в байты :)

Nikolay
10.10.2017
07:28:15
Ну вот у нас есть Expr, и из него можно вытащить данные

Google
Nikolay
10.10.2017
07:28:19
У нас же не сырой IL

Friedrich
10.10.2017
07:28:28
Погоди, чо?

Expr это же про квотейшены?

Из квотейшена можно всё вытащить, да.

Это ты про erased-провайдеры, да?

Nikolay
10.10.2017
07:29:06
Generative

Friedrich
10.10.2017
07:29:17
Там нету Expr, кажется?

Evgeniy
10.10.2017
07:29:49
Там нету Expr, кажется?
Они одинаково почти пишутся.

Что erased, что generative.

С помощью квотейшенов.

Nikolay
10.10.2017
07:30:43
Нужно будет разобраться в том, как работают ссылки на эти всякие Console.WriteLine, либо они тупо указываются в методах

Friedrich
10.10.2017
07:31:31
Нужно будет разобраться в том, как работают ссылки на эти всякие Console.WriteLine, либо они тупо указываются в методах
Там не тупо. На MSDN можешь прочитать, там есть ссылки на всякие резолвилки. Походу это адский гемор.

Evgeniy
10.10.2017
07:32:10
Friedrich Nikolay Вы же оба не писали провайдеров? :)

Friedrich
10.10.2017
07:32:27
Неа.

Nikolay
10.10.2017
07:32:40
Ну этот гемор нас ждёт в любом случае, даже при использовании ilwriter

Friedrich
10.10.2017
07:32:45
Как же мы их будем писать, отче, если нету поддержки под дотнеткор?

Nikolay
10.10.2017
07:33:05
Как же мы их будем писать, отче, если нету поддержки под дотнеткор?
Действительно, @gsomix, такие глупые вопросы задаёшь!

Vasily
10.10.2017
07:35:45
Дайте хоть почитать, что Сайм написал по поводу провайдеров

Nikolay
10.10.2017
07:35:54
@fvnever а может эти типы можно получить через какое-то API?

Страница 354 из 772