[verbose Help
martin.hofmann@uni-bamberg.de**20090520144559] hunk ./src/Data/GlobalConfig.hs 20
-data RecArgComp = Linear | Pairwise
+data RecArgComp = Linear | AWise
hunk ./src/RuleDevelopment/Matching.hs 90
-                    Linear   -> on compareSizeLinear   (lhs.crul) tgt cll
-                    Pairwise -> on compareSizePairwise (lhs.crul) tgt cll
+                    Linear -> on compareSizeLinear   (lhs.crul) tgt cll
+                    AWise  -> on compareSizePairwise (lhs.crul) tgt cll
addfile ./src/UI/Help.hs
hunk ./src/UI/Help.hs 1
-
+
+module UI.Help where
+import Logging
+
+fillwords s = fillSep (map text $ words s)
+bText = bold.text
+verboseHelp :: Doc
+verboseHelp = 
+    linebreak <>
+    text "Explanation of Igor2's commands:" <$$>
+    text "=================================" <$$>
+    linebreak <>
+    fillwords ( "Generally commands can be abbreviated " ++
+                  "with the first character of the long command preceeded " ++
+                  "by a colon, e.g. ':h' for ':help'.")<$$>
+    fillwords ( "Multiple commands can be entered either " ++
+                  "one at a time, or together separated by a comma. " ++
+                  "Passing commands to Igor2 in batch mode or at " ++
+                  "command-line is similar. Except that you need to escape " ++
+                  "string quotes at command line with '\\\"'. For an example " ++
+                  "see the batch file 'expl/batch.txt'") <$$> linebreak <>
+    (bText $ ":quit") <$$>
+    indent 3 (fillwords "Quit the program.") <$$> linebreak <>
+    (bText $ ":help") <$$>
+    indent 3 (fillwords "A short help text.") <$$> linebreak <>
+    (bText $ ":verboseHelp") <$$>
+    indent 3 (fillwords "This longer helpt text.") <$$> linebreak <>
+    (bText $ ":load <path/to/file>") <$$>
+    indent 3 (fillwords $ "Load a specification file into Igor2's context. "++ 
+                          "The file is required to be a correct Haskell " ++
+                          "module and therefore has to type check. The I/O " ++
+                          "for a target function must be non-recursive, of " ++
+                          "course. All Prelude data types can be used and " ++
+                          "further data types can be defined in this module." ++
+                          "Imports are not supported, yet.") <$$> linebreak <>
+    (bText $ ":batch <path/to/file>") <$$>
+    indent 3 (fillwords $"Run all commands in the batch file until EOF, on " ++
+                         "command is not exectuable, or ':quit'.") <$$> linebreak <>
+    (bText $ ":yell \"something\"") <$$>
+    indent 3 (fillwords "Print \"something\" one the prompt.") <$$> linebreak <>
+    (bText $ ":reset") <$$>
+    indent 3 (fillwords $ "Resets the current context, and sets all options " ++
+                         "to their default values.")<$$> linebreak <>
+    (bText $ ":info") <$$>
+    indent 3 (fillwords $ "Shows the current context with the I/O examples " ++
+                          "of the functions in scope, if 'verbose' is on, or " ++
+                          "the number of the examples, otherwise. Furthermore, " ++
+                          "the values of all options and flag are displayed." ++
+                          "specification from the current context.") <$$> linebreak <>
+    (bText $ ":generalise <tgts> [with <bgks>]") <$$>
+    indent 3 (fillwords $ "Start Igor2 with one or more target functions to " ++
+                          "generalise and optional functions as background " ++
+                          "knowledge. <tgts> and <bgks> are names in scope " ++
+                          " separated by spaces.") <$$> linebreak <>
+    (bText $ ":test [<i>] <tgts> [with <bgks>] on \"cmd\"") <$$>
+    indent 3 (fillwords $ "Test a previously generalised program. If there " ++
+                          "were multiple hypotheses, <i> is the one you " ++
+                          "want to test. If it is ommitted, all are tested. "++
+                          "Please not, that you have to exactly repeat the " ++
+                          "names of target functions and backgroud " ++
+                          "knowledge of the run you want to test.")<$$> linebreak <>
+    (bText $ ":set <option>") <$$>
+    indent 3 (fillwords "Set an option, where <option> is one of the following.") <$$>
+    indent 5 (fill 20 (text "+debug") <> 
+                align (fillwords "enable debug mode")) <$$>
+    indent 5 (fill 20 (text "-debug") <> 
+                align (fillwords "disable debug mode (default)")) <$$>
+    indent 5 (fill 20 (text "+verbose") <> 
+                align (fillwords "chatty ouput")) <$$>
+    indent 5 (fill 20 (text "-verbose") <> 
+                align (fillwords "normal output (default)")) <$$>
+    indent 5 (fill 20 (text "+dumpLog") <> 
+                align (fillwords "write a log file")) <$$>
+    indent 5 (fill 20 (text "-dumpLog") <> 
+                align (fillwords "do not write a log file (default)")) <$$>
+    indent 5 (fill 20 (text "+simplify") <> 
+                align (fillwords ("simplify the result by replacing constant " ++
+                           "function calls (default)"))) <$$>
+    indent 5 (fill 20 (text "-simplify") <> 
+                align (fillwords ("show Igor2's original solution"))) <$$>
+    indent 5 (fill 20 (text "colWidth=N") <> 
+                align (fillwords ("set the width of your display to N columns " ++
+                           "(default 80)"))) <$$>
+    indent 5 (fill 20 (text "maxLoops=N") <> 
+                align (fillwords ("stop the synthesis cycle after N loops with a " ++
+                           "(probably) partial result (in debug mode only) " ++
+                           "(default 20)"))) <$$>
+    indent 5 (fill 20 (text "dumpDir=\"dir\"") <> 
+                align (fillwords ("this is the directory, where the log files are " ++
+                           "dumped to (default \".\")"))) <$$>
+    indent 5 (fill 20 (text "recArgComp=<mode>") <> 
+                align (fillwords ("to ensure termination of the final program, " ++
+                           "arguments of calling/called functions have to be " ++
+                           "compared. <mode> states how this is done. Use " ++
+                           "\"Linear\" to compare the total number of " ++
+                           "constructor symbols in the arguments. To compare " ++
+                           "the number of constructor symbols argumentwise " ++
+                           " use \"AWise\". Given two left-hand sides " ++
+                           "a = (a1 a2 ..) and b = (b1 b2 ..), then a < b if " ++
+                           "a1 < b1 or a1 == b1 and a2 < b2 or a1 == b1 and " ++
+                           "a2 == b2 .. . This is necessary, if the size of " ++
+                           "arguments does not change over all I/O examples, " ++
+                           "e.g. if accumulator variables are involved."))) <$$>
+    linebreak
+                        
+              
hunk ./src/UI/UIStarter.hs 31
+import UI.Help
hunk ./src/UI/UIStarter.hs 144
-runCmd s Reset                  = return (False, s{context=defaultContext})
+runCmd s Reset                  = return (False, defaultState)
hunk ./src/UI/UIStarter.hs 173
-    when verbose $ putStr verboseHelp
+    when verbose $ display s verboseHelp
hunk ./src/UI/UIStarter.hs 177
-helpText = text "Interactive commands (may be abbreviated):" <$> 
+helpText = linebreak <> text "Interactive commands (may be abbreviated):" <$> 
hunk ./src/UI/UIStarter.hs 180
-verboseHelp :: String
-verboseHelp = "\
-\Sorry, no verbose help yet!\n\
-\"
-
hunk ./src/UI/UIStarter.hs 397
-    , ("simplify",           "dump log to file",
+    , ("simplify",           "simlify the final hypotheses",
hunk ./src/UI/UIStarter.hs 403
-    [ ("colWidth",          "set the column width of your display",
+    [ ("colWidth",          "Set the column width of your display",
hunk ./src/UI/UIStarter.hs 405
-      ("maxLoops",          "stop synthesis after 'n' cylces (debug only)",
+      ("maxLoops",          "Stop synthesis after 'n' cycles (debug only)",
hunk ./src/UI/UIStarter.hs 411
-    [ ("dumpDir",          "directory of log files",
+    [ ("dumpDir",          "Directory log files are dumped to",
hunk ./src/UI/UIStarter.hs 413
-      ("recArgCmp",        "How to compare recursive arguments to to ensure termination",
+      ("recArgCmp",        "How to compare recursive arguments to ensure termination",