Size: a a a

2021 May 01

[

[BRM]White Rabbit in rust_offtopic
не зна. такой фрей
источник

H

Hirrolot in rust_offtopic
https://github.com/haskell/aeson/blob/master/examples/src/Simplest.hs
по-моему serde проще использовать
источник

[

[BRM]White Rabbit in rust_offtopic
не
источник

[

[BRM]White Rabbit in rust_offtopic
там с экстеншенами можно дерайвить
источник

H

Hirrolot in rust_offtopic
ну короче derive(Serializer) делаешь и всё заебись
источник

[

[BRM]White Rabbit in rust_offtopic
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nick Linker
Вывод типов в обобщённом коде трудная ли задача?
Если мы говорим об обобщённом коде с параметричностью и классами типов (возможно высшего порядка), то хоть и трудная, но алгоритмически однозначно разрешимая, вывод типов будет работать детерминированно и предсказуемо по времени.

В C++ по историческим причинам вывод типов оказался ограниченным, это несколько снижает удобство использования, но по-прежнему им можно успешно пользоваться, так что я не противопоставляю C++ чему-то.

Я скорее задаюсь вопросом: "Какие уже существующие конструкции языка помешали сделать вывод типов с расширенным контекстом? Или это было дизайнерское решение Консорциума не вводить эту фичу, чтобы сохранить предсказуемость компиляции?"

По-видимому неоднозначность вывода и послужило причиной, чтобы не делать сложный вывод. Ну я так понял из обсуждения выше.
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Igor Lorents
Есть мнение, что причина может быть в историческом наследии в виде неявного приедения типов в плюсах. В хаскеле, если вы в функцию передаёте условный char*, он никогда не будет приведен к типу std::string, или, прости боже, bool.
источник

Т8

Т-34 85 in rust_offtopic
Переслано от Nick Linker
Ну я и написал про неоднозначность)
источник

Т8

Т-34 85 in rust_offtopic
а что, в хаскелле нет вообще никаких неявных кастов и неявных конструкторов?
источник

Т8

Т-34 85 in rust_offtopic
ладно нет слабой типизации, это я поддерживаю. Но апкасты-то благо
источник

Т8

Т-34 85 in rust_offtopic
неявные конструкторы тоже могут иногда помогать
источник

[

[BRM]White Rabbit in rust_offtopic
в хаскеле нет неявных кастов
источник

[

[BRM]White Rabbit in rust_offtopic
есть тайпклассы, с помощью которых можно обозначить, что нужно функции для работы
источник

[

[BRM]White Rabbit in rust_offtopic
например в функцию Num a => a -> a -> a ты пихаешь любые два экземпляра тайпкласса Num (но при этом обязательно одного типа) и получаешь третий экземпляр
источник

Т8

Т-34 85 in rust_offtopic
а концепты в темплейтах?
источник

[

[BRM]White Rabbit in rust_offtopic
не совсем понимаю, что это
источник

[

[BRM]White Rabbit in rust_offtopic
и как оно должно работать
источник

Т8

Т-34 85 in rust_offtopic
констрейнты в дженериках
источник

Т8

Т-34 85 in rust_offtopic
where
источник