digitallyinduced/ihp

`Could not deduce (IsString string0)` when using logger (from v0.10.0 onwards)

Open

#927 opened on Jun 20, 2021

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Haskell (221 forks)batch import
enhancementgood first issue

Repository metrics

Stars
 (5,285 stars)
PR merge metrics
 (Avg merge 11h 20m) (21 merged PRs in 30d)

Description

Upon upgrading from 0.9.0 to 0.10.0 I get an error on this:

Log.debug "Some log message"

The error:

    • Could not deduce (IsString string0)
        arising from the literal '"Some log message"'
...
      The type variable 'string0' is ambiguous
      These potential instances exist:
        instance IsString Value
          -- Defined in 'aeson-1.5.4.1:Data.Aeson.Types.Internal'
        instance IsString ByteString
          -- Defined in 'Data.ByteString.Internal'
        instance (a ~ Char) => IsString (Seq a)
          -- Defined in 'Data.Sequence.Internal'
        ...plus four others
        ...plus 37 instances involving out-of-scope types
        (use -fprint-potential-instances to see them all)

Doing this works:

Log.debug ("Some log message" :: Text)

But that's a bit annoying to do everywhere. Anything smart I can do with my imports or something to avoid having to do that? Or must I be doing something weird to get this error in the first place?

Ref https://ihpframework.slack.com/archives/C01DQE0F4F8/p1624128600130600

Contributor guide