Giter VIP home page Giter VIP logo

error-message-index's Introduction

The Haskell Message Index

.github/workflows/deploy.yml

View the site → https://errors.haskell.org/

Haskell tooling emits a variety of errors, warnings, and other messages. In recent versions, some of these tools emit a unique code for each message that allows it to be identified. This site allows these codes to be looked up, providing examples, context, and further information that can make them easier to understand.

Supported Tools

Today, the Haskell Message Index supports three tools. Any user-facing Haskell-related programming tools are welcome to join the effort!

Tool Earliest supported version Namespace
GHC 9.6.1 GHC-
Stack 2.9.3 S-
GHCup 0.1.19.0 GHCup-
Cabal 3.12 Cabal-

Contributing to the Message Index

Contributions may come in the form of changes to the code base, as well as opening or commenting on issues and pull requests. You are warmly invited to participate!

Please see CONTRIBUTING.md for instructions on improving the site. Thanks!

If you're a Haskell tool developer who would like to integrate your project with the site, please refer to tool-developers.md for recommendations regarding the error codes themselves.

Maintenance

The Message Index is a project of the Haskell Foundation, maintained on a volunteer basis by David Binder (@BinderDavid). Please get in touch if you have ideas, requests, or any other feedback!

error-message-index's People

Contributors

47cid avatar aionescu avatar alt-romes avatar binderdavid avatar bodigrim avatar chreekat avatar chungyc avatar david-christiansen avatar davidlaewen avatar dylan-thinnes avatar fisx avatar hasufell avatar hsyl20 avatar hugopeters1024 avatar inverseintegral avatar isomorpheme avatar jhrcek avatar jzwood avatar ketzacoatl avatar maralorn avatar mknorps avatar morrowm avatar nomeata avatar ppkfs avatar reasonable-solutions avatar serras avatar soupstraw avatar tauomicronmu avatar tbidne avatar victorcmiraldo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

error-message-index's Issues

Examples should be opened by default

To reproduce: go to any page; the example requires a click to open the dropdown.

Expected: it's just much nicer to read if the example is automatically expanded.

`TcRnUserTypeError` 47403 should be folded into `UserTypeError` 64725

TcRnUserTypeError (47403) and UserTypeError (64725) really are the same error, but they get triggered in different parts of the compiler. At first I thought one was specifically for constraints and the other one for type families, but it's more subtle than that (in some cases, adding/removing a type signature changes which one you get), but for the user it really doesn't make a difference. If they had the same error code, that wouldn't be a problem. Another alternative would be to allow redirections, so e.g. the link for TcRnUserTypeError (47403) simply redirects to the page for UserTypeError (64725).

[Tasks] All tasks

Tidied up Alejandro's excellent lists and also sorted them numerically

Tc is from GHC.Tc.Errors.Ppr

Driver is from GHC.Driver.Errors.Ppr

Ps is from GHC.Parser.Errors.Ppr

Ds is from GHC.HsToCore.Errors.Ppr

[Tasks] Type checker errors

From GHC.Tc.Errors.Ppr

  • TcRnSolverReport (SolverReportWithCtxt { reportContent = msg } : _) _ _ -> get_code msg
    • BadTelescope {} -> Just 97739
    • UserTypeError {} -> Just 64725
    • ReportHoleError {} -> Just 88464
    • CannotUnifyWithPolytype {} -> Just 91028
    • Mismatch {} -> Just 18872
    • KindMismatch {} -> Just 89223
    • TypeEqMismatch {} -> Just 46956 -- this should probably be split up
    • FixedRuntimeRepError {} -> Just 55287
    • SkolemEscape {} -> Just 83865
    • UntouchableVariable {} -> Just 34699
    • BlockedEquality {} -> Just 6200
    • ExpectingMoreArguments {} -> Just 81325
    • UnboundImplicitParams {} -> Just 91416
    • CouldNotDeduce {} -> Just 5617
    • AmbiguityPreventsSolvingCt {} -> Just 78125
    • CannotResolveInstance {} -> Just 39999
    • OverlappingInstances {} -> Just 43085
    • UnsafeOverlap {} -> Just 36705
  • TcRnRedundantConstraints {} -> Just 30606
  • TcRnInaccessibleCode {} -> Just 40564
  • TcRnTypeDoesNotHaveFixedRuntimeRep{} -> Just 18478
  • TcRnImplicitLift{} -> Just 846
  • TcRnUnusedPatternBinds{} -> Just 61367
  • TcRnDodgyImports{} -> Just 99623
  • TcRnDodgyExports{} -> Just 75356
  • TcRnMissingImportList{} -> Just 77037
  • TcRnUnsafeDueToPlugin{} -> Just 1687
  • TcRnModMissingRealSrcSpan{} -> Just 84170
  • TcRnIdNotExportedFromModuleSig{} -> Just 44188
  • TcRnIdNotExportedFromLocalSig{} -> Just 50058
  • TcRnShadowedName{} -> Just 63397
  • TcRnDuplicateWarningDecls{} -> Just 711
  • TcRnSimplifierTooManyIterations{} -> Just 95822
  • TcRnIllegalPatSynDecl{} -> Just 82077
  • TcRnLinearPatSyn{} -> Just 15172
  • TcRnEmptyRecordUpdate -> Just 20825
  • TcRnIllegalFieldPunning{} -> Just 44287
  • TcRnIllegalWildcardsInRecord{} -> Just 37132
  • TcRnIllegalWildcardInType{} -> Just 65507
  • TcRnDuplicateFieldName{} -> Just 85524
  • TcRnIllegalViewPattern{} -> Just 22406
  • TcRnCharLiteralOutOfRange{} -> Just 17268
  • TcRnIllegalWildcardsInConstructor{} -> Just 47217
  • TcRnIgnoringAnnotations{} -> Just 66649
  • TcRnAnnotationInSafeHaskell -> Just 68934
  • TcRnInvalidTypeApplication{} -> Just 95781
  • TcRnTagToEnumMissingValArg -> Just 36495
  • TcRnTagToEnumUnspecifiedResTy{} -> Just 8522
  • TcRnTagToEnumResTyNotAnEnum{} -> Just 49356
  • TcRnArrowIfThenElsePredDependsOnResultTy -> Just 55868
  • TcRnIllegalHsBootFileDecl -> Just 58195
  • TcRnRecursivePatternSynonym{} -> Just 72489
  • TcRnPartialTypeSigTyVarMismatch{} -> Just 88793
  • TcRnPartialTypeSigBadQuantifier{} -> Just 94185
  • TcRnMissingSignature{} -> Just 38417
  • TcRnPolymorphicBinderMissingSig{} -> Just 64414
  • TcRnOverloadedSig{} -> Just 16675
  • TcRnTupleConstraintInst{} -> Just 69012
  • TcRnAbstractClassInst{} -> Just 51758
  • TcRnNoClassInstHead{} -> Just 56538
  • TcRnUserTypeError{} -> Just 47403
  • TcRnConstraintInKind{} -> Just 1259
  • TcRnUnboxedTupleOrSumTypeFuncArg{} -> Just 19590
  • TcRnLinearFuncInKind{} -> Just 13218
  • TcRnForAllEscapeError{} -> Just 31147
  • TcRnVDQInTermType{} -> Just 51580
  • TcRnBadQuantPredHead{} -> Just 2550
  • TcRnIllegalTupleConstraint{} -> Just 77539
  • TcRnNonTypeVarArgInConstraint{} -> Just 80003
  • TcRnIllegalImplicitParam{} -> Just 75863
  • TcRnIllegalConstraintSynonymOfKind{} -> Just 75844
  • TcRnIllegalClassInst{} -> Just 53946
  • TcRnOversaturatedVisibleKindArg{} -> Just 45474
  • TcRnBadAssociatedType{} -> Just 38351
  • TcRnForAllRankErr{} -> Just 91510
  • TcRnMonomorphicBindings{} -> Just 55524
  • TcRnOrphanInstance{} -> Just 90177
  • TcRnFunDepConflict{} -> Just 46208
  • TcRnDupInstanceDecls{} -> Just 59692
  • TcRnConflictingFamInstDecls{} -> Just 34447
  • TcRnFamInstNotInjective{} -> Just 5175
  • TcRnBangOnUnliftedType{} -> Just 55666
  • TcRnMultipleDefaultDeclarations{} -> Just 99565
  • TcRnBadDefaultType{} -> Just 88933
  • TcRnPatSynBundledWithNonDataCon{} -> Just 66775
  • TcRnPatSynBundledWithWrongType{} -> Just 66025
  • TcRnDupeModuleExport{} -> Just 51876
  • TcRnExportedModNotImported{} -> Just 90973
  • TcRnNullExportedModule{} -> Just 64649
  • TcRnMissingExportList{} -> Just 85401
  • TcRnExportHiddenComponents{} -> Just 94558
  • TcRnDuplicateExport{} -> Just 47854
  • TcRnExportedParentChildMismatch{} -> Just 88993
  • TcRnConflictingExports{} -> Just 69158
  • TcRnAmbiguousField{} -> Just 2256
  • TcRnMissingFields{} -> Just 20125
  • TcRnFieldUpdateInvalidType{} -> Just 63055
  • TcRnNoConstructorHasAllFields{} -> Just 14392
  • TcRnMixedSelectors{} -> Just 40887
  • TcRnMissingStrictFields{} -> Just 95909
  • TcRnNoPossibleParentForFields{} -> Just 33238
  • TcRnBadOverloadedRecordUpdate{} -> Just 99339
  • TcRnStaticFormNotClosed{} -> Just 88431
  • TcRnUselessTypeable -> Just 90584
  • TcRnDerivingDefaults{} -> Just 20042
  • TcRnNonUnaryTypeclassConstraint{} -> Just 73993
  • TcRnPartialTypeSignatures{} -> Just 60661
  • TcRnCannotDeriveInstance _ _ _ _ rea
    • DerivErrNotWellKinded{} -> Just 62016
    • DerivErrSafeHaskellGenericInst -> Just 7214
    • DerivErrDerivingViaWrongKind{} -> Just 63174
    • DerivErrNoEtaReduce{} -> Just 38996
    • DerivErrBootFileFound -> Just 30903
    • DerivErrDataConsNotAllInScope{} -> Just 54540
    • DerivErrGNDUsedOnData -> Just 10333
    • DerivErrNullaryClasses -> Just 4956
    • DerivErrLastArgMustBeApp -> Just 28323
    • DerivErrNoFamilyInstance{} -> Just 82614
    • DerivErrNotStockDeriveable{} -> Just 158
    • DerivErrHasAssociatedDatatypes{} -> Just 34611
    • DerivErrNewtypeNonDeriveableClass -> Just 82023
    • DerivErrCannotEtaReduceEnough{} -> Just 26557
    • DerivErrOnlyAnyClassDeriveable{} -> Just 23244
    • DerivErrNotDeriveable{} -> Just 38178
    • DerivErrNotAClass{} -> Just 63388
    • DerivErrNoConstructors{} -> Just 64560
    • DerivErrLangExtRequired{} -> Just 86639
    • DerivErrDunnoHowToDeriveForType{} -> Just 48959
    • DerivErrMustBeEnumType{} -> Just 30750
    • DerivErrMustHaveExactlyOneConstructor{} -> Just 37542
    • DerivErrMustHaveSomeParameters{} -> Just 45539
    • DerivErrMustNotHaveClassContext{} -> Just 16588
    • DerivErrBadConstructor{} -> Just 16437
    • DerivErrGenerics{} -> Just 30367
    • DerivErrEnumOrProduct{} -> Just 58291
  • TcRnLazyGADTPattern -> Just 87005
  • TcRnArrowProcGADTPattern -> Just 64525
  • TcRnSpecialClassInst {} -> Just 97044
  • TcRnForallIdentifier {} -> Just 64088
  • TcRnTypeEqualityOutOfScope -> Just 12003
  • TcRnTypeEqualityRequiresOperators -> Just 58520
  • TcRnIllegalTypeOperator {} -> Just 62547
  • TcRnGADTMonoLocalBinds {} -> Just 58008
  • TcRnIncorrectNameSpace {} -> Just 31891
  • TcRnNotInScope {} -> Just 76037
  • TcRnUntickedPromotedThing {} -> Just 49957
  • TcRnIllegalBuiltinSyntax {} -> Just 39716
  • TcRnWarnDefaulting {} -> Just 18042
  • TcRnForeignImportPrimExtNotSet{} -> Just 49692
  • TcRnForeignImportPrimSafeAnn{} -> Just 26133
  • TcRnForeignFunctionImportAsValue{} -> Just 76251
  • TcRnFunPtrImportWithoutAmpersand{} -> Just 57989
  • TcRnIllegalForeignDeclBackend{} -> Just 3355
  • TcRnUnsupportedCallConv{} -> Just 1245
  • TcRnIllegalForeignType _ reason -> case reason of
    • TypeCannotBeMarshaled _ sub_reason -> case sub_reason of
      • NotADataType{} -> Just 31136
      • NewtypeDataConNotInScope{} -> Just 72317
      • UnliftedFFITypesNeeded{} -> Just 10964
      • NotABoxedMarshalableTyCon{} -> Just 89401
      • ForeignLabelNotAPtr{} -> Just 26070
      • NotSimpleUnliftedType{} -> Just 43510
      • NotBoxedKindAny{} -> Just 64097
    • ForeignDynNotPtr{} -> Just 27555
    • SafeHaskellMustBeInIO{} -> Just 57638
    • IOResultExpected{} -> Just 41843
    • UnexpectedNestedForall{} -> Just 92994
    • LinearTypesNotAllowed{} -> Just 57396
    • OneArgExpected{} -> Just 91490
    • AtLeastOneArgExpected{} -> Just 7641
  • TcRnInvalidCIdentifier{} -> Just 95774
  • TcRnExpectedValueId{} -> Just 1570
  • TcRnNotARecordSelector{} -> Just 47535
  • TcRnRecSelectorEscapedTyVar{} -> Just 55876
  • TcRnPatSynNotBidirectional{} -> Just 16444
  • TcRnSplicePolymorphicLocalVar{} -> Just 6568
  • TcRnIllegalDerivingItem{} -> Just 11913
  • TcRnUnexpectedAnnotation{} -> Just 18932
  • TcRnIllegalRecordSyntax{} -> Just 89246
  • TcRnUnexpectedTypeSplice{} -> Just 39180
  • TcRnInvalidVisibleKindArgument{} -> Just 20967
  • TcRnTooManyBinders{} -> Just 5989
  • TcRnDifferentNamesForTyVar{} -> Just 17370
  • TcRnInvalidReturnKind{} -> Just 55233
  • TcRnClassKindNotConstraint{} -> Just 80768
  • TcRnUnpromotableThing{} -> Just 88634
  • TcRnMatchesHaveDiffNumArgs{} -> Just 91938
  • TcRnCannotBindScopedTyVarInPatSig{} -> Just 46131
  • TcRnCannotBindTyVarsInPatBind{} -> Just 48361
  • TcRnTooManyTyArgsInConPattern{} -> Just 1629
  • TcRnMultipleInlinePragmas{} -> Just 96665
  • TcRnUnexpectedPragmas{} -> Just 88293
  • TcRnNonOverloadedSpecialisePragma{} -> Just 35827
  • TcRnSpecialiseNotVisible{} -> Just 85337

Coherency in structure

Do we want to have consistency in the following ideas?

  • module Main, module Example, module SpecificToThisErrorMessage, no module? (I personally think no module is best)
  • Should we be writing ideal Haskell; i.e. with top-level signatures?
  • Error messages in the index.md?

Meta: We should make it easier to pick up single issues for people who weren't at Zurihac

We have that very big list of tasks, but this isn't very clear.

We can convert these to individually tracked issues - e.g. #294 - which means there does not need to be someone with write access to continually update the list.

We could also get some kind of automatic triaging bot to then assign these labels (project:error-index perhaps?). We could then have further human triaging - linking to relevant tests in GHC, tagging easy issues as low hanging fruit (e.g. "parse error: construct where it should not be").

I've done something similar at work (I proposed a new triage system, I got the go ahead, and I implemented it).

My concrete proposal:

  • Link every individual point to an issue
  • Mark up those of which are easy to pickup
  • Make it clear how people can document, help, etc. when not necessarily having the time to commit an entire code.

[Tasks] Driver errors

From GHC.Driver.Errors.Ppr

  • DriverPsHeaderMessage {} -> Just 34188
  • DriverMissingHomeModules{} -> Just 32850
  • DriverUnknownHiddenModules {} -> Just 38189
  • DriverUnknownReexportedModules {} -> Just 68286
  • DriverUnusedPackages{} -> Just 42258
  • DriverUnnecessarySourceImports{} -> Just 88907
  • DriverDuplicatedModuleDeclaration{} -> Just 29235
  • DriverModuleNotFound{} -> Just 82272
  • DriverFileModuleNameMismatch{} -> Just 28623
  • DriverUnexpectedSignature{} -> Just 66004
  • DriverFileNotFound{} -> Just 49196
  • DriverStaticPointersNotSupported -> Just 77799
  • DriverBackpackModuleNotFound{} -> Just 19971
  • DriverUserDefinedRuleIgnored{} -> Just 56147
  • DriverMixedSafetyImport{} -> Just 70172
  • DriverCannotLoadInterfaceFile{} -> Just 37141
  • DriverInferredSafeModule{} -> Just 58656
  • DriverMarkedTrustworthyButInferredSafe{} -> Just 19244
  • DriverInferredSafeImport{} -> Just 82658
  • DriverCannotImportUnsafeModule{} -> Just 44360
  • DriverMissingSafeHaskellMode{} -> Just 29747
  • DriverPackageNotTrusted{} -> Just 8674
  • DriverCannotImportFromUntrustedPackage{} -> Just 75165
  • DriverRedirectedNoMain {} -> Just 95379
  • DriverHomePackagesNotClosed {} -> Just 3271

Server logs

We should figure out how to monitor which pages are most popular to focus efforts.

Add an example of conflicting imports that doesn't exclusively use qualified names

In haskell/error-messages#100 I only did an example where both names are imported qualified, but I think the error would also be triggered by something like

module Greeting (W.greeting, greeting) where

import qualified World as W
import Universe (greeting)

and

module Greeting (W.greeting, module Universe) where

import qualified World as W
import Universe (greeting)

so doing at least one of those would probably be useful.

[Tasks] Parser errors

From GHC.Parser.Errors.Ppr

  • PsHeaderMessage m
    • PsErrParseLanguagePragma{} -> Just 68686
    • PsErrUnsupportedExt{} -> Just 46537
    • PsErrParseOptionsPragma{} -> Just 24342
    • PsErrUnknownOptionsPragma{} -> Just 4924
  • PsWarnBidirectionalFormatChars{} -> Just 3272
  • PsWarnTab{} -> Just 94817
  • PsWarnTransitionalLayout{} -> Just 93617
  • PsWarnOperatorWhitespaceExtConflict{} -> Just 47082
  • PsWarnOperatorWhitespace{} -> Just 40798
  • PsWarnHaddockInvalidPos -> Just 94458
  • PsWarnHaddockIgnoreMulti -> Just 5641
  • PsWarnStarBinder -> Just 21887
  • PsWarnStarIsType -> Just 39567
  • PsWarnUnrecognisedPragma -> Just 42044
  • PsWarnMisplacedPragma{} -> Just 28007
  • PsWarnImportPreQualified -> Just 7924
  • PsErrLexer{} -> Just 21231
  • PsErrCmmLexer -> Just 75725
  • PsErrCmmParser{} -> Just 9848
  • PsErrParse{} -> Just 58481
  • PsErrTypeAppWithoutSpace{} -> Just 84077
  • PsErrLazyPatWithoutSpace{} -> Just 27207
  • PsErrBangPatWithoutSpace{} -> Just 95644
  • PsErrInvalidInfixHole -> Just 45106
  • PsErrExpectedHyphen -> Just 44524
  • PsErrSpaceInSCC -> Just 76176
  • PsErrEmptyDoubleQuotes{} -> Just 11861
  • PsErrLambdaCase{} -> Just 51179
  • PsErrEmptyLambda{} -> Just 71614
  • PsErrLinearFunction{} -> Just 31574
  • PsErrMultiWayIf{} -> Just 28985
  • PsErrOverloadedRecordUpdateNotEnabled{} -> Just 82135
  • PsErrNumUnderscores{} -> Just 62330
  • PsErrIllegalBangPattern{} -> Just 79767
  • PsErrOverloadedRecordDotInvalid{} -> Just 26832
  • PsErrIllegalPatSynExport -> Just 89515
  • PsErrOverloadedRecordUpdateNoQualifiedFields -> Just 94863
  • PsErrExplicitForall{} -> Just 25955
  • PsErrIllegalQualifiedDo{} -> Just 40280
  • PsErrQualifiedDoInCmd{} -> Just 54089
  • PsErrRecordSyntaxInPatSynDecl{} -> Just 28021
  • PsErrEmptyWhereInPatSynDecl{} -> Just 13248
  • PsErrInvalidWhereBindInPatSynDecl{} -> Just 24737
  • PsErrNoSingleWhereBindInPatSynDecl{} -> Just 65536
  • PsErrDeclSpliceNotAtTopLevel{} -> Just 8451
  • PsErrMultipleNamesInStandaloneKindSignature{} -> Just 42569
  • PsErrIllegalExplicitNamespace -> Just 47007
  • PsErrUnallowedPragma{} -> Just 85314
  • PsErrImportPostQualified -> Just 87491
  • PsErrImportQualifiedTwice -> Just 5661
  • PsErrIllegalImportBundleForm -> Just 81284
  • PsErrInvalidRuleActivationMarker -> Just 50396
  • PsErrMissingBlock -> Just 16849
  • PsErrUnsupportedBoxedSumExpr{} -> Just 9550
  • PsErrUnsupportedBoxedSumPat{} -> Just 16863
  • PsErrUnexpectedQualifiedConstructor{} -> Just 73413
  • PsErrTupleSectionInPat{} -> Just 9646
  • PsErrOpFewArgs{} -> Just 24180
  • PsErrVarForTyCon{} -> Just 18208
  • PsErrMalformedEntityString -> Just 26204
  • PsErrDotsInRecordUpdate -> Just 70712
  • PsErrInvalidDataCon{} -> Just 46574
  • PsErrInvalidInfixDataCon{} -> Just 30670
  • PsErrIllegalPromotionQuoteDataCon{} -> Just 80236
  • PsErrUnpackDataCon -> Just 40845
  • PsErrUnexpectedKindAppInDataCon{} -> Just 83653
  • PsErrInvalidRecordCon{} -> Just 8195
  • PsErrIllegalUnboxedStringInPat{} -> Just 69925
  • PsErrIllegalUnboxedFloatingLitInPat{} -> Just 76595 (this one currently doesn't error)
  • PsErrDoNotationInPat{} -> Just 6446
  • PsErrIfThenElseInPat -> Just 45696
  • PsErrLambdaCaseInPat{} -> Just 7636
  • PsErrCaseInPat -> Just 53786
  • PsErrLetInPat -> Just 78892
  • PsErrLambdaInPat -> Just 482
  • PsErrArrowExprInPat{} -> Just 4584
  • PsErrArrowCmdInPat{} -> Just 98980
  • PsErrArrowCmdInExpr{} -> Just 66043
  • PsErrViewPatInExpr{} -> Just 66228
  • PsErrLambdaCmdInFunAppCmd{} -> Just 12178
  • PsErrCaseCmdInFunAppCmd{} -> Just 92971
  • PsErrLambdaCaseCmdInFunAppCmd{} -> Just 47171
  • PsErrIfCmdInFunAppCmd{} -> Just 97005
  • PsErrLetCmdInFunAppCmd{} -> Just 70526
  • PsErrDoCmdInFunAppCmd{} -> Just 77808
  • PsErrDoInFunAppExpr{} -> Just 52095
  • PsErrMDoInFunAppExpr{} -> Just 67630
  • PsErrLambdaInFunAppExpr{} -> Just 6074
  • PsErrCaseInFunAppExpr{} -> Just 25037
  • PsErrLambdaCaseInFunAppExpr{} -> Just 77182
  • PsErrLetInFunAppExpr{} -> Just 90355
  • PsErrIfInFunAppExpr{} -> Just 1239
  • PsErrProcInFunAppExpr{} -> Just 4807
  • PsErrMalformedTyOrClDecl{} -> Just 47568
  • PsErrIllegalWhereInDataDecl -> Just 36952
  • PsErrIllegalDataTypeContext{} -> Just 87429
  • PsErrPrimStringInvalidChar -> Just 43080
  • PsErrSuffixAT -> Just 33856
  • PsErrPrecedenceOutOfRange{} -> Just 25078
  • PsErrSemiColonsInCondExpr{} -> Just 75254
  • PsErrSemiColonsInCondCmd{} -> Just 18910
  • PsErrAtInPatPos -> Just 8382
  • PsErrParseErrorOnInput{} -> Just 66418
  • PsErrMalformedDecl{} -> Just 85316
  • PsErrUnexpectedTypeAppInDecl{} -> Just 45054
  • PsErrNotADataCon{} -> Just 25742
  • PsErrInferredTypeVarNotAllowed -> Just 57342
  • PsErrIllegalTraditionalRecordSyntax{} -> Just 65719
  • PsErrParseErrorInCmd{} -> Just 3790
  • PsErrInPat{} -> Just 7626
  • PsErrIllegalRoleName{} -> Just 9009
  • PsErrInvalidTypeSignature{} -> Just 94426
  • PsErrUnexpectedTypeInDecl{} -> Just 77878
  • PsErrInvalidPackageName{} -> Just 21926
  • PsErrParseRightOpSectionInPat{} -> Just 72516
  • PsErrIllegalGadtRecordMultiplicity{} -> Just 37475
  • PsErrInvalidCApiImport {} -> Just 72744

[Tasks] Desugarer errors

From GHC.HsToCore.Errors.Ppr

  • DsEmptyEnumeration -> Just 10190
  • DsIdentitiesFound{} -> Just 4214
  • DsOverflowedLiterals{} -> Just 97441
  • DsRedundantBangPatterns{} -> Just 38520
  • DsOverlappingPatterns{} -> Just 53633
  • DsInaccessibleRhs{} -> Just 94210
  • DsMaxPmCheckModelsReached{} -> Just 61505
  • DsNonExhaustivePatterns {} -> Just 62161
  • DsTopLevelBindsNotAllowed{} -> Just 48099
  • DsUselessSpecialiseForClassMethodSelector{} -> Just 93315
  • DsUselessSpecialiseForNoInlineFunction{} -> Just 38524
  • DsMultiplicityCoercionsNotSupported{} -> Just 59840
  • DsOrphanRule{} -> Just 58181
  • DsRuleLhsTooComplicated{} -> Just 69441
  • DsRuleIgnoredDueToConstructor{} -> Just 828
  • DsRuleBindersNotBound{} -> Just 40548
  • DsMultipleConForNewtype{} -> Just 5380
  • DsLazyPatCantBindVarsOfUnliftedType{} -> Just 17879
  • DsNotYetHandledByTH{} -> Just 65904
  • DsAggregatedViewExpressions{} -> Just 19551
  • DsUnbangedStrictPatterns{} -> Just 21030
  • DsCannotMixPolyAndUnliftedBindings{} -> Just 20036
  • DsWrongDoBind{} -> Just 8838
  • DsUnusedDoBind{} -> Just 81995
  • DsRecBindsNotAllowedForUnliftedTys{} -> Just 20185
  • DsRuleMightInlineFirst{} -> Just 95396
  • DsAnotherRuleMightFireFirst{} -> Just 87502

Seemingly-redundant error codes

Presently, both [GHC-76037] (TcRnNotInScope) and [GHC-88464] (TcSolverReport (SolverReportWithCtxt { reportContent = ReportHoleError ...) give very similar string messages, but are distinct:

<interactive>:2:7: error: [GHC-88464]
    Data constructor not in scope: X
ghci> \X -> X

<interactive>:3:2: error: [GHC-76037]
    Not in scope: data constructor ‘X’

We should follow up with the GHC folks about whether these should have the same code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.