Size: a a a

2020 July 12

AP

Anatolii Prylutskyi in Haskell
я начал смотреть на TF
источник

AP

Anatolii Prylutskyi in Haskell
но мне показалось что я справлюсь тайпклассами
источник

JS

Jerzy Syrowiecki in Haskell
Anatolii Prylutskyi
но мне показалось что я справлюсь тайпклассами
это и будет тайпкласс, но с довеском
источник

JS

Jerzy Syrowiecki in Haskell
хотя да, тайпкласс необязателен
источник

JS

Jerzy Syrowiecki in Haskell
type family EnvQueue a where
 EnvQueue Action1 = "action1"
 EnvQueue Action2 = "action2"

send ::
 forall a r m.
 (MonadIO m, HasField (EnvQueue a) r (TQueue a), MonadReader r m) => a -> m ()
send a = do
 chan <- asks (getField @(EnvQueue a))
 liftIO $ atomically $ writeTQueue chan a
источник

JS

Jerzy Syrowiecki in Haskell
источник

AP

Anatolii Prylutskyi in Haskell
спасибо!
источник

AP

Anatolii Prylutskyi in Haskell
я сам начал ковыряться
источник

JS

Jerzy Syrowiecki in Haskell
через generic-lens можно сразу искать поле определённого типа и не смотреть на имя
источник

AP

Anatolii Prylutskyi in Haskell
но у меня не получалось, увидел что вы уже написали
источник

AP

Anatolii Prylutskyi in Haskell
Jerzy Syrowiecki
через generic-lens можно сразу искать поле определённого типа и не смотреть на имя
про это я даже не подумал
источник

AP

Anatolii Prylutskyi in Haskell
а generic-lens выкинут ошибку если в рекорде будет 2 поля с одинаковыми типами?
источник

AP

Anatolii Prylutskyi in Haskell
у меня такое не планируется, но стало интересно
источник

JS

Jerzy Syrowiecki in Haskell
send ::
 forall a r m. (MonadIO m, HasType (TQueue a) r, MonadReader r m) => a -> m ()
send a = do
 chan <- asks $ getTyped @(TQueue a)
 liftIO $ atomically $ writeTQueue chan a
источник

JS

Jerzy Syrowiecki in Haskell
Anatolii Prylutskyi
а generic-lens выкинут ошибку если в рекорде будет 2 поля с одинаковыми типами?
да!

   • The type Env contains multiple values of type TQueue Action2.
     The choice of value is thus ambiguous. The offending constructors are:
     • Env
источник

AP

Anatolii Prylutskyi in Haskell
задумался, нужна ли мне type family
источник

AP

Anatolii Prylutskyi in Haskell
круто
источник

AP

Anatolii Prylutskyi in Haskell
спасибо еще раз!
источник

МВ

Максим Воротынский... in Haskell
Привет, пишу компилятор на Haskell. Решил сделать AST в виде типа-суммы. И как мне кажется, он получился слишком большим, и будет еще больше. Единственное, что придумал - разбить его на 2 части: внутри тела функции и глобальные вещи. Есть ли вариант лучше?
(до изменений)
источник

МВ

Максим Воротынский... in Haskell
Frame - это я так функцию назвал.
Дерево: type SyntaxTree = Tree HLElement
источник