Dr. Friedrich
Ну и плюс есть специальные схемы, когда у выключателя XOR
Dr. Friedrich
Тогда тебе просто нужно перещёлкнуть нужную кнопку, чтобы состояние света поменялось.
Dr. Friedrich
В общем-то да, аналогия с выключателем хорошая :)
Aleksandr
А проблему с запоминанием наименований ADT я для себя решил сначала через переход к логической сумме/произведению, потом через отношение к доменным множествам, а потом только до меня дошло, что оператор * в сигнатуре тупла не просто так выбран
Ayrat
A | B
Aleksandr
Да, только хотел об этом добавить)
Aleksandr
В выражении match тоже
Vasiliy
🙈 встаешь такой с утра, потягиваешь, сморишь чатики, а тут... Туплы, Void -> a, выключатели и ADT, когда вы все успели это понять и прочитать?. Зависть
Aleksandr
У меня вКрасноярске 15:41. Впрочем, проснулся я тоже недавно)
Aleksandr
Javascript – мешаем доказательству ваших теорем с 1995 года
Vladislav
https://medium.com/@dkeout/why-you-must-actually-understand-the-%CF%89-and-y-combinators-c9204241da7a
Vasily
Начал смотреть на orleankka,. Гнусные извращенцы
Vasiliy
Ишуй кинул?
Перепишите все нафиг?
Vasily
Ишуй кинул?
Они художники, так видят
x
🤔
x
Ладно я лох так делаю, но вот люди пишут книги и так делают..
Klei
Эт откуда?
x
Стулиш эфшурп
x
Но книга вроде ничего, просто иногда кажется что автор старается быть ближе к публике и притворяется тупеньким
Aleksandr
Так!
Aleksandr
А разве автор у нее не тот самый чье имя тут все знают?
Klei
Видно пропустил.
Aleksandr
Ayrat
Don Syme
точно нет
Ayrat
Сайм Expert F# написал
Aleksandr
А, точно
Ayrat
по-моему в соавторстве с кем-то, но всё же
Ayrat
а стайлиш какой-то ноунейм написал.
Анна
У нас уже подснежники!
Анна
Romɑn
Красота
Hog
Здорово! :) лето близко!
Фил Ранжин
Делаю тут доммено специфичную систему интеграционных тестов на F# вот думаю, как внешнее АПИ организовать в C# приняты всякие Something.Should.Be(x) вот как на F# сделать получше?
Aleksandr
``something should be``
Фил Ранжин
я не сами тесты пишу, а штуку, которая будет использоваться в тестах
Фил Ранжин
сейчас пока говно TestInfra.TestStand.shouldPassStates { commands=["тут команда", 100<sec>;]; duration=1000<sec>; expectation= {id=1; stateSequnce=[state1; state2; state3;]} }
x
Кстати о тестах. Очень хочу на проект прикрутить какой-либо перфоменс бенчмарк, но не текой чтоб смотреть глазами, а чтобы фейлило билд если скажем перфоменс просел в 2 раза. Ясно что в абсолютных числах секунд экспектейшна не должно быть, мало ли на какой билдагент меня распределило. Полагаю, должен быть некий тест-бейзлайн? От которого потом надо отталкиваться? Как в хороших домах принято?
x
Отдельный = никого, кроме меня там не будет? Боюсь, это недостижимо.
Hog
поставь локальный
サイトー
Отдельный = никого, кроме меня там не будет? Боюсь, это недостижимо.
Не, не обязательно Но чтобы бенчи только там запускались
x
есть ли какие-то бест практисес
サイトー
есть ли какие-то бест практисес
дисклеймер: на звание эксперта совсем не претендую вообще идея с бейслайном мне нравится, но я вижу две проблемы 1. нужно чтобы тулинг умел генерить снапшоты некие 2. если снапшоты будут перезаписываться на ci то есть риск медленно, но верно херить производительность я бы попробовал найти какой-нибудь тул который умеет делать снапшоты, прогнать их на нужно машине и сравнивать от них, типа в 1.1 раз больше - фейл можешь еще посмотреть как например в benchmarkdotnet сделан бейслайн https://benchmarkdotnet.org/articles/overview.html#baseline
Romɑn
Romɑn
Romɑn
Смаритечо
Крылатый
Как ты умудрился там сломать?
サイトー
KPACUBO
Dr. Friedrich
Там что-то сломано?
Крылатый
Теперь ты на 1% ближе к механикусам!
Анна
Там что-то сломано?
там круче, там болтами скручено
Крылатый
Dr. Friedrich
А, приблизил и теперь вижу.
Romɑn
Теперь ты на 1% ближе к механикусам!
Мне шейперы больше нравились
Анна
А эту конструкцию потом достанут, когда кость страстётся?
Анна
прямо приключения
Фил Ранжин
Паттерн builder?
как-то не идиоматично для F#, не?
Ayrat
это получается где-то внутри ладони, а не пальцев? ничоси ты навернулся
Vladislav
ну нах
x
что-то типа boxers fracture ) это точно не была драка в баре?
Фил Ранжин
Expecto есть
не, я ж говорю, доменно специфичная
Фил Ранжин
у меня есть куча стейт машин, надо сделать инструмент, который посылает системе команду, и позволяет убедиться, что нужные стейт машины прошли через нужные состояния
Ayrat
стейт машины это внутрянка. На самом деле тебе надо убедиться что случилось то что тебе хочется и не случилось ничего лишнего
Ayrat
BDD – Behavior-Driven Development
Ayrat
то есть переключение стейт машин в какое-то состояние должно иметь какой-то эффект иначе они бессмысленны. Вот и обсёрвь наличие этих эффектов.
Ayrat
если они не производят эффекта, но закладываются на будущее, тестируй будущее