Size: a a a

2021 January 21

ΑZ

Αλεχ Zhukovsky in rust_offtopic
а это кто
завтипы убивают вывод типов, не?
нет,Ю не убивают
источник

EG

Emmanuel Goldstein in rust_offtopic
В имплементации завтипы, впрочем, тоже сложные, потому что требуют тотальных функций
источник

EG

Emmanuel Goldstein in rust_offtopic
Αλεχ Zhukovsky
нет,Ю не убивают
Приведи контрпример, пожалуйста
источник

EG

Emmanuel Goldstein in rust_offtopic
В плане, язык с завтипами И рабочим выводом типов
источник

ΑZ

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

EG

Emmanuel Goldstein in rust_offtopic
Можно исследовательский
источник

EG

Emmanuel Goldstein in rust_offtopic
Αλεχ Zhukovsky
так ты когда-то приводил пример "выводы типов не работают". Казалось, что нельзя писать топдекларации без типов
Топдекларации-то хрен с ними. В идрисе вывод типов ломается просто везде, приходится the на the писать
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Emmanuel Goldstein
Топдекларации-то хрен с ними. В идрисе вывод типов ломается просто везде, приходится the на the писать
писал только там где тип иначе нельзя вывести, например фантомный
источник

а

а это кто in rust_offtopic
а это кто
вот как раз смотрел сегодня пониланг и там можно

type Alias = Clone + Whatever + You + Want
только там трейты это не констрейнты, а настоящие типы с множествами значений, а комбинация типов -- пересечение множеств значений поэтому

fn myfunc<T: A + B + C>(v: T);

превращается в

fn myfunc(v: A & B & C);

где & это то самое перксечение типов, значит v это переменная значение которой должно быть валидным и в трейте A, и B, и C
источник

а

а это кто in rust_offtopic
прикольно
источник

EG

Emmanuel Goldstein in rust_offtopic
Кстати
Есть ли что-нибудь легковесное, что сожрёт JSON, который выплёвывает трейсинг, и нарисует мне красивую HTML-страничку?
источник

EG

Emmanuel Goldstein in rust_offtopic
Текстовые логи это хорошо, но из-за спанов они начинают выглядеть так
Jan 20 23:06:24.445  INFO build{repo.owner="GoldsteinE" repo.name="tg-vimhelpbot" branch="master" url="https://github.com/GoldsteinE/tg-vimhelpbot" commit_hash="4269ea740af48ab09edeb55a607effcc8c2ed686"}: adm::runner::git: Cloned repo https://github.com/GoldsteinE/tg-vimhelpbot to "/srv/webhook/adm/GoldsteinE/tg-vimhelpbot/master" url="https://github.com/GoldsteinE/tg-vimhelpbot" path="/srv/webhook/adm/GoldsteinE/tg-vimhelpbot/master"
источник

r

red75prime in rust_offtopic
Emmanuel Goldstein
Топдекларации-то хрен с ними. В идрисе вывод типов ломается просто везде, приходится the на the писать
Дык. Неразрешимость вывода типов - плата за выразительность системы типов. И программирование лёгким движением руки превращается в доказательство теорем.
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
red75prime
Дык. Неразрешимость вывода типов - плата за выразительность системы типов. И программирование лёгким движением руки превращается в доказательство теорем.
тебе не обязательно доказывать
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
можно юзать 5% возможностей системы типов и радоваться
источник

ΑZ

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

fn myfunc<T: A + B + C>(v: T);

превращается в

fn myfunc(v: A & B & C);

где & это то самое перксечение типов, значит v это переменная значение которой должно быть валидным и в трейте A, и B, и C
ты тайпскрипт вообще не трогал?
источник

DS

Doge Shibu in rust_offtopic
Emmanuel Goldstein
В плане, язык с завтипами И рабочим выводом типов
Нет, потому что вывод типов не разрешим в присутствии зав типов по очевидным причинам.

Пишите типы ручками
источник

NL

Nick Linker in rust_offtopic
Hirrolot
А можешь показать пример как?
Похоже ты прав, я не нашёл реализацию через двоичную арифметику😞 В поисках этой самой арифметики даже нашёл свои древние упражнения на препроцессоре:
https://rsdn.org/forum/etude/521222.flat#531099

Это было ещё до Boost.PP, с тех пор в препроцессор добавили VA_ARGS, и можно теперь обойтись одним unroll, а не тремя группами макросов.
источник

r

red75prime in rust_offtopic
Не проще свой препроцессор написать? С рекурсией и гигиеной
источник

NL

Nick Linker in rust_offtopic
red75prime
Не проще свой препроцессор написать? С рекурсией и гигиеной
Тогда можно сразу haskell брать😊
источник