VY
Size: a a a
VY
AK
row-poly Effects?VY
AK
AK
VY
AK
smolder использует?VY
VY
AK
AK
Either / Except / MonadError, весь UI оборачивается в Aff, потом в forall e. ReaderT Model (Aff e) a (где Model это модель) (который имплементит MonadError), за счёт этого ask можно использовать чтобы вытащить текущую модель, а runAff чтобы обработать ошибки и проч. и собственно запустить программуAK
AK
a — это модель, а то что я назвал Model это константные данные приложения (текущий юзер например)VY
VY
VY
VY
ЗП
VY
AK