Size: a a a

PureScript — русскоговорящее сообщество

2019 January 23

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
не, это свои эффекты
источник

YL

Yura Lazarev in PureScript — русскоговорящее сообщество
нет, это purescript-run
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
Yura Lazarev
Кто может объяснить почему приведение типов в данном случае не работает?
aa :: forall r.  (aff :: AFF | r) ->  (aff :: AFF, effect :: EFFECT |r)
aa = identity
тут нужен констрейнт, что r гарантированно содержит effect
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
RowCons
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
ну и надо r1,r2
источник

YL

Yura Lazarev in PureScript — русскоговорящее сообщество
Спасибо
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
да  и еще
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
ты пытаешь заюзать identity для Rows
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
но identity работает с каиндами обычными, а не row
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
# Type != Type
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
у меня другая ошибка)
 aa :: forall r. (aff :: Run.AFF | r) -> (aff :: Run.AFF, effect :: Run.EFFECT | r)
                      ^^^^^^^^^^^^^^
 
 Could not match kind
 
   Type
 
 with kind
 
   # Type
 
 while checking the kind of ( aff :: AFF
                            | r
                            )
                            -> ( aff :: AFF
                               , effect :: EFFECT
                               | r
                               )
 in value declaration aa
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
тебе надо type equality но для rows?
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
возможно это какой-то бред, но вроде только так равенство типовое можно написать
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
aa :: forall r1 r2
 . Row.Union (aff :: Run.AFF) _ r1
 => Row.Union (aff :: Run.AFF, effect :: Run.EFFECT) _ r2
 => TypeEquals {| r1} {| r2}
 => {| r1}
 -> {| r2}
aa = from <<< to
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
или свой тайпкласс
class RowEquals (a ∷ # Type) (b ∷ # Type) | a -> b, b -> a where
 toR ∷ forall f. f a -> f b
 fromR ∷ forall f. f b -> f a

instance refl ∷ RowEquals r r where
 toR = identity
 fromR = identity

aa :: forall r1 r2
 . Row.Union (aff :: Run.AFF) _ r1
 => Row.Union (aff :: Run.AFF, effect :: Run.EFFECT) _ r2
 => RowEquals r1 r2
 => {| r1}
 -> {| r2}
aa = fromR <<< toR
источник

YL

Yura Lazarev in PureScript — русскоговорящее сообщество
👍
источник
2019 January 25

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
в общем, возникла необходимость глобальные события использовать
а у меня щас все построено на newtype AppM a = AppM (ReaderT Env Aff a)
так вот, я думаю использовать purescript-aff-bus и добавить пару Bus'es в Env свой
сходу не вижу ничего особенно плохого в этом, например, в слэмдата такого много https://github.com/natefaubion/slamdata/blob/8d7534b0a8e9819b2719ca088c620cf098630c80/src/SlamData/Wiring.purs#L138 (было во всяком случае)
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
кстати, если кто-то видел пример приложения на Halogen + Run — поделитесь плиз
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
Vasiliy Yorkin
кстати, если кто-то видел пример приложения на Halogen + Run — поделитесь плиз
зачем тебе Run?
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
ты чего ник сменил?
источник