git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Internalize function inside a where clause
bb9e918Antoine R. Dumont
psci/Main.hs+14−18
@@ -317,24 +317,6 @@ handleImport moduleName = do
317 PSCI $ lift $ put s
317 PSCI $ lift $ put s
318 return ()
318 return ()
319
319
320−-- |
321−-- Compute the file `extern.purs` for the module moduleName.
322−--
323−externPursFile :: FilePath -> FilePath
324−externPursFile moduleName = modulesDir ++ pathSeparator : moduleName ++ pathSeparator : "externs.purs"
325−
326−-- |
327−-- Read the module's type definition.
328−--
329−readModuleTypes :: String -> IO String
330−readModuleTypes [] = return "Module must be specified."
331−readModuleTypes moduleName = let moduleFile = externPursFile moduleName in
332− do
333− exists <- doesFileExist moduleFile
334− if exists
335− then readFile moduleFile
336− else return $ "Module '" ++ moduleName ++ "' not found!"
337−
338-- |
320-- |
339-- Browse and display the module's function signatures
321-- Browse and display the module's function signatures
340--
322--
@@ -342,6 +324,20 @@ handleBrowse :: P.ModuleName -> PSCI ()
342handleBrowse moduleName = do
324handleBrowse moduleName = do
343 psciIO $ (readModuleTypes . N.runModuleName) moduleName >>= putStrLn
325 psciIO $ (readModuleTypes . N.runModuleName) moduleName >>= putStrLn
344 return ()
326 return ()
327+ where
328+ -- Compute the file `extern.purs` for the module moduleName.
329+ externPursFile :: FilePath -> FilePath
330+ externPursFile modName = modulesDir ++ pathSeparator : modName ++ pathSeparator : "externs.purs"
331+
332+ -- Read the module's type definition.
333+ readModuleTypes :: String -> IO String
334+ readModuleTypes [] = return "Module must be specified."
335+ readModuleTypes modName = let modFile = externPursFile modName in
336+ do
337+ exists <- doesFileExist modFile
338+ if exists
339+ then readFile modFile
340+ else return $ "Module '" ++ modName ++ "' not found!"
345
341
346-- |
342-- |
347-- Takes a value and prints its type
343-- Takes a value and prints its type