Size: a a a

2021 April 14

g

gavr in ru.nim.talks
тут окамл бы вывел что x и y токо плюсы
источник

g

gavr in ru.nim.talks
инты
источник

g

gavr in ru.nim.talks
а если + перегружен на н типов, то это типы суммы всех этих типов
источник

A

Alexander in ru.nim.talks
Нет, тут для разных сходных будет разный выходной, типа дженерика, но два разных выходных при одинаковых сходных не может быть
источник

g

gavr in ru.nim.talks
а, ну это да
источник

g

gavr in ru.nim.talks
выход всегда конеш не сумма
источник

A

Alexander in ru.nim.talks
По сути в Х-М это просто унификация, и ничего не мешает её делать на int|float как и на дженерик
источник

A

Alexander in ru.nim.talks
Что вот нету в ниме, так это обратного прохода при унификации как в хаскеле. Но это далеко не везде есть, в расте тоже нету
источник

g

gavr in ru.nim.talks
даже не представляю шо це
источник

f

for(int c; (c = getc... in ru.nim.talks
Оно будет использоваться для drnim, Вывод типов через hindley-millner не не планируется ни в каком виде
источник

f

for(int c; (c = getc... in ru.nim.talks
Ну и в общем если честно мне он кажется сомнительным плюсом в любом случае, и общее мнение примерно такое же
источник

A

Alexander in ru.nim.talks
Не очень понял. В любом случае вывод/проверка типов в ниме есть, иначе это не было бы статикой
источник

f

for(int c; (c = getc... in ru.nim.talks
Ну из тех периодических обсуждений который были когда кто-то про это спрашивал
источник

f

for(int c; (c = getc... in ru.nim.talks
hindley-millner работает в обе стороны - то есть вызов функции например может разрешаться на основе того какой переменной ты присваиваешь
источник

f

for(int c; (c = getc... in ru.nim.talks
В ниме используется то что называется синтезированным выводом типов кажется - есть начальные выражения тип которых известен, и на их основе последовательно вычисляются типы последующих
источник

f

for(int c; (c = getc... in ru.nim.talks
Но все это идет только в одну сторону, то есть вызов функции разрешается только на основе аргументов
источник

f

for(int c; (c = getc... in ru.nim.talks
Ну и понятное дело имени
источник

A

Alexander in ru.nim.talks
Я может не прав, но мне казалось что обратный проход не обязательно должен быть в х-м
источник

A

Alexander in ru.nim.talks
Если так, то сорян
источник

A

Alexander in ru.nim.talks
В общем в любом случае хорошо бы запилил этот обратный проход - в лямбдах типы не надо было бы указывать
источник