liquidhaskell-boot-0.9.2.5.0: Liquid Types for Haskell
Safe HaskellSafe-Inferred
LanguageHaskell98

Language.Haskell.Liquid.GHC.Logging

Description

This module exposes variations over the standard GHC's logging functions to work with the Doc type from the "pretty" package. We would like LiquidHaskell to emit diagnostic messages using the very same GHC machinery, so that IDE-like programs (e.g. "ghcid", "ghcide" etc) would be able to correctly show errors and warnings to the users, in ther editors.

Unfortunately, this is not possible to do out of the box because LiquidHaskell uses the Doc type from the "pretty" package but GHC uses (for historical reasons) its own version. Due to the fact none of the constructors are exported, we simply cannot convert between the two types effortlessly, but we have to pay the price of a pretty-printing "roundtrip".

Synopsis

Documentation

mkLongErrAt :: SrcSpan -> Doc -> Doc -> TcRn (MsgEnvelope DecoratedSDoc) Source #

Like GHC's mkLongErrAt, but it builds the final ErrMsg out of two "HughesPJ"'s Docs.