факту комментарий содержит какое-то утверждение. Утверждение это предикат, а предикат это тип именованной сущности. Допустим, коммент содержит информацию об ограничении на применение в полях только определенных типов. Например, классов с перегруженной суммой. Тогда, при трансляции в другой язык будет утечка смысла. Например, язык с не четкой типизацией или если операция суммы перегружена по умолчанию, например, для объединения строк.
Оно так работает?
Похоже, Вы пытаетесь изобрести Refinement Types в целом и Liquid Haskell в частности. 😊 Ну и для Java тоже есть...
Ну, основное, что при преобразовании язык-язык всегда возможно потеря смысла некоторого содержания. Я бы мог привести пример с комментарием, который указывает не ограничения, а например, возможность применить фичу языка, которой нет в новом языке. Контекст меняется и происходит утечка смысла. Неоднозначность подобных преобразований вызвана неоднозначностью самого процесса передачи любой информации. Энтропия.
Обсуждают сегодня