
Evgeniy
12.04.2018
10:53:32
Я, конечно, хотел бы, чтобы такая фича у нас была. Но пока нет.

Roman
12.04.2018
10:54:36
а кому не надо может не использовать

Google

Evgeniy
12.04.2018
10:55:15
Да. Ну, эт самое, все вопросы к Сайму.

Roman
12.04.2018
10:55:29
ага, спасибо за ссылку)

Evgeniy
12.04.2018
10:56:58
Стандартный воркэраунд — через генерик методы делать. Так, например, в TypeShape делают, где нужен rank polymorhism.

Денис
12.04.2018
11:01:31

Pavel
12.04.2018
11:15:45

Igor
12.04.2018
11:16:28
лол, через исключение))

Pavel
12.04.2018
11:17:26
естессно. он же аналог Environment.Exit() хотел

Roman
12.04.2018
11:19:40

Денис
12.04.2018
11:32:45
Ну такое, можно без исключений?

Pavel
12.04.2018
11:33:38
Environment.FailFast()

Pavel
12.04.2018
11:39:47
солидно and then includes the message in error reporting to Microsoft
раритет накопал http://tomasp.net/blog/imperative-ii-break.aspx/

Google

??
12.04.2018
13:28:53
Минутка творчества:
Писал программу
По паттернам, монадам -
В рантайм упала.

Roman
12.04.2018
13:31:36

??
12.04.2018
13:36:45
Архитектурой Фон Неймана опрокинута
вековая история функций.
Повергнута чистота
бездушной машинной инструкцией.
Переменная уж не та,
что гордо звалась параметром,
что неизменным было навек -
теперь, просто область памяти,
куртизанка в кой верности нет.
В бесконечные ленты Тьюринга
заворачивает лямбда счисление,
будто древнюю мумию,
забывшее Хаскелла поколение,
не способное понять всю грязь
изменяемого состояния.
Электроны у них шатаются будто пьяные -
то здесь единицу на ноль, то вон там.
О чем говорит?
Говорит, что глобальному состоянию
доверять можно лишь экран.
Оу, надо будет тоже что-то написать на подобную тематику.

Roman
12.04.2018
15:20:43
Привет!
@Kleidemos по поводу перевода, вычитку еще не делали мс рашиа, на следующей неделе будет посвободнее, я держу рку на пульсе)

Klei
12.04.2018
15:57:19
Ок. Я не тороплюсь.

Artemy
12.04.2018
19:44:20
https://i.imgur.com/B1UvV4Z.png
Как тут "factoring" правильно перевести будет? Факторинг? Честно говоря, не встречал раньше такого термина (но, в принципе, понятно, что он означает).
Хотя у "факторинга" уже есть значение, относящееся к области финансов

Evgeniy
12.04.2018
19:54:40
Но здесь сложно обыграть как в оригинале.

Artemy
12.04.2018
19:55:21
Да, по смыслу текста я там глагол factor и переводил как "разбивать/делить"
Ещё вот с "once factored out" несколько непонятно. "Как только будет реализовано такое разделение/декомпозиция, ..." — как-то так я бы это перевёл, что ли
Но немного криватенько как-то
В результате переводчики вместо них какие-то свои шутки могут вставить, которые могут оказаться такими себе

Evgeniy
12.04.2018
20:13:05
Страннота.
https://github.com/fsharp/fsharp/issues/840
Привет.

Oleg
12.04.2018
20:42:54
Привет!

Roman
12.04.2018
20:48:53

Google

Artemy
12.04.2018
21:01:48
Спасибо

Evgeniy
13.04.2018
05:26:58
http://www.colinbull.net/adopting_fsharp/

Alex
13.04.2018
07:51:59

Evgeniy
13.04.2018
07:52:38
https://github.com/colinbull/adopting_fsharp
Шли PR сразу.

Alex
13.04.2018
07:52:52
thx

Anna
13.04.2018
07:52:57
ооо, почти как в загадке про "дизайн скороговорки"

Evgeniy
13.04.2018
07:59:06
> F# is a very good object oriented language use it
Всем говорю, а мне не верят. :)

Alex
13.04.2018
08:01:38

Roman
13.04.2018
08:03:34
@yerumaku triggered )

??
13.04.2018
08:03:34
Для случаев, когда несколько объектов имеют те же мемберы, и например, нужно составлять список тиких разных типов (чтобы обращаться к этим мемберам), реализующих один интерфейс
А вот когда в записи используются функции, то получается что-то типа перегрузок (типа замены наследования, когда тип остаётся тем же)

Artemy
13.04.2018
08:03:52
Чаще интерфейсы актуальнее, как я понял

Roman
13.04.2018
08:04:00

Vasily
13.04.2018
08:04:31
С точки зрения Object expression разницы по идее нет

Artemy
13.04.2018
08:04:42
Собственно, я и не знаю, какие преимущества у записи с функциями

Vasily
13.04.2018
08:04:55
Если нужно на лету конструировать и отдавать в c#, например, то, имхо, лучше интерфейсы

Roman
13.04.2018
08:06:17
что оч удобно

Google

Evgeniy
13.04.2018
08:06:45
Мне кажется, лучше интерфейс. ? Проще интероп.

Roman
13.04.2018
08:07:25
кстати let myFunc (foCompare:#IComparable) = тут нужна решетка?

Alex
13.04.2018
08:07:58
Понятно, спасибо за ответы

Evgeniy
13.04.2018
08:08:36

??
13.04.2018
08:09:51

Alex
13.04.2018
08:10:05
Мы сейчас пишем проект на C#, у нас куча интерфейсов с одним лишь методом, после F# аж как то больно смотреть )

Evgeniy
13.04.2018
08:10:05

??
13.04.2018
08:11:16

Evgeniy
13.04.2018
08:11:28

??
13.04.2018
08:11:59

Evgeniy
13.04.2018
08:12:20

??
13.04.2018
08:13:16

Evgeniy
13.04.2018
08:13:19
Мне все-таки нравитcя использовать функции внутри F# кода, и интерфейсы с одним методом, когда нужен интероп.

Alex
13.04.2018
08:14:01

Artemy
13.04.2018
08:14:29

Evgeniy
13.04.2018
08:15:01
Ну, например, просто лямбду кинуть, или создать значение через object expression.

Artemy
13.04.2018
08:15:29

Roman
13.04.2018
08:16:32

Artemy
13.04.2018
08:17:12

Google

Artemy
13.04.2018
08:17:59
В общем, разумный вариант уже был озвучен

Evgeniy
13.04.2018
08:18:09
Зато на интерфейсах и object expressions можно всякие интересные штуки эмулировать, типа rank-2 polymorphism или GADT. ?
Я теряю нить
Интерфейс с одним методом и тип функции с соответствующей сигнатурой — это примерно одно и тоже, я об этом.

Vlad
13.04.2018
08:20:56

Alex
13.04.2018
08:20:56

Roman
13.04.2018
08:21:01

Evgeniy
13.04.2018
08:23:15
Ааа , general
http://fssnip.net/mq/title/An-attempt-at-encoding-GADTs

??
13.04.2018
08:24:55

Evgeniy
13.04.2018
08:28:02
Короче, зависит, как обычно. Design space достаточно большой, нужно выбирать разумно.

??
13.04.2018
08:29:19

Bonart
13.04.2018
08:30:45