LINUX.ORG.RU

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

Исправление den73, (текущая версия) :

Текст есть а их нет

Это - вопрос во многом философский. В моей философии они есть :) Если пишешь любой DSL (хоть тот же json), то можно определить множество строк, являющихся валидными для этого json. Это будет подмножество всевозможных строк. Можно назвать типом.

Между так определёнными типами можно определить отношения вложенности и т.п. Кроме того, можно их проверять, и их несоответствие может приводить к ошибкам времени выполнения. Можно говорить, что поведение тех или иных функций определено на таких-то типах. Раз оно крякает и плавает - значит, можно называть уткой. Другое дело, что нельзя взять тип объекта. Одна и та же строка может одновременно иметь множество типов. Ну и что? В лиспе тоже так и никого это не напрягает.

И не знаю, что там про это говорят в теоркате :)

Люди, привычные к другим языкам, могут возмутиться и сказать, что раз нельзя определить типизированную переменную, то и типа «словарь» нет. Но есть языки, у которых типы есть, а типизированных переменных нет. Другие скажут, что типы без type_of - это не типы. Но в Си тоже нет type of. Т.е. то, что я называю в тикле типами - ничуть не хуже, чем типы в других языках.

Как оно устроено в Си - неважно. Сейчас смотрим только на обложку.

Исправление den73, :

Текст есть а их нет

Это - вопрос во многом философский. В моей философии они есть :) Если пишешь любой DSL (хоть тот же json), то можно определить множество строк, являющихся валидными для этого json. Это будет подмножество всевозможных строк. Можно назвать типом.

Между так определёнными типами можно определить отношения вложенности и т.п. Кроме того, можно их проверять, и их несоответствие может приводить к ошибкам времени выполнения. Можно говорить, что поведение тех или иных функций определено на таких-то типах. Раз оно крякает и плавает - значит, можно называть уткой. Другое дело, что нельзя взять тип объекта. Одна и та же строка может одновременно иметь множество типов. Ну и что? В лиспе тоже так и никого это не напрягает.

И не знаю, что там про это говорят в теоркате :)

Люди, привычные к другим языкам, могут возмутиться и сказать, что раз нельзя определить типизированную переменную, то и типа «словарь» нет. Но есть языки, у которых типы нет, а переменных нет. Другие скажут, что типы без type_of - это не типы. Но в Си тоже нет type of. Т.е. то, что я называю в тикле типами - ничуть не хуже, чем типы в других языках.

Как оно устроено в Си - неважно. Сейчас смотрим только на обложку.

Исходная версия den73, :

Текст есть а их нет

Это вопрос во многом философский. В моей философии они есть :) Если пишешь любой DSL (хоть тот же json), то можно определить множество строк, являющихся валидными для этого json. Это будет подмножество всевозможных строк. Можно назвать типом.

Между так определёнными типами можно определить отношения вложенности и т.п. Кроме того, можно их проверять, и их несоответствие может приводить к ошибкам времени выполнения. Можно говорить, что поведение тех или иных функций определено на таких-то типах. Раз оно крякает и плавает - значит, можно называть уткой. Другое дело, что нельзя взять тип объекта. Одна и та же строка может одновременно иметь множество типов. Ну и что? В лиспе тоже так и никого это не напрягает.

И не знаю, что там про это говорят в теоркате :)

Как оно устроено в Си - неважно. Сейчас смотрим только на обложку.