title: Haskell language pragmas
body: <p>What is the correct way to deduct what language pragmas are missing in case of an error?
  Quite often I find myself with an error which I cant figure out for some time. After hours of distress, I realize/google/accidently find that a language pragma is missing and everything goes well after I insert the missing pragma.</p>
  
  <p>It is not shown in the error, there is no clue like "try adding such and such pragma" or anything like that. I understand that the experienced haskellers just know it. But what about the beginners? Is there a way to instruct the compiler to give a clue?</p>
  
  <p>For instance, I often get type errors with Snap framework unless I put {-# LANGUAGE ExtendedDefaultRules #-}. I just try it because I see it in other source files.
  Is there a way to switch all the common pragmas on or at least to figure out what pragmas are needed in case of an error?</p>