История изменений
Исправление MOPKOBKA, (текущая версия) :
Допустим прочие «языки» не позволяют тебе даже в кт узнать тип.
Вот какую принципиальную разницу вижу я: 1) в моем примере не сохраняется информация о типе нигде, а в других языках в каком то виде это есть, в реализациях trait например 2) преобразование совершается из void (*)(int) и только в void (*)(int), в рантайме это неизменно и постоянно.
Ты считаешь что стирание типа между возвратом и приемем делает это динамикой? Ну в целом это про динамику, но за счет того что выше, я не могу свой пример назвать динамикой полноценной. Похоже на элементы динамики.
И да, сохранение типов точно так же является «динамическим» ведь ты называешь донный адт статическим?
Я не говорил что АДТ статический, не совсем понимаю про что ты. Это enum + union, тип variant, dynamic с ограниченным набором значений, который нужен для выбора ветки в рантайме, хороший пример Optional<T> и метод Find в массиве, если элемента нету, то None, если есть то Some T. Статически это не провернуть никак.
Там где нужна статика, ADT не используют.
И вопрос - тег является типом?
Тег для меня это enum привязанный к union. Это деталь внутренней реализации, конкретно в OCaml нельзя к сожалению вынуть из ADT его enum и использовать отдельно. Поэтому типом он точно не является.
Поэтому я предложил рассуждать на уровне свойств, а не какой-то левой нерабочей классификации.
Пока слишком абстрактно, я давно говорил что тебе нужно больше примеров. Вот kaldeon явно имеет познания что бы вникнуть в эту тему, но он тоже не понял.
Исходная версия MOPKOBKA, :
Допустим прочие «языки» не позволяют тебе даже в кт узнать тип.
Вот какую принципиальную разницу вижу я: 1) в моем примере не сохраняется информация о типе нигде, а в других языках в каком то виде это есть, в реализациях trait например 2) преобразование совершается из void (*)(int) и только в void (*)(int), в рантайме это неизменно и постоянно.
Ты считаешь что стирание типа между возвратом и приемем делает это динамикой? Ну в целом это про динамику, но за счет того что выше, я не могу свой пример назвать динамикой полноценной. Похоже на элементы динамики.
И да, сохранение типов точно так же является «динамическим» ведь ты называешь донный адт статическим?
Я не говорил что АДТ статический, не совсем понимаю про что ты. Это enum + union, тип variant, dynamic с ограниченным набором значений, который нужен для выбора ветки в рантайме, хороший пример Optional<T> и метод Find в массиве, если элемента нету, то None, если есть то Some T. Статически это не провернуть никак.
И вопрос - тег является типом?
Тег для меня это enum привязанный к union. Это деталь внутренней реализации, конкретно в OCaml нельзя к сожалению вынуть из ADT его enum и использовать отдельно. Поэтому типом он точно не является.
Поэтому я предложил рассуждать на уровне свойств, а не какой-то левой нерабочей классификации.
Пока слишком абстрактно, я давно говорил что тебе нужно больше примеров. Вот kaldeon явно имеет познания что бы вникнуть в эту тему, но он тоже не понял.