Size: a a a

F# Flood: ПДД made functional, making illegal state INGIBDDdale

2020 May 02

АВ

Андрей Вилинский... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Doge Shibu
Проблема в том, что тебе чтобы использовать инстанс тайпкласса не нужны его импорты.

А в данном случае придется эти импорты указывать.

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

В скале решили, что важнее возможность иметь несколько реализаций и там надо импортировать тайпклассы
нда, в скале очередность решает, что тоже в свою очередь не очевидно для программиста, которого не послали нахер за многозначность
источник

Dv

Dr. Friedrich von Ne... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
В итоге ну хз, насколько это нужно в хаскеле — видать, там автор пакета всегда лучше меня знает, с какими тайпклассами я захочу его сопрячь
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Dr. Friedrich von Never
В хаскеле, кажется, просто поленились сделать отдельный синтакс для такой фундаментальной проблемы.
В хаскеле, если ты не пишешь библиотеку, а исполняемый файл, то ты можешь реализовать чужой тайпкласс для чужого типа спокойно.
источник

Dv

Dr. Friedrich von Ne... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
А в эфшарпе мне для всех использований тайпклассов хотелось именно чужие тайпклассы поимплементить для чужих либов
источник

NM

Nikolay M in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Dr. Friedrich von Never
Потому что IEnumerableтайпкласс!
Чо
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Dr. Friedrich von Never
В итоге ну хз, насколько это нужно в хаскеле — видать, там автор пакета всегда лучше меня знает, с какими тайпклассами я захочу его сопрячь
Если хочешь с чужим типом, то оборачиваешь в свой ньютайп чужой тип и все работает
источник

NM

Nikolay M in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Почему
источник

Dv

Dr. Friedrich von Ne... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Nikolay M
Почему
А почему нет?
источник

Dv

Dr. Friedrich von Ne... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Doge Shibu
Если хочешь с чужим типом, то оборачиваешь в свой ньютайп чужой тип и все работает
И теряю все чужие тайпклассы с него
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Dr. Friedrich von Never
И теряю все чужие тайпклассы с него
Нет, у тебя есть дерайвинг инстансов для ньютайпов под это же
источник

Dv

Dr. Friedrich von Ne... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Если какой-то чужой тип объявлен как моноид, а я делаю для него newtype — мой newtype же перестанет быть моноидом?
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
да, но ты можешь сделать deriving Monoid
источник

Dv

Dr. Friedrich von Ne... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Doge Shibu
Нет, у тебя есть дерайвинг инстансов для ньютайпов под это же
Можно прям вот с родительского типа задерайвить?
источник

Dv

Dr. Friedrich von Ne... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Тогда лан.
источник

O

Orbarax in F# Flood: ПДД made functional, making illegal state INGIBDDdale
и via добавить
источник

Dv

Dr. Friedrich von Ne... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Кажись, в расте это просрали, но я не уверен.
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Dr. Friedrich von Never
Можно прям вот с родительского типа задерайвить?
Да, смотри GeneralizedNewtypeDeriving
источник

Dv

Dr. Friedrich von Ne... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Мне растоманы поясняли, что так нельзя сделать почему-то.
источник

Dv

Dr. Friedrich von Ne... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Я над ними насмехался, но они не поняли.
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Dr. Friedrich von Never
Кажись, в расте это просрали, но я не уверен.
Просрали, я иногда с этого горю
источник