Module CASS.Configuration

This module supports the configuration of the analysis system and provides access to some values in Config file.

It also provides an operation to get the port number of the analysis server (which is implicitly started if necessary).

Author: Michael Hanus

Version: December 2018

Summary of exported operations:

systemBanner :: String   
baseDir :: String   
The base directory of the analysis tool containing all programs and documentations.
docDir :: String   
The directory containing the documentations of the various analyses.
executableName :: String   
The name of the main executable.
getServerAddress :: IO String   
The address of the server when it is connected from the worker clients.
updateRCFile :: IO ()   
Reads the rc file (and try to install a user copy of it if it does not exist) and compares the definitions with the default property file of the CASS distribution.
updateCurrentProperty :: String -> String -> IO ()   
storeServerPortNumber :: Int -> IO ()   
Stores the current server port number together with the pid of the server process.
removeServerPortNumber :: IO ()   
Removes the currently stored server port number.
getServerPortNumber :: IO Int   
Reads the current server port number.
getFPMethod :: IO String   
getWithPrelude :: IO String   
waitTime :: Int   
getDefaultPath :: IO String   
Gets the default load path from the property file (added at the end of CURRYPATH).
numberOfWorkers :: IO Int   

Exported operations:

systemBanner :: String   

baseDir :: String   

The base directory of the analysis tool containing all programs and documentations. It is used to copy the configuration file, to the find executables of the server and the workers, and to find the documentation of the various analyses.

Further infos:
  • solution complete, i.e., able to compute all solutions

docDir :: String   

The directory containing the documentations of the various analyses.

executableName :: String   

The name of the main executable. Used to start workers in CASS.Server.

Further infos:
  • solution complete, i.e., able to compute all solutions

getServerAddress :: IO String   

The address of the server when it is connected from the worker clients.

updateRCFile :: IO ()   

Reads the rc file (and try to install a user copy of it if it does not exist) and compares the definitions with the default property file of the CASS distribution. If the set of variables is different, update the rc file of the user with the distribution but keep the user's definitions.

updateCurrentProperty :: String -> String -> IO ()   

storeServerPortNumber :: Int -> IO ()   

Stores the current server port number together with the pid of the server process.

removeServerPortNumber :: IO ()   

Removes the currently stored server port number.

getServerPortNumber :: IO Int   

Reads the current server port number. If the server is not running, it is also started.

getFPMethod :: IO String   

getWithPrelude :: IO String   

waitTime :: Int   

getDefaultPath :: IO String   

Gets the default load path from the property file (added at the end of CURRYPATH).

numberOfWorkers :: IO Int