git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Operators can be function arguments again #124
d95f52fPhil Freeman
examples/passing/Operators.purs+2
@@ -42,3 +42,5 @@ module Operators2 where
42 (...) = \as -> \bs -> as
42 (...) = \as -> \bs -> as
43
43
44 test11 = [1, 2, 3] ... [4, 5, 6]
44 test11 = [1, 2, 3] ... [4, 5, 6]
45+
46+ test12 (<%>) a b = a <%> b
src/Language/PureScript/CodeGen/JS.hs+3−1
@@ -143,7 +143,9 @@ varToJs :: ModuleName -> Environment -> Qualified Ident -> JS
143varToJs m e qual@(Qualified _ ident) = case M.lookup (qualify m qual) (names e) of
143varToJs m e qual@(Qualified _ ident) = case M.lookup (qualify m qual) (names e) of
144 Just (_, ty) | isExtern ty -> JSVar ident
144 Just (_, ty) | isExtern ty -> JSVar ident
145 Just (_, Alias aliasModule aliasIdent) -> qualifiedToJS identToJs (Qualified (Just aliasModule) aliasIdent)
145 Just (_, Alias aliasModule aliasIdent) -> qualifiedToJS identToJs (Qualified (Just aliasModule) aliasIdent)
146+ _ -> case qual of
147+ Qualified Nothing _ -> JSVar ident
146− _ -> qualifiedToJS identToJs qual
148+ _ -> qualifiedToJS identToJs qual
147 where
149 where
148 isExtern (Extern ForeignImport) = True
150 isExtern (Extern ForeignImport) = True
149 isExtern (Alias m' ident') = case M.lookup (m', ident') (names e) of
151 isExtern (Alias m' ident') = case M.lookup (m', ident') (names e) of