git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
#114
876cfcdPhil Freeman
examples/passing/RedefinedFixity.pursnew file+14
@@ -0,0 +1,14 @@
1+module M1 where
2+
3+($) f a = f a
4+
5+infixr 1000 $
6+
7+module M2 where
8+
9+import M1
10+
11+module M3 where
12+
13+import M1
14+import M2
purescript.cabal+1−1
@@ -1,5 +1,5 @@
1name: purescript
1name: purescript
2−version: 0.3.1
2+version: 0.3.2
3cabal-version: >=1.8
3cabal-version: >=1.8
4build-type: Simple
4build-type: Simple
5license: MIT
5license: MIT
src/Language/PureScript/Sugar/Operators.hs−3
@@ -96,9 +96,6 @@ collectFixities m moduleName (FixityDeclaration fixity name : rest) = do
96 collectFixities (M.insert qual fixity m) moduleName rest
96 collectFixities (M.insert qual fixity m) moduleName rest
97collectFixities m moduleName (ImportDeclaration importedModule _ : rest) = do
97collectFixities m moduleName (ImportDeclaration importedModule _ : rest) = do
98 let fs = [ (i, fixity) | (Qualified mn i, fixity) <- M.toList m, mn == Just importedModule ]
98 let fs = [ (i, fixity) | (Qualified mn i, fixity) <- M.toList m, mn == Just importedModule ]
99− forM_ fs $ \(name, _) -> do
100− let qual = Qualified (Just moduleName) name
101− when (qual `M.member` m) (Left $ "redefined fixity for " ++ show name)
102 let m' = M.fromList (map (\(i, fixity) -> (Qualified (Just moduleName) i, fixity)) fs)
99 let m' = M.fromList (map (\(i, fixity) -> (Qualified (Just moduleName) i, fixity)) fs)
103 collectFixities (M.union m' m) moduleName rest
100 collectFixities (M.union m' m) moduleName rest
104collectFixities m moduleName (_:ds) = collectFixities m moduleName ds
101collectFixities m moduleName (_:ds) = collectFixities m moduleName ds