Size: a a a

2021 February 20

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Ilya Lakhin
Поэтому она не тьюринг-полна, и следовательно не может определить корректность логики базовой программы. Так же как и система зав. типов
кто-то нахватался умных слов, но не до конца разобрался что они означают
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
унификация хиндли-милнера позволяет полностью вывести все типы в программе или доказать что это невозможно: вывести сообщение об ошибке типов из-за противоречивых требований в типах => обычная ошибка короче
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
никакой проблемы останова не нужно решать, потому что функции на тайплевеле - тотальные и всегда завершаются за конечное время
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
good night
источник

IL

Ilya Lakhin in rust_offtopic
Блин, я не знаю, что сказать, если честно
источник

IL

Ilya Lakhin in rust_offtopic
Он всегда такую ахинею несет? )
источник

A

Aleksandr Khristenko in rust_offtopic
Αλεχ Zhukovsky
потому что вся история дактайпинга - "ой мы не умеем объявлять интефрейсы для чужих типов"
Ну, в хаскеле есть тайпклассы. Но это не решает проблемы отсутствия row полиморфизма.
источник

A

Aleksandr Khristenko in rust_offtopic
Αλεχ Zhukovsky
Ок, давай я такой вопрос задам: как в твоем чудо-коде не читая тело foo понять, что она ожидает объект с интовым полем a?
Ну а как хаскель по телу лямбды и операциям, которые там совершаются выводит тип, необходимый на входе?
источник

A

Aleksandr Khristenko in rust_offtopic
Αλεχ Zhukovsky
унификация хиндли-милнера позволяет полностью вывести все типы в программе или доказать что это невозможно: вывести сообщение об ошибке типов из-за противоречивых требований в типах => обычная ошибка короче
Вроде как с 2010 ушли с хиндли-милнера.
источник

s

suhr in rust_offtopic
Αλεχ Zhukovsky
проблема останова только если у тебя завтипы. Обычная лямбда2-ерунда доказывается элементарно
Вывод типов в System F вообще говоря неразрешим.
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
suhr
Вывод типов в System F вообще говоря неразрешим.
он строит уравнения и вполне их уницифирует норм
источник

A

Aleksandr Khristenko in rust_offtopic
"кто-то нахватался умных слов, но не до конца разобрался что они означают" =)
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
по крайней мере из foo x y = x + 10*y он правильно выводит вполне требования
источник

s

suhr in rust_offtopic
Αλεχ Zhukovsky
он строит уравнения и вполне их уницифирует норм
В частных случаях.
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
suhr
В частных случаях.
отстуствтие топ левел деклараций это кодсмелл, ты и сам это знаешь
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
и не потому что он не может вывести
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Aleksandr Khristenko
"кто-то нахватался умных слов, но не до конца разобрался что они означают" =)
да-да, окей, уговорили, жс - лучший яп
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
с самым крутым компилятором
источник

A

Aleksandr Khristenko in rust_offtopic
Αλεχ Zhukovsky
да-да, окей, уговорили, жс - лучший яп
Хм, а ты всегда так относишься, когда с тобой в чем-то не соглашаются?
Я, если что, js вообще очень не люблю.
источник

s

suhr in rust_offtopic
Αλεχ Zhukovsky
отстуствтие топ левел деклараций это кодсмелл, ты и сам это знаешь
У тебя просто rank-n типов в коде нет, поэтому хаскель может вывести тебе тип.
источник