← All posts tagged Haskell

alar

Есть class ParseArgs a и к нему
instance ParseArgs (Either WTF a)
instance (ParseArgs r, EType a) => Parse Args (a->r)
instance (ParseArgs r, EType a) => ParseArgs (Maybe a -> r)

что даёт нам ошибку Overlapping Instances, патамушто GHC неоткуда узнать, что instance EType (Maybe x) невозможен.
Какие возможны варианты лечения?
Нагуглить расширение языка, которое сделает закроет класс EType?
Огородить параметр a конструктором newtype Req a = REQ a ?
Заменить полиморфный instance (ParseArgs r, EType a)=> ParseArgs (a->r) на пачку частных случаев instance ParseArgs r => ParseArgs (Double -> r) ?

alar

*wtf Если верить документации, х-ёвый вызов splice должен быть последней операцией на сокете, чтение/запись данных после него производить не положено. Если верить документации, вызов ядра такой проблемы не имеет.

alar

Посоветуйте клиентскую либу для джаббера, на поиграться. Задача — сделать клиента, который общается серез jabber.ru с (чужим, уже существующим, одним) ботом и показывает мне простенький cli.