Size: a a a

2020 December 04

к

кана in haskell_blah
data User = User { a :: Int } { b :: String }

ну вот если User такой?
источник

VD

Velvet Darkness in haskell_blah
Ну вот типа да.
источник

к

кана in haskell_blah
ну так тут пара рекордов
источник

к

кана in haskell_blah
а не один какой-то
источник

VD

Velvet Darkness in haskell_blah
А, это пара такая
источник

к

кана in haskell_blah
если
type User = { a :: Int, b :: String }
то
foo :: User -> Bar
будет работать для любых рекордов, в которых есть только эти два поля
источник

к

кана in haskell_blah
а если делать
foo :: { a :: Int, b :: String | r } -> Bar
то будет работать для в принципе любых рекордов, в которых есть эти два поля
источник

VD

Velvet Darkness in haskell_blah
А вот плохо такое. Вдруг у меня есть еще и NotUser { a: Int, b: String }
источник

AG

Alex Gryzlov in haskell_blah
кана
когда я был маленьким, меня сходу приучали писать максимально эффективный код

потом я долго не мог понять, как люди вообще могут писать скажем .map().map(), когда можно сделать все в одном мапе, а лучше в мутабельном цикле где сразу все обработать
вот это я и называю перекосом в сторону теории А в обучении
источник

JS

Jerzy Syrowiecki in haskell_blah
кана
f :: Y -> Y
f x = wrap ((unwrap x) { a = 1 })
можно апдэйты в языке переделать на class HasField
источник

AG

Alex Gryzlov in haskell_blah
Ryner ライナ Reinhardt ラインハルト
Это всё потому что там для тайп алиасов нельзя делать инстансы
а где можно?
источник

к

кана in haskell_blah
в хаскеле
источник

AG

Alex Gryzlov in haskell_blah
а зачем тогда ньютайпами обвешиваются когда на одно множество разные операции вешают?
источник

к

кана in haskell_blah
а никто же не сказал про разные операции
источник

AG

Alex Gryzlov in haskell_blah
тогда я чот не понимаю проблемы
источник

к

кана in haskell_blah
на тайпалиас и то что за ним стоит один набор операций
источник

к

кана in haskell_blah
я тоже не понял
источник

RR

Ryner ライナ Reinhardt ... in haskell_blah
Иногда нужно чтобы рекорд имплементировал инстанс определённого тайп класса
источник

RR

Ryner ライナ Reinhardt ... in haskell_blah
К примеру в таком случае тебе нужно его оборачивать в ньютайп
источник

RR

Ryner ライナ Reinhardt ... in haskell_blah
В хаскеле с этим проблем нет, а в пурсе — есть
источник