ИМХО в теории множеств вообще нет аналога для Tagged union. Потому что в tagged union нельзя хранить разные элементы одновременно, а в теории множеств про "одновременность" вообще ничего не говорится.
По поводу пересечения & - вот пример из интернета
type User = {
name: string;
age: number;
};
type Employee = {
name: string;
department: string;
salary: number;
};
type CommonUserEmployee = User & Employee;
// Result: { name: string; age: number; department: string; salary: number; }
т.е. на выходе мы имеем тип, объединяющий поля из двух типов, причем одинаковые поля сливаются - в точности как в объединении множеств. A={1,2}, B={2,3}, A∪B={1,2,3}.
А вообще к этим курсам лекций явно не хватает какого-то "дерева зависимостей". Т.е. есть явно очень специфические курсы, и непонятно что нужно знать для их успешного изучения.
Какой интересный язык! Кажется в работе с типами он продвинулся дальше многих других современных языков.
Кстати получается что пересечение & это по сути теоретико-множественное объединение, а объединение | это "тип-сумма" (tagged union, variant). А вот интересно, можно в нем сделать теоретико-множественное пересечение, разность или симметрическую разность типов?
Советские лоялисты и нынешние все-же отличаются. Советские были в некотором смысле более наивными и романтичными. Нынешние - максимально приземленные, циничные и жестокие. И сама советская идеология была более... "высокой" что-ли (а значит требующей больше "энергии" на поддержание). Возможно потому и рухнула. Нынешняя идеология - что-то весьма примитивное и приземленное, словно позаимствованное у братков из девяностых. Практически культ силы в чистом виде.
Достойный проект. На таких проектах кстати отлично проверяется и пригодность самого языка (Rust), и возможно за счет обратной связи вносить какие-то улучшения в язык.
Только вот непонятно как прикручивать образ для виртуальной машины к virtualbox'у. Нагуглил что можно сконвертировать в vdi командой VBoxManage convertfromraw --format VDI [filename].img [filename].vdiно в результате все равно получается что-то не то. Лучше бы сделали стандартный формат ova.
Понятно что в конечном итоге техническими средствами политические проблемы не решить (ну или для этого нужны совсем другие технические средства). Но вот зачем те люди, которые в силу своих должностных обязанностей реализуют блокировки технически, лезут так глубоко? Ну спустили сверху "замедлить ютуб" - и замедлите так, чтобы он был недоступен только с компьютера чиновника, далекого от айти. Неужели у нас среди айтишников появились идейные сторонники блокировок интернета?
Я там написал слово "неизбежно". Это проблема, и решения пока не существует (т.е. я ничего не предлагаю, по крайней мере публично в рамках Хабра:) ). Это не значит что решения вообще не существует, и тем более не значит что не нужно думать и пытаться искать это решение. В общем и целом глобализация как таковая по идее способна сгладить проблему, но не решить ее полностью.
Думаю, дети сами в состоянии решить, что им читать а что нет. Впрочем, введение таких запретов только подтолкнет Сообщество к созданию полностью децентрализованных соцсетей, неподконтрольных вообще никому, и я лично в меру своих скромных возможностей постараюсь помочь в этом деле всем чем смогу:)
Не далее чем вчера в соседней теме высказывался по поводу государств. Вопрос - что с этим можно сделать, чтобы государство перестало быть фермером и стало обслуживающим сервисом?
Как я уже отметил, к сожалению это касается всех государств. Но каких-то в большей степени, каких-то в меньшей. Насчет "правильного преследования" это уже в чистом виде результат пропаганды. Но можно оценить более-менее объективно, просто по степени разнообразия одновременно существующих и незапрещенных государством идеологий.
Время само по себе существенно отличается от пространства своей направленностью. И в этом смысле оно похоже на "верх и низ", а точнее - на сильнейшее гравитационное поле, в котором двигаться можно только в одном направлении (пусть и с разной скоростью согласно теории относительности). А это уже похоже на горизонт событий черной дыры, в котором одно из измерений пространства становится времениподобным. Что перекликается с идеями о том, что наша вселенная внутри черной дыры, "большой взрыв" это точка формирования черной дыры в некой внешней вселенной, расширение вселенной - это расширение черной дыры за счет поглощения материи внешней вселенной, и т.д.
Разумеется, вы можете считать что угодно и высказывать что угодно (конечно без угроз, оскорблений и т.п.), это ваше право. Но вот государство не должно вмешиваться в эти вопросы вообще.
Государство с моей точки зрения - это такой большой жилкомсервис, созданный для обеспечения большой инфраструктуры - такой как бесплатная наука и образование, медицина и безопасность, транспорт и строительство объектов коллективного пользования (дорог, мостов, метро, больниц, школ...), и т.п.
Но проблема в том, что на таких больших масштабах "жилкомсервисы" неизбежно злокачественно перерождаются в нечто другое, обладающее собственной волей к жизни и собственными мотивами. И начинается идеология и преследование инакомыслящих, геополитика и империализм, скотоводство в виде попыток заставить людей размножаться (а не просто молча помогать тем, кто в этом нуждается, например семьям с детьми) и т.д.
Главная проблема языков типа Python и PHP с моей точки зрения - это отсутствие статической типизации и отсутствие явного объявления переменных. То есть достаточно просто написать
foo = 10
и у нас готовая новая переменная. Или не новая, а измененная старая. Понимаете? Одна маленькая опечатка в имени и... всё будет замечательно работать. Но неправильно. И это неправильно может вылезти не сразу, а очень нескоро и в самом неожиданном месте. Вот эта особенность была для меня просто как нож по горлу. И языки типа Python и PHP вызывали у меня, С/С++ программиста, абсолютно устойчивое неприятие. Кто-то скажет что это мелочь, но для меня это - фундаментальный дефект дизайна языка.
Но потом появился Go. И оказалось что это ровно то что нужно, как глоток свежего воздуха. Простой высокоуровневый (в отличие от того же С++) язык, куча библиотек, и переменные объявляются явно, ровно так как надо! В общем теперь многое, главным образом всякие утилиты и программы для работы с сетью, пишу на Go.
Если вы верующий - то это ваше дело. Я вполне допускаю что у некоторых людей в силу особенностей организации личности имеется потребность в религии, и ничего не имею против.
Это касается не только религий, но и любой обязательной на уровне государства идеологии. В СССР преследовали верующих, в исламских странах преследуют атеистов - а какая в сущности разница? Да никакой. В обоих случаях у общества серьезные проблемы: людей преследуют за убеждения. Такие общества не являются благополучными, думаю понятно почему. Потому что не смогли преодолеть стадный инстинкт, который говорит: будь как все, иначе ты чужой, а значит враг.
Да. А какие были громкие баззворды в свое время - COM, ActiveX, OLE... и какая печальная судьба - отовсюду выпиливают (сначала из html, теперь вот и из документов). Ну COM понятно что внутри, на нем много что основано (как минимум DirectX) и никто его не выпилит, а вот тому что торчит наружу - ActiveX - повезло меньше. В общем идея-то интересная, встроить один документ в другой, или приложение в документ. А вот реализация была с самого начала переусложненная (субъективно).
Тогда понятно
Т.е. здесь имеется в виду декартово произведение
Я просто пытался рассматривать типы как множества полей структур, а не как множества значений.
ИМХО в теории множеств вообще нет аналога для Tagged union. Потому что в tagged union нельзя хранить разные элементы одновременно, а в теории множеств про "одновременность" вообще ничего не говорится.
По поводу пересечения & - вот пример из интернета
т.е. на выходе мы имеем тип, объединяющий поля из двух типов, причем одинаковые поля сливаются - в точности как в объединении множеств. A={1,2}, B={2,3}, A∪B={1,2,3}.
Спасибо, добавил в свой личный список.
А вообще к этим курсам лекций явно не хватает какого-то "дерева зависимостей". Т.е. есть явно очень специфические курсы, и непонятно что нужно знать для их успешного изучения.
Какой интересный язык! Кажется в работе с типами он продвинулся дальше многих других современных языков.
Кстати получается что пересечение & это по сути теоретико-множественное объединение, а объединение | это "тип-сумма" (tagged union, variant). А вот интересно, можно в нем сделать теоретико-множественное пересечение, разность или симметрическую разность типов?
По математике как минимум вот (только крупные коллекции плейлистов):
https://www.youtube.com/@ialt_mipt/playlists ИАЛТ МФТИ
https://www.youtube.com/@OpenLektorium/playlists Лекториум
https://www.youtube.com/@math_hedgehog/playlists Ёжик в матане
https://www.youtube.com/@NAUKA0/playlists/playlists teach-in
https://www.youtube.com/@CMCMSUMoscow/playlists ВМК МГУ
https://www.youtube.com/@sibscience/playlists sibscience
https://www.youtube.com/@-live5741/playlists Физтех-Live
https://www.youtube.com/@SteklovMathInstitute/playlists МЦМУ МИАН
https://www.youtube.com/@MathNetRussia/playlists Math-Net.Ru
https://www.youtube.com/@hse-cs-lectures/playlists ФКН ВШЭ
https://www.youtube.com/@mathematicsathse1021/playlists Mathematics at HSE
Советские лоялисты и нынешние все-же отличаются. Советские были в некотором смысле более наивными и романтичными. Нынешние - максимально приземленные, циничные и жестокие. И сама советская идеология была более... "высокой" что-ли (а значит требующей больше "энергии" на поддержание). Возможно потому и рухнула. Нынешняя идеология - что-то весьма примитивное и приземленное, словно позаимствованное у братков из девяностых. Практически культ силы в чистом виде.
Достойный проект. На таких проектах кстати отлично проверяется и пригодность самого языка (Rust), и возможно за счет обратной связи вносить какие-то улучшения в язык.
Только вот непонятно как прикручивать образ для виртуальной машины к virtualbox'у. Нагуглил что можно сконвертировать в vdi командой
VBoxManage convertfromraw --format VDI [filename].img [filename].vdi
но в результате все равно получается что-то не то. Лучше бы сделали стандартный формат ova.Понятно что в конечном итоге техническими средствами политические проблемы не решить (ну или для этого нужны совсем другие технические средства). Но вот зачем те люди, которые в силу своих должностных обязанностей реализуют блокировки технически, лезут так глубоко? Ну спустили сверху "замедлить ютуб" - и замедлите так, чтобы он был недоступен только с компьютера чиновника, далекого от айти. Неужели у нас среди айтишников появились идейные сторонники блокировок интернета?
Интересная тема! А где и как из РФ можно купить такую симку?
Я там написал слово "неизбежно". Это проблема, и решения пока не существует (т.е. я ничего не предлагаю, по крайней мере публично в рамках Хабра:) ). Это не значит что решения вообще не существует, и тем более не значит что не нужно думать и пытаться искать это решение. В общем и целом глобализация как таковая по идее способна сгладить проблему, но не решить ее полностью.
Очень любопытная тема. А эти загруженные e-sim можно каким-то образом загружать с компа и выгружать на комп как обычные файлы?
Думаю, дети сами в состоянии решить, что им читать а что нет. Впрочем, введение таких запретов только подтолкнет Сообщество к созданию полностью децентрализованных соцсетей, неподконтрольных вообще никому, и я лично в меру своих скромных возможностей постараюсь помочь в этом деле всем чем смогу:)
Не далее чем вчера в соседней теме высказывался по поводу государств. Вопрос - что с этим можно сделать, чтобы государство перестало быть фермером и стало обслуживающим сервисом?
Как же задолбали государствишки со своими скотоводческими желаниями всех контролировать и за всех всё решать.
Как я уже отметил, к сожалению это касается всех государств. Но каких-то в большей степени, каких-то в меньшей. Насчет "правильного преследования" это уже в чистом виде результат пропаганды. Но можно оценить более-менее объективно, просто по степени разнообразия одновременно существующих и незапрещенных государством идеологий.
Время само по себе существенно отличается от пространства своей направленностью. И в этом смысле оно похоже на "верх и низ", а точнее - на сильнейшее гравитационное поле, в котором двигаться можно только в одном направлении (пусть и с разной скоростью согласно теории относительности). А это уже похоже на горизонт событий черной дыры, в котором одно из измерений пространства становится времениподобным. Что перекликается с идеями о том, что наша вселенная внутри черной дыры, "большой взрыв" это точка формирования черной дыры в некой внешней вселенной, расширение вселенной - это расширение черной дыры за счет поглощения материи внешней вселенной, и т.д.
Разумеется, вы можете считать что угодно и высказывать что угодно (конечно без угроз, оскорблений и т.п.), это ваше право. Но вот государство не должно вмешиваться в эти вопросы вообще.
Государство с моей точки зрения - это такой большой жилкомсервис, созданный для обеспечения большой инфраструктуры - такой как бесплатная наука и образование, медицина и безопасность, транспорт и строительство объектов коллективного пользования (дорог, мостов, метро, больниц, школ...), и т.п.
Но проблема в том, что на таких больших масштабах "жилкомсервисы" неизбежно злокачественно перерождаются в нечто другое, обладающее собственной волей к жизни и собственными мотивами. И начинается идеология и преследование инакомыслящих, геополитика и империализм, скотоводство в виде попыток заставить людей размножаться (а не просто молча помогать тем, кто в этом нуждается, например семьям с детьми) и т.д.
Главная проблема языков типа Python и PHP с моей точки зрения - это отсутствие статической типизации и отсутствие явного объявления переменных. То есть достаточно просто написать
и у нас готовая новая переменная. Или не новая, а измененная старая. Понимаете? Одна маленькая опечатка в имени и... всё будет замечательно работать. Но неправильно. И это неправильно может вылезти не сразу, а очень нескоро и в самом неожиданном месте. Вот эта особенность была для меня просто как нож по горлу. И языки типа Python и PHP вызывали у меня, С/С++ программиста, абсолютно устойчивое неприятие. Кто-то скажет что это мелочь, но для меня это - фундаментальный дефект дизайна языка.
Но потом появился Go. И оказалось что это ровно то что нужно, как глоток свежего воздуха. Простой высокоуровневый (в отличие от того же С++) язык, куча библиотек, и переменные объявляются явно, ровно так как надо! В общем теперь многое, главным образом всякие утилиты и программы для работы с сетью, пишу на Go.
Если вы верующий - то это ваше дело. Я вполне допускаю что у некоторых людей в силу особенностей организации личности имеется потребность в религии, и ничего не имею против.
Но если в целой стране обязательная для всех религия, за отклонение от канонов которой полагается вполне реальное наказание - то проблемы у всех, в том числе и у неверующих. Вот такие: Семь стран мира, где закон предусматривает смерть для атеистов
Это касается не только религий, но и любой обязательной на уровне государства идеологии. В СССР преследовали верующих, в исламских странах преследуют атеистов - а какая в сущности разница? Да никакой. В обоих случаях у общества серьезные проблемы: людей преследуют за убеждения. Такие общества не являются благополучными, думаю понятно почему. Потому что не смогли преодолеть стадный инстинкт, который говорит: будь как все, иначе ты чужой, а значит враг.
Да. А какие были громкие баззворды в свое время - COM, ActiveX, OLE... и какая печальная судьба - отовсюду выпиливают (сначала из html, теперь вот и из документов). Ну COM понятно что внутри, на нем много что основано (как минимум DirectX) и никто его не выпилит, а вот тому что торчит наружу - ActiveX - повезло меньше. В общем идея-то интересная, встроить один документ в другой, или приложение в документ. А вот реализация была с самого начала переусложненная (субъективно).