Анна
Dmitry
и даже так https://www.youtube.com/watch?v=WdWcEtiTLes
Dmitry
возможно, где-то собрали такой майнкрафт-мир, на которм можно запусть JVM => а там и майнкрафт и в нём....
Nikolay
Осталось дождаться программатор)
Nikolay
С другой стороны
Vladislav
С другой стороны
Себе делаешь?
Nikolay
Себе делаешь?
Этот в подарок
Nikolay
Но себе тож планирую, позже
Nikolay
Взял с запасом
Vladislav
Этот в подарок
Девушке? 😏
Nikolay
Парню 😏
Vladislav
Парню 😏
😏🏳️‍🌈
Nikolay
А кто-нибудь шарит в лазерной резке? :)
Nikolay
Хочу корпус сделать из фанеры
Vasily
Берешь лобзик...
Nikolay
Лазерная :)
Fail
Лазерный лобзик
Klei
С другой стороны
Эти реально в СССР сделаны или стилизация?
Nikolay
Их уже не выпускают давно
Nikolay
Эти 75 года
Nikolay
Есть один 84
Anonymous
Есть один 84
а что за мк?
Nikolay
К155ИД1 и PIC16F628A
Anonymous
К155ИД1 и PIC16F628A
)) раньше в детстве тоже увлекался техникой ИД1 это дешифратор высоковольтный? по пику помню что F значит флешпамять многократно программируемый
Anonymous
а что на ATmega328 не делаешь
Nikolay
Да я хз, не очень шарю)
Nikolay
Я по готовому проекту делаю, пока
Anonymous
проще в разы...
Nikolay
Но как то к пику больше душа лежит
Nikolay
Он открытый :)
Anonymous
ардуино нано заугугли
Nikolay
Ардуины знаю
Nikolay
Прогал их
Nikolay
Простые, да
Anonymous
я последний проект сделал на нано + ENC28J60 (Lan) управление вентиляцией для серверного оборудования вентиляторами по шим управляет. температуру получает с датчиков DS18b20
Nikolay
Я щас хочу что-нибудь на ESP8266 сделать
Nikolay
Хз что правда
Anonymous
возьми Orange PI
Anonymous
кстати если увлекаешься. на будущее... можно заказывать платы на заказ. тебе изготовят, можно и многослойную более 2 слоев. есть и услуги с распайкой компонентов
Ayrat
@vshapenko вброшу в этот чат. Неразмеченные объединения должны подчиняться вот таким правилам https://ru.wikipedia.org/wiki/Объединение_множеств а конкретно для них должна работать ассоциативность (а+б)+с = а+(б+с) от размеченных объединений (которые в F# и есть, DU то бишь) их это и отличает Если у меня есть два DU вида type IntOrBool = | SomeInt of int | SomeBool of bool type MaybeBool = | Bool of bool | NoBool то их объединение только по мощи получаемого множества эквивалентно unit+bool+int, но типы обязаны быть разные, потому что они размеченные
Ayrat
в случае union type (имено общих, неразмеченных) int|bool + unit|bool должен абсолютно точно давать int|bool|unit потому что bool слева и bool справа это один и тот же bool, он неразмечен метками SomeBool и Bool как в DU
Ayrat
в F# нет юнион тайпов, но это не значит что они не нужны. Их просто нет
Vasily
Ты же понимаешь, что это корректно математически, но пиздец практически?
Ayrat
понимаю :D
Vasily
С точки зрения именно строгой типизации :)
Ayrat
не, с точки зрения типизации как раз всё ок
Ayrat
не вижу где тут потеря типизации происходит
Vasily
Да весь спор о том, когда выводятся возвращаемые типы- до или после разбора тела функции
Vasily
Если до- тебе окропят красненьким, после- тебя окропят
Ayrat
Давай абстрагируемся от проблем компилятора и сложности его написания) ты бы, как человек, смог вывести правильно неразмеченный юнион тайп из метода?
Ayrat
если он там в разных бранчах возвращает чо угодно, хоть даже юнион тайпы?
Vasily
Нет
Vasily
Я слаб
Vasily
В этом вашем матане
Ayrat
Ну ладно. хрен с ним, короче юнион тайпы это нормально. Сделать сложно? ну наверное сложно, но скалисты справились. У них компилятор даже понимает что A|B это то же самое что B|A
Vasily
Там надо просто порядок сортировки задать
Vasily
С деревом поинтереснее
Vasily
А в общем случае у нас именно дерево
Vasily
Юнион тайпов
Vasily
И да,я наркоман
Ayrat
если они неразмеченные, то объединение двух одинаковых множество должно давать это же множество
Ayrat
вот такой DU type SuperDu = | OneInt of int | AnotherInt of int это реально два разных типа интов. а вот такой юнион тайп int|int - это точно эквивалентно типу int
Vasily
Ну это понятно
Vasily
Мы Ивана засаммонили
Ayrat
а насчёт дерева юнион тайпов: оно в процесса разбора должно быть схлопнуто до объединения уникальных типов по итогу
Vasily
Интереснее кейс (int|string)|(syring|double)
Éminence grise
Но ведь вроде бы никаких противоречий я не вижу. Если смотреть с точки зрения AST, то union type - Это Set<Type>б в то время как descriminated union - это DescriminatedUnionType - что то типа: Map<string, Type>
Ayrat
и неслучайно слово Set переводится как множество :D
Ayrat
Совпадение? Не думаю (c)
Vasily
Да я ж не спорю, что так и есть
Éminence grise
Гораздо сложнее вопрос - во что это скомпилится 😊. Поскольку int | string в одной сборке должно совпадать со string | int в другой