diff --git a/compiler/parser/Parser.y b/compiler/parser/Parser.y
index 11dc84f0a67fdbc39429bdd7026aa73dec31c524..9ddeb56ab50db3b36fdb59ec00e3a9442000f54d 100644
--- a/compiler/parser/Parser.y
+++ b/compiler/parser/Parser.y
@@ -2863,9 +2863,9 @@ constructors with 'type' keyword.
 
 This ambiguity causes reduce/reduce conflicts in parser, which are always
 resolved in favour of variable constructors. To get rid of conflicts we demand
-that ambigous type constructors (those, which are formed by the same
+that ambiguous type constructors (those, which are formed by the same
 productions as variable constructors) are always prefixed with 'type' keyword.
-Unambigous type constructors may occur both with or without 'type' keyword.
+Unambiguous type constructors may occur both with or without 'type' keyword.
 -}
 
 qtyconop :: { Located RdrName } -- Qualified or unqualified
diff --git a/compiler/parser/RdrHsSyn.hs b/compiler/parser/RdrHsSyn.hs
index d8c8b3a8186c9e9acf313b626617b2060fd2d5c8..f423c6e71b21e1a8000af25f49deb6c70022a697 100644
--- a/compiler/parser/RdrHsSyn.hs
+++ b/compiler/parser/RdrHsSyn.hs
@@ -1287,7 +1287,7 @@ mkImport (L lc cconv) (L ls safety) (L loc (StringLiteral esrc entity), v, ty)
                                                      , fd_co = noForeignImportCoercionYet
                                                      , fd_fi = importSpec }))
 
--- the string "foo" is ambigous: either a header or a C identifier.  The
+-- the string "foo" is ambiguous: either a header or a C identifier.  The
 -- C identifier case comes first in the alternatives below, so we pick
 -- that one.
 parseCImport :: Located CCallConv -> Located Safety -> FastString -> String
diff --git a/compiler/typecheck/TcRnDriver.hs b/compiler/typecheck/TcRnDriver.hs
index 823bd38bb217230cb62e67adcf357f141a280810..078b7dfac321207c93db89eba0332f556b1417a6 100644
--- a/compiler/typecheck/TcRnDriver.hs
+++ b/compiler/typecheck/TcRnDriver.hs
@@ -1953,7 +1953,7 @@ isGHCiMonad hsc_env ty
                 _ <- tcLookupInstance ghciClass [userTy]
                 return name
 
-            Just _  -> failWithTc $ text "Ambigous type!"
+            Just _  -> failWithTc $ text "Ambiguous type!"
             Nothing -> failWithTc $ text ("Can't find type:" ++ ty)
 
 -- tcRnExpr just finds the type of an expression