Черта "Нет экземпляра для", которая уже реализована

Я хотел бы использовать Слуги ClientM монада с finally:: MonadBaseControl IO m => m a -> m b -> m a, но столкнулся с ошибкой No instance for (MonadBaseControl IO ClientM),

Как ни странно, этот точный экземпляр уже определен, будь то из внутреннего модуля.

Нужно ли как-то явно импортировать такие экземпляры?

1 ответ

Решение

Это работает нормально, если, как сказал Дэниел, вы импортируете модуль, который определяет желаемый экземпляр:

Prelude> import Control.Exception.Lifted
Prelude Control.Exception.Lifted> import Servant.Client
Prelude Control.Exception.Lifted Servant.Client> :set -XTypeApplications
Prelude Control.Exception.Lifted Servant.Client> :type finally @ ClientM
finally @ ClientM :: ClientM a -> ClientM b -> ClientM a
Другие вопросы по тегам