Size: a a a

2020 January 19

AZ

Alex Zhukovsky in rust_offtopic
Для функции min например можно написать доказательство
источник

A

Aleksandr Khristenko in rust_offtopic
Короче в общем случае статическая типизация все ошибки логики не ловит.
источник

AZ

Alex Zhukovsky in rust_offtopic
Aleksandr Khristenko
Короче в общем случае статическая типизация все ошибки логики не ловит.
ловит, вопрос в том, насколько сложные типы тебе описывать придется
источник

AZ

Alex Zhukovsky in rust_offtopic
скорее "есть некоторый логичный предел за которым типы становятся настолько сложными что их использования не оправдано"
источник

AZ

Alex Zhukovsky in rust_offtopic
но это разные вещи
источник

DS

Doge Shibu in rust_offtopic
Aleksandr Khristenko
Короче в общем случае статическая типизация все ошибки логики не ловит.
Ловит, если это язык с зависимыми типами и ты сформулировал утверждение о корректности программы на уровне типов.
источник

A

Aleksandr Khristenko in rust_offtopic
Doge Shibu
Ловит, если это язык с зависимыми типами и ты сформулировал утверждение о корректности программы на уровне типов.
много таких в проде сейчас?
источник

А⚙

Антон ⚙️ in rust_offtopic
Alex Zhukovsky
Какая?
Ну блин.
"Programming defeatism: no technique will eliminate all bugs, so let's go with what worked in 70s"
источник

А⚙

Антон ⚙️ in rust_offtopic
Антон ⚙️
Ну блин.
"Programming defeatism: no technique will eliminate all bugs, so let's go with what worked in 70s"
Немного переврал, но суть именно такая
источник

А⚙

Антон ⚙️ in rust_offtopic
Aleksandr Khristenko
много таких в проде сейчас?
С натяжкой - Haskell. И не потому, что он в проде не используется, а потому, что завтипизированный язык из Haskell не очень
источник

А⚙

Антон ⚙️ in rust_offtopic
Щас Доге будет за скалку топить
источник

AZ

Alex Zhukovsky in rust_offtopic
Антон ⚙️
Ну блин.
"Programming defeatism: no technique will eliminate all bugs, so let's go with what worked in 70s"
а, точно
источник

DS

Doge Shibu in rust_offtopic
Aleksandr Khristenko
много таких в проде сейчас?
Смотря что считать продом для этих языков.

Из мейнстрима зависимые типы хотя бы в теоретическом виде есть в скале.

Вне мейнстрима: coq (прувер, он реально используется для доказательств много где), агда (экспериментальный язык-прувер, но сообщество активное), идрис (скорее язык общего назначения, а не прувер, но зав типы там из коробки)
источник

G

Gymmasssorla in rust_offtopic
Антон ⚙️
Щас Доге будет за скалку топить
В dotty разве зав. типы полноценные есть?
источник

DS

Doge Shibu in rust_offtopic
Gymmasssorla
В dotty разве зав. типы полноценные есть?
Они и в скале есть, просто работать с ними не удобно.

А так, зависимую пару и зависимую функцию ты сможешь выразить, так что зав типы есть
источник

G

Gymmasssorla in rust_offtopic
Doge Shibu
Они и в скале есть, просто работать с ними не удобно.

А так, зависимую пару и зависимую функцию ты сможешь выразить, так что зав типы есть
Очень интересно
источник

G

Gymmasssorla in rust_offtopic
То есть как в Idris, только работать менее удобно с ними?
источник

DS

Doge Shibu in rust_offtopic
Gymmasssorla
Очень интересно
https://stackoverflow.com/questions/12935731/any-reason-why-scala-does-not-explicitly-support-dependent-types/12937819

Вот тут в ответе можешь посмотреть подробности об их энкодинге в скале
источник

DS

Doge Shibu in rust_offtopic
Gymmasssorla
То есть как в Idris, только работать менее удобно с ними?
Нет, не как в идрисе или агде, т.к. просто поднять любую функцию на уровень типов не выйдет.
источник

DS

Doge Shibu in rust_offtopic
Но основные конструкции зав типов выразить можно
источник