on master help sign in
javascript: main and invokeLoop as JS
commit566648c528106d8ccdca0f1ae86323e1134f94ee authorraichoo <raichoo@googlemail.com> dateThu 23 Jan 2014, 22:11 (13 years ago) parentcb1fab7
1 file changed+8−6
src/IRTS/CodegenJavaScript.hs+8−6
src/IRTS/CodegenJavaScript.hs+8−6
@@ -831,7 +831,7 @@ codegenJavaScript target definitions filename outputType = do
831831 intercalate "\n" $ [ jsbn
832832 , idrRuntime
833833 , tgtRuntime
834− ] ++ functions ++ [mainLoop, invokeLoop]
834+ ] ++ functions
835835 )
836836
837837 setPermissions filename (emptyPermissions { readable = True
@@ -844,7 +844,9 @@ codegenJavaScript target definitions filename outputType = do
844844
845845 functions :: [String]
846846 functions =
847− let translated = concatMap translateDeclaration def
847+ let translated =
848+ concatMap translateDeclaration def ++ [mainLoop, invokeLoop]
849+
848850 optimized = map optimizeJS translated
849851 idsRemoved = removeIDs optimized
850852 reduced = reduceJS idsRemoved
@@ -854,8 +856,8 @@ codegenJavaScript target definitions filename outputType = do
854856 js = deadEvalApplyCases removeAlloc in
855857 map compileJS js
856858
857− mainLoop :: String
858− mainLoop = compileJS $
859+ mainLoop :: JS
860+ mainLoop =
859861 JSAlloc "main" $ Just $ JSFunction [] (
860862 case target of
861863 Node -> mainFun
@@ -872,8 +874,8 @@ codegenJavaScript target definitions filename outputType = do
872874 runMain :: String
873875 runMain = idrNamespace ++ translateName (sMN 0 "runMain")
874876
875− invokeLoop :: String
876− invokeLoop = compileJS $ jsCall "main" []
877+ invokeLoop :: JS
878+ invokeLoop = jsCall "main" []
877879
878880translateIdentifier :: String -> String
879881translateIdentifier =