Size: a a a

Compiler Development

2019 December 29

BD

Berkus Decker in Compiler Development
Alexey Veselovsky
дык вывод типов разве не поможет? аля хаскель тот же
Не знаю почему, но мне кажется Пётр не имел в виду Haskell.
источник

BD

Berkus Decker in Compiler Development
хотя бы потому что там типизация статическая
источник

МБ

Михаил Бахтерев in Compiler Development
Alexey Veselovsky
не обязательно же пришпиливать типы анотациями
А как ещё? Если явно не записать тип, то и инварианта никакого для функции не будет. Нужны хотя бы сигнатуры в стиле ML.
источник

AV

Alexey Veselovsky in Compiler Development
Михаил Бахтерев
А как ещё? Если явно не записать тип, то и инварианта никакого для функции не будет. Нужны хотя бы сигнатуры в стиле ML.
они нужны только на листочках, насколько я помню, дальше хаскель может справиться сам
источник

AV

Alexey Veselovsky in Compiler Development
плюс-минус
источник

AK

Andrei Kurosh in Compiler Development
Berkus Decker
ну да, прототипировать проще на динамике, рефакторить понаписанное - в статике, вот бы еще магический шаг посередине.
Gradual typing, а-ля Typescript таким шагом не является?
источник

МБ

Михаил Бахтерев in Compiler Development
Alexey Veselovsky
они нужны только на листочках, насколько я помню, дальше хаскель может справиться сам
На практике довольно часто не справляется. Ему лучше знать тип в вершине дерева. Тогда всё хорошо
источник

PS

Peter Sovietov in Compiler Development
Berkus Decker
Не знаю почему, но мне кажется Пётр не имел в виду Haskell.
Если Haskell, то — вот такое: https://core.ac.uk/download/pdf/39699597.pdf#page=209

"GHC makes no attempt to verify that the rule is consistent with the underlying function definitions, apart from ensuring that the left and right hand
sides of the rule have the same type. The whole point is that the rule asserts
something that GHC is not smart enough to work out for itself! "
источник

M

MaxGraey in Compiler Development
Berkus Decker
ну да, прототипировать проще на динамике, рефакторить понаписанное - в статике, вот бы еще магический шаг посередине.
Вывод типов по Хиндли - Милнеру? Динамическая строгая типизация или ЯП с неявным параметрическим полиморфизмом?
источник

YS

Yuriy Syrovetskiy in Compiler Development
Berkus Decker
ну да, прототипировать проще на динамике, рефакторить понаписанное - в статике, вот бы еще магический шаг посередине.
нет, прототипировать проще на том же, что в прод пойдёт
источник

YS

Yuriy Syrovetskiy in Compiler Development
Berkus Decker
ну да, прототипировать проще на динамике, рефакторить понаписанное - в статике, вот бы еще магический шаг посередине.
есть магический шаг в виде ghc -fdefer-type-errors
источник

BD

Berkus Decker in Compiler Development
Yuriy Syrovetskiy
есть магический шаг в виде ghc -fdefer-type-errors
не весь прод пишется на хаскелле, внезапно, сойдите пожалуйста из белой башни и оглянитесь вокруг
источник

AV

Alexey Veselovsky in Compiler Development
Berkus Decker
не весь прод пишется на хаскелле, внезапно, сойдите пожалуйста из белой башни и оглянитесь вокруг
я к тому, что выход есть.
источник

AV

Alexey Veselovsky in Compiler Development
можно еще упороться и все на шаблонах плюсовых писать 🙂
источник

PS

Peter Sovietov in Compiler Development
Этим диспутам цены бы не было, если бы велись они в контексте построения компиляторов ;)
источник

M

MaxGraey in Compiler Development
Yuriy Syrovetskiy
нет, прототипировать проще на том же, что в прод пойдёт
Расскажите это датасатанистам и статистам, которые на R, python и julia пишут, что они глупые и нужно сразу писать на C++, Java, Rust или Swift
источник

I

Ilmir in Compiler Development
Andrei Kurosh
У перля еще круче - там префиксы $ и @ меняют контекст для одной и той же переменной
Этот тот, который пятый? В Раку пофиксили, ибо это был очевидный баг.
источник

I

Ilmir in Compiler Development
Andrei Kurosh
Gradual typing, а-ля Typescript таким шагом не является?
Кто сказал Раку?
источник

AK

Andrei Kurosh in Compiler Development
Ilmir
Этот тот, который пятый? В Раку пофиксили, ибо это был очевидный баг.
В перле грань между багом и фичей тонка как никогда
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
Расскажите это датасатанистам и статистам, которые на R, python и julia пишут, что они глупые и нужно сразу писать на C++, Java, Rust или Swift
scientist-ы почему-то не любят Haskell :( Для меня мистика. Говорят - мешает.
источник