
Roman
06.04.2018
18:38:54
У меня прокся орботовская. Сейчас вход из франции

??
06.04.2018
18:40:17
А зачем?
Евангелисты наверняка проделывали это. "Зачем" только они знают ответ.

Roman
06.04.2018
18:41:34
Просто статики выносишь в модуль что ниже

Google

??
06.04.2018
18:46:09

Pavel
06.04.2018
18:46:16

??
06.04.2018
18:46:52

Roman
06.04.2018
18:49:02

??
06.04.2018
18:49:12
и вынесеный оператор (*) убивает умножение
Почему? Он же применяться должен только к типу Rec и sbyte, но тут еще вопрос, если компилятор избавляется в итоге от Measure, то какой метод будет вызываться и не будет ли конфликтов по итогу или же всё ок, тк собирается изначально правильно по меткам Measure?

Evgeniy
06.04.2018
18:49:25
namespace rec

Roman
06.04.2018
18:49:50
Модуль надо поднять. )

??
06.04.2018
18:50:49

Roman
06.04.2018
18:51:55
Так.
Тип определяет в модуле

Evgeniy
06.04.2018
18:52:04

Roman
06.04.2018
18:52:41
Аа, по картинке сложно

Pavel
06.04.2018
18:53:00
> type X = { uid : int }
let ( * ) (x : X) (a : int) = { x with uid = a }
5 * 8;;
5 * 8;;
^
D:\Temp\stdin(6,1): error FS0001: This expression was expected to have type
'X'
but here has type
'int'
>

Google

??
06.04.2018
19:01:01

Evgeniy
06.04.2018
19:25:36

Klei
06.04.2018
19:44:24
Я обычно добавляю операторы после модуля через type extensions.

Evgeniy
06.04.2018
19:54:15
Да, в присутствии ошибок и сложных конструкций (например, перегрузок) редактор может сходить с ума и показывать непонятные сообщения.

??
06.04.2018
19:55:33

Evgeniy
06.04.2018
20:00:50
namespace/module rec отлично справляются с обязанностями, которые на них возложили евангелисты (лол!) модулей.

??
06.04.2018
20:02:39

Vasily
06.04.2018
20:04:24
Чет я не могу понять, какую задачу хочется решить

Evgeniy
06.04.2018
20:04:35

Vasily
06.04.2018
20:04:51
А, понаркоманить

Evgeniy
06.04.2018
20:05:04
Все как мы любим!

Vasily
06.04.2018
20:05:36
В целом, я бы рекомендовал посмотреть на концепцию dependency property в wpf

??
06.04.2018
20:05:55

Vasily
06.04.2018
20:07:20
А зачем? Какая задача решается таким вот способом?
Пока у меня впечатление, что список свойств тут бы подошёл лучше

??
06.04.2018
20:08:44

Google

??
06.04.2018
20:13:52
А зачем? Какая задача решается таким вот способом?
По первой части: Простота изменения части записи, когда запись представлеят из себя маленькую структуру. По второй части: Так советуют делать практиканты, набивать руку так сказать уже сейчас, да и мне хочется научиться плавать в синтаксисе, чтобы знать что язык может, а чего нет.

Evgeniy
06.04.2018
20:16:42
https://hastebin.com/kiwovakujo.fs
Вот это имел в виду @Kleidemos.
@yerumaku Выкладывай, пожалуйста, большие листинги кода на пастебин, например.

Vasily
06.04.2018
20:20:32
Обычный list

Pavel
06.04.2018
20:20:57
в результате теперь чтобы создать/изменить новую проперть (вместо того чтобы компактно собрать эту логику в одном месте) нужно скакать по листингу в 3-х местах

Evgeniy
06.04.2018
20:22:10
У нас тут продолжение спора "статические мемберы против модулей"?

Vasily
06.04.2018
20:22:45
Есть ещё концепция депенденси пропертей, но она довольно сильно завязана на инстанцированные объекты ,у которых к тому же должны быть более-менее уникальные айдишники
Короче, я про что

Pavel
06.04.2018
20:25:20

Evgeniy
06.04.2018
20:26:17

??
06.04.2018
20:30:00

Pavel
06.04.2018
20:32:37
ну его with.... не смертелен и чем то даже может помочь в почитании написанного лет через 5, но по сути баловство и быстро надоедает. а операторы да. стандартные операторы должны реализовывать только стандартное поведение (умножение должно остаться умножением).

Vasily
06.04.2018
20:33:14
Когда возникают проблемы подобного рода, скорее всего нужны другие структуры данных

??
06.04.2018
20:33:50

Vasily
06.04.2018
20:36:00
Список объектов типа свойство?
По факту рекорд - тот же список. И класс тоже

??
06.04.2018
20:36:36

Google

Evgeniy
06.04.2018
20:36:42

Vasily
06.04.2018
20:37:55
@gsomix ,а я согласен с @deexpp , что поддержка кода важна

Evgeniy
06.04.2018
20:39:14
¯\_(ツ)_/¯

Vasily
06.04.2018
20:39:32
Есть объект свойство, у него есть имя и значение
Ну и я бы не был столь уверен, что существует правильный способ
От задачи много зависит, и от бэкграунда

??
06.04.2018
20:42:44
Ну обычный список
Сколько это будет в памяти? Без примера или ссылки на что смотреть это тёмный лес.

Vasily
06.04.2018
20:43:04
Ну смотри
Можно сделать на спанах
Тогда небольшой оверхед
Можно сделать на стандартных структурах- там уже на мобиле миллиардами записей не поворочаешь
Можно сократить, если есть общие свойства
Так в впф сделано, например

Pavel
06.04.2018
20:45:03
вы собственно где там углядели истинно верный? если я перечисляю ожидаемые проблемы это не делает альтернативный код истинно верным.

Vasily
06.04.2018
20:45:21
Да проблем там много
Вопрос в том, как их решить
@yerumaku если у тебя много свойств шарится,погляди все же на концепцию депенденси пропертей, они здорово экономят память

Google

Vasily
06.04.2018
20:48:35
Опять же, если быстродействие не очень важно,можно мемори маппед файлами побаловаться

??
06.04.2018
20:49:35

Vasily
06.04.2018
20:57:13
Ну если там нет миллиардов, откуда такой оверинжиниринг памяти?

??
06.04.2018
21:05:02
Ну если там нет миллиардов, откуда такой оверинжиниринг памяти?
I'm <3 IT
Это не единственная структура в программе, помимо неё еще куча, в разных количествах, + есть среда UI, которая будет кушать ОЗУ, а мне и пользователю не хочется, чтобы ОС убивала приложение, потому что другому приложению без оптимизации памяти она сейчас нужнее.

Vasily
06.04.2018
21:13:21
По факту ты здесь экономишь копейки за счет некоторых сверхусилий
Где-то у меня была прикопана серия статей по этому поводу
https://ayende.com/blog/176034/making-code-faster-the-interview-question
Во, рекомендую
Хоть и с#, но посыл там правильный

??
06.04.2018
21:18:37

Vasily
06.04.2018
21:19:56
А, ну если цели научно-познавательные, то ок
сам люблю понаркоманить

??
06.04.2018
21:20:40
Tests.Unit428 не смутил (:

Vasily
06.04.2018
21:21:22
Я читаю код по диагонали, мало обращая внимания на названия переменных и классов, больше уделяю внимания структуре кода

Evgeniy
06.04.2018
21:45:14
Через 9 с небольшим дней.
http://fsharpconf.com/
Лайвстрим.

Vasily
06.04.2018
21:53:02
Мда, объясните тупому, как вскод настроить для дебага