| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Language.Futhark.TypeChecker.Error
Contents
Description
Fundamental facilities for constructing type error messages.
Synopsis
- data BreadCrumbs
- hasNoBreadCrumbs :: BreadCrumbs -> Bool
- matchingField :: Name -> BreadCrumbs
- matchingConstructor :: Name -> BreadCrumbs
- matching :: Doc () -> BreadCrumbs
Breadcrumbs
data BreadCrumbs Source #
Unification failures can occur deep down inside complicated types
(consider nested records). We leave breadcrumbs behind us so we can
report the path we took to find the mismatch. When combining
breadcrumbs with the Semigroup instance, put the innermost
breadcrumbs to the left.
Instances
| Monoid BreadCrumbs Source # | |
Defined in Language.Futhark.TypeChecker.Error Methods mempty :: BreadCrumbs # mappend :: BreadCrumbs -> BreadCrumbs -> BreadCrumbs # mconcat :: [BreadCrumbs] -> BreadCrumbs # | |
| Semigroup BreadCrumbs Source # | |
Defined in Language.Futhark.TypeChecker.Error Methods (<>) :: BreadCrumbs -> BreadCrumbs -> BreadCrumbs # sconcat :: NonEmpty BreadCrumbs -> BreadCrumbs # stimes :: Integral b => b -> BreadCrumbs -> BreadCrumbs # | |
| Pretty BreadCrumbs Source # | |
Defined in Language.Futhark.TypeChecker.Error | |
hasNoBreadCrumbs :: BreadCrumbs -> Bool Source #
Is the path empty?
matchingField :: Name -> BreadCrumbs Source #
Matching a record field.
matchingConstructor :: Name -> BreadCrumbs Source #
Matching a constructor.
matching :: Doc () -> BreadCrumbs Source #
Matching anything.