@Fsharp_chat

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

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

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

Google
Pavel
06.04.2018
18:46:16
Просто статики выносишь в модуль что ниже
и вынесеный оператор (*) убивает умножение

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
namespace rec
м? в пространствах let's не будет

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

Evgeniy
06.04.2018
18:52:04
м? в пространствах let's не будет
https://github.com/fsharp/fslang-design/blob/master/FSharp-4.1/FS-1009-mutually-referential-types-and-modules-single-scope.md

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


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

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

?‍?
06.04.2018
19:55:33
Да, в присутствии ошибок и сложных конструкций (например, перегрузок) редактор может сходить с ума и показывать непонятные сообщения.
Хорошо, что пока всё понятно. Например теперь знаю, что inline для реализаций методов интерфейсов ломает ссылки на модули, стоящие выше

namespace rec
Часто приходится использовать в реальных проектах?

Evgeniy
06.04.2018
20:00:50
Часто приходится использовать в реальных проектах?
Я использую как раз для операторов, которые вызывают функции модуля.

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

?‍?
06.04.2018
20:02:39


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

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
Чет я не могу понять, какую задачу хочется решить
Чтобы записывалось как рекорд3, и чтобы тип был свободен от мемберов-функций, то есть логика лежала в модулях и расширениях, (как это типа принято в сообществе).

Vasily
06.04.2018
20:07:20
А зачем? Какая задача решается таким вот способом?

Пока у меня впечатление, что список свойств тут бы подошёл лучше

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
у нас описание дальнейшей судьбы поддержки написаного. ты упоминал что далек от "промышленого" использования - тебе все равно.
Ты бы лучше подсказал @yerumaku, что ``with P1 =`` и бездумное использование стандартных операторов — смерти подобно с точки зрения дальнейшей поддержки.

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

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

Vasily
06.04.2018
20:36:00
Список объектов типа свойство?

По факту рекорд - тот же список. И класс тоже

?‍?
06.04.2018
20:36:36
Список объектов типа свойство?
Я что-то плохо себе представляю.

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

Evgeniy
06.04.2018
20:39:14
@gsomix ,а я согласен с @deexpp , что поддержка кода важна
Кажется, речь была про истинно верный способ организации кода. И про то, что мне "все равно".

¯\_(ツ)_/¯

Vasily
06.04.2018
20:39:32
Есть объект свойство, у него есть имя и значение

Кажется, речь была про истинно верный способ организации кода. И про то, что мне "все равно".
Ну @deexpp слегка категоричен, да. Это тоже вредит, хоть и повышает самооценку за счёт опускания самооценки других

Ну и я бы не был столь уверен, что существует правильный способ

От задачи много зависит, и от бэкграунда

?‍?
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
@yerumaku если у тебя много свойств шарится,погляди все же на концепцию депенденси пропертей, они здорово экономят память
В смысле шарится? С подключаемыми свойствами давно уже не работал, наверно так с 8.1 или старта uwp, не вижу применимости в данном случае. Там нет миллиардов, менять надо по щелчку, без рефлексий или ещё какого шаманства с укладыванием в словарь.

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

Во, рекомендую

Хоть и с#, но посыл там правильный

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
Мда, объясните тупому, как вскод настроить для дебага

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