Size: a a a

Compiler Development

2020 February 03

AT

Alexander Tchitchigin in Compiler Development
Dollar Føølish
Подскажите пожалуйста, есть ли бестиповая программа, которую нельзя выразить в типизированном языке? Дано: система типов включает в себя Any
Если "типизированный язык" подразумевает строгую типизацию, то таких программ полно. Например, сложение, умножение, вычитаение и деление строк.
источник

DF

Dollar Føølish in Compiler Development
Понятно. А нельзя это заменить на сложение умножение вычитание деление Any?
источник

YS

Yuriy Syrovetskiy in Compiler Development
Alexander Tchitchigin
Если "типизированный язык" подразумевает строгую типизацию, то таких программ полно. Например, сложение, умножение, вычитаение и деление строк.
но даже в Хаскеле это можно типизировать
источник

AK

Andrei Kurosh in Compiler Development
Alexander Tchitchigin
Если "типизированный язык" подразумевает строгую типизацию, то таких программ полно. Например, сложение, умножение, вычитаение и деление строк.
Разве? Ведь в динамическом варианте никто не подразумевает деление строк, подразумевается неявное приведение
источник

YS

Yuriy Syrovetskiy in Compiler Development
наверно, когда говоришь о требованиях к типизации, надо формулировать, где проходят границы типов, а не просто "есть типы"
источник

DF

Dollar Føølish in Compiler Development
Да, логично
источник

AK

Andrei Kurosh in Compiler Development
Если просто переписать эту программу на строго типизированном языке, это будет не эквивалентная программа, т.к. семантика потеряется
источник

DF

Dollar Føølish in Compiler Development
Я за типизацию сам, мне просто сомнительно , что бестиповый формализм не более мощен чем любой типизированный.
источник

DF

Dollar Føølish in Compiler Development
Мне сказали что они равномощны т.к. можно навесить Any на все значения просто
источник

YS

Yuriy Syrovetskiy in Compiler Development
Dollar Føølish
Я за типизацию сам, мне просто сомнительно , что бестиповый формализм не более мощен чем любой типизированный.
отсутствие ограничение = присутствие 0 ограничений
источник

DF

Dollar Føølish in Compiler Development
Хех
источник

EM

Evgenii Moiseenko in Compiler Development
Dollar Føølish
Я за типизацию сам, мне просто сомнительно , что бестиповый формализм не более мощен чем любой типизированный.
в вашей постановке вопрос как-то теряет смысл,
надо зафиксировать язык и систему типов, её правила вывода, тогда можно что-то конкретное сказать
источник

EM

Evgenii Moiseenko in Compiler Development
так очевидно, что не всякая система типов позволяет вам любые программы выражать, самый простой пример simply typed lambda calculus
источник

DF

Dollar Føølish in Compiler Development
Да
источник

YS

Yuriy Syrovetskiy in Compiler Development
Evgenii Moiseenko
так очевидно, что не всякая система типов позволяет вам любые программы выражать, самый простой пример simply typed lambda calculus
разве STLC любые программы выражает?
источник

DF

Dollar Føølish in Compiler Development
Значит ответ либо да либо нет в зависимости от системы типов?
источник

EM

Evgenii Moiseenko in Compiler Development
Yuriy Syrovetskiy
разве STLC любые программы выражает?
это как раз пример, когда не выражает
источник

DF

Dollar Føølish in Compiler Development
Если так то действительно равномощны
источник

YS

Yuriy Syrovetskiy in Compiler Development
Dollar Føølish
Если так то действительно равномощны
математически да, равномощны друг другу и машине Тьюринга. но на практике это свойство бесполезно
источник

DF

Dollar Føølish in Compiler Development
Ну конечно никто на практике не будет писать any над каждым значением)
источник