LINUX.ORG.RU

История изменений

Исправление 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 явно имеет познания что бы вникнуть в эту тему, но он тоже не понял.