diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,3 +1,9 @@
+0.4.1 (24 November 2013)
+------------------------
+
+	- bug fix: avoid ambiguity errors when parsing unknown operators
+    - update to work with diagrams-1.0
+
 0.4.0.6 (2 October 2013)
 ------------------------
 
diff --git a/diagrams-builder.cabal b/diagrams-builder.cabal
--- a/diagrams-builder.cabal
+++ b/diagrams-builder.cabal
@@ -1,5 +1,5 @@
 name:                diagrams-builder
-version:             0.4.0.6
+version:             0.4.1
 synopsis:            hint-based build service for the diagrams graphics EDSL.
 
 description:         @diagrams-builder@ provides backend-agnostic tools for
@@ -47,7 +47,7 @@
                        Diagrams.Builder.Modules
                        Diagrams.Builder.CmdLine
   build-depends:       base >=4.2 && < 4.7,
-                       diagrams-lib >=0.6 && < 0.8,
+                       diagrams-lib >=0.6 && < 1.1,
                        hint ==0.3.*,
                        directory,
                        filepath,
@@ -94,9 +94,10 @@
                        filepath,
                        directory,
                        diagrams-builder,
-                       diagrams-lib >= 0.6 && < 0.8,
-                       diagrams-cairo >= 0.6 && < 0.8,
-                       cmdargs >= 0.6 && < 0.11
+                       diagrams-lib >= 0.6 && < 1.1,
+                       diagrams-cairo >= 0.6 && < 1.1,
+                       cmdargs >= 0.6 && < 0.11,
+                       lens >= 3.8 && < 3.11
 
 executable diagrams-builder-svg
   main-is:             diagrams-builder-svg.hs
@@ -113,8 +114,8 @@
                        filepath,
                        directory,
                        diagrams-builder,
-                       diagrams-lib >= 0.6 && < 0.8,
-                       diagrams-svg >= 0.8.0.1 && < 0.9,
+                       diagrams-lib >= 0.6 && < 1.1,
+                       diagrams-svg >= 0.8.0.1 && < 1.1,
                        blaze-svg >= 0.3.3 && < 0.4,
                        bytestring >= 0.9.2 && < 0.11,
                        cmdargs >= 0.6 && < 0.11
@@ -134,6 +135,7 @@
                        filepath,
                        directory,
                        diagrams-builder,
-                       diagrams-lib >= 0.6 && < 0.8,
-                       diagrams-postscript >= 0.6 && < 0.8,
-                       cmdargs >= 0.6 && < 0.11
+                       diagrams-lib >= 0.6 && < 1.1,
+                       diagrams-postscript >= 0.6 && < 1.1,
+                       cmdargs >= 0.6 && < 0.11,
+                       lens >= 3.8 && < 3.11
diff --git a/src/Diagrams/Builder.hs b/src/Diagrams/Builder.hs
--- a/src/Diagrams/Builder.hs
+++ b/src/Diagrams/Builder.hs
@@ -3,7 +3,7 @@
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE ScopedTypeVariables   #-}
 {-# LANGUAGE StandaloneDeriving    #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -fno-warn-orphans  #-}
 
 -----------------------------------------------------------------------------
 -- |
@@ -37,32 +37,34 @@
 
        ) where
 
-import           Control.Monad                (guard, mplus, mzero)
-import           Control.Monad.Trans.Maybe    (MaybeT, runMaybeT)
-import           Crypto.Hash                  (Digest, MD5,
-                                               digestToHexByteString, hash)
-import qualified Data.ByteString.Char8        as B
-import           Data.List                    (nub)
-import           Data.List.Split              (splitOn)
-import           Data.Maybe                   (catMaybes, fromMaybe)
-import           Data.Typeable                (Typeable)
-import           System.Directory             (doesFileExist,
-                                               getDirectoryContents,
-                                               getTemporaryDirectory,
-                                               removeFile)
-import           System.FilePath              (takeBaseName, (<.>), (</>))
-import           System.IO                    (hClose, hPutStr, openTempFile)
+import           Control.Monad                       (guard, mplus, mzero)
+import           Control.Monad.Trans.Maybe           (MaybeT, runMaybeT)
+import           Crypto.Hash                         (Digest, MD5,
+                                                      digestToHexByteString,
+                                                      hash)
+import qualified Data.ByteString.Char8               as B
+import           Data.List                           (nub)
+import           Data.List.Split                     (splitOn)
+import           Data.Maybe                          (catMaybes, fromMaybe)
+import           Data.Typeable                       (Typeable)
+import           System.Directory                    (doesFileExist,
+                                                      getDirectoryContents,
+                                                      getTemporaryDirectory,
+                                                      removeFile)
+import           System.FilePath                     (takeBaseName, (<.>),
+                                                      (</>))
+import           System.IO                           (hClose, hPutStr,
+                                                      openTempFile)
 
-import           Language.Haskell.Exts        (ImportDecl, Module (..),
-                                               ModuleName (..), importModule,
-                                               prettyPrint)
-import           Language.Haskell.Interpreter hiding (ModuleName)
+import           Language.Haskell.Exts               (ImportDecl, Module (..),
+                                                      importModule, prettyPrint)
+import           Language.Haskell.Interpreter        hiding (ModuleName)
 
 import           Diagrams.Builder.CmdLine
 import           Diagrams.Builder.Modules
-import           Diagrams.Prelude             hiding (e, (<.>))
-import           System.Environment           (getEnvironment)
+import           Diagrams.Prelude                    hiding ((<.>))
 import           Language.Haskell.Interpreter.Unsafe (unsafeRunInterpreterWithArgs)
+import           System.Environment                  (getEnvironment)
 
 deriving instance Typeable Any
 
@@ -298,9 +300,9 @@
 
   -> IO (String, Maybe (a -> a))
 
-hashedRegenerate upd dir src = do
+hashedRegenerate upd d src = do
   let fileBase = hashStr src
-  files <- getDirectoryContents dir
+  files <- getDirectoryContents d
   case any ((fileBase==) . takeBaseName) files of
     True  -> return (fileBase, Nothing)
     False -> return (fileBase, Just (upd fileBase))
diff --git a/src/Diagrams/Builder/Modules.hs b/src/Diagrams/Builder/Modules.hs
--- a/src/Diagrams/Builder/Modules.hs
+++ b/src/Diagrams/Builder/Modules.hs
@@ -11,12 +11,13 @@
 
 module Diagrams.Builder.Modules where
 
-import Data.Function (on)
-import Data.List (foldl', isPrefixOf, groupBy, sortBy, nub)
-import Data.Ord  (comparing)
+import           Data.Function                (on)
+import           Data.List                    (foldl', groupBy, isPrefixOf, nub,
+                                               sortBy)
+import           Data.Ord                     (comparing)
 
-import Language.Haskell.Exts
-import Language.Haskell.Exts.SrcLoc (noLoc)
+import           Language.Haskell.Exts
+import           Language.Haskell.Exts.SrcLoc (noLoc)
 
 ------------------------------------------------------------
 -- Manipulating modules
@@ -52,9 +53,15 @@
 --   Haskell code, producing a @Module@ or an error message.
 doModuleParse :: String -> Either String Module
 doModuleParse src =
-  case parseFileContents src of
+  case parseFileContentsWithMode parseMode src of
     ParseFailed _ err -> Left err
     ParseOk m         -> return m
+  where
+    parseMode
+      = defaultParseMode
+        { baseLanguage = Haskell2010
+        , fixities     = Nothing
+        }
 
 -- | Remove all the literate comments and bird tracks from a literate
 --   Haskell file.  Has no effect on non-literate source.
@@ -76,7 +83,7 @@
 addPragmas :: [String] -> Module -> Module
 addPragmas langs (Module l n p w e i d) = Module l n (f p) w e i d
   where f [] = [LanguagePragma noLoc (map Ident langs)]
-        f (LanguagePragma loc ps : rest) = LanguagePragma loc (ps ++ map Ident langs) : rest
+        f (LanguagePragma lpLoc ps : rest) = LanguagePragma lpLoc (ps ++ map Ident langs) : rest
         f (x : rest) = x : f rest
 
 -- | Add some imports to a module if necessary.
@@ -116,4 +123,3 @@
 -- | Convert a @ModuleName@ to a @String@.
 getModuleName :: ModuleName -> String
 getModuleName (ModuleName n) = n
-
diff --git a/src/tools/diagrams-builder-cairo.hs b/src/tools/diagrams-builder-cairo.hs
--- a/src/tools/diagrams-builder-cairo.hs
+++ b/src/tools/diagrams-builder-cairo.hs
@@ -37,7 +37,7 @@
            []
            [ "Diagrams.Backend.Cairo" ]
            (hashedRegenerate
-             (\hash opts -> opts { cairoFileName = mkFile hash ext })
+             (\hash opts -> opts & cairoFileName .~ mkFile hash ext)
              dir
            )
   case res of
diff --git a/src/tools/diagrams-builder-ps.hs b/src/tools/diagrams-builder-ps.hs
--- a/src/tools/diagrams-builder-ps.hs
+++ b/src/tools/diagrams-builder-ps.hs
@@ -27,7 +27,7 @@
            []
            [ "Diagrams.Backend.Postscript" ]
            (hashedRegenerate
-             (\hash opts -> opts { psfileName = mkFile hash })
+             (\hash opts -> opts & psfileName .~ mkFile hash )
              dir
            )
 
