summaryrefslogtreecommitdiff
path: root/miralib/manual/4
diff options
context:
space:
mode:
Diffstat (limited to 'miralib/manual/4')
-rw-r--r--miralib/manual/4147
1 files changed, 147 insertions, 0 deletions
diff --git a/miralib/manual/4 b/miralib/manual/4
new file mode 100644
index 0000000..8fa4c83
--- /dev/null
+++ b/miralib/manual/4
@@ -0,0 +1,147 @@
+_T_h_e_ _M_i_r_a_n_d_a_ _c_o_m_m_a_n_d_ _i_n_t_e_r_p_r_e_t_e_r
+
+The Miranda system is invoked from unix by the command
+ mira [script]
+where `script' (optional parameter) is the pathname of a file containing
+a set of Miranda definitions. If no script is specified a default name
+`script.m' is assumed. The named script (script.m by default) becomes
+your _c_u_r_r_e_n_t _s_c_r_i_p_t, during the ensuing Miranda session. You can change
+your "current script" during a session, but at any time there is a
+unique filename which is current.
+
+Note that a file containing a Miranda script is expected to have a name
+ending in `.m' and the `mira' command will add this extension if
+missing. So `mira stuff' will be interpreted as `mira stuff.m'. It is
+a convenient and widely used convention that files containing program
+sources should have names indicating which language they are written in.
+
+The set of names in scope at any time are those of the current script,
+together with the names of any scripts which it `includes' (see library
+directives) plus the names of the _s_t_a_n_d_a_r_d _e_n_v_i_r_o_n_m_e_n_t, which is always
+in scope. The current script may be an empty or non-existent file if
+you have not yet put any definitions in it. In this case just the names
+of the standard environment will be in scope.
+
+The prompt `Miranda' indicates that you are talking to the Miranda
+interpreter. This activity is called a Miranda ``session''. Each
+command should be typed on a single line, following the prompt, and is
+entered by hitting return. Any command not beginning with one of the
+special characters `/', `?', or `!' is assumed to be an expression to be
+evaluated. The following commands are available during a session.
+
+exp
+ Any Miranda expression typed on a line by itself is evaluated, and the
+value is printed on the screen. If the value is of type [char] it is
+printed literally, otherwise the special function `_s_h_o_w' is applied to
+it to convert it to printable form. Example
+ Miranda sum[1..100]
+ 5050 (response)
+
+There is a special symbol $$ which is always set to the last expression
+evaluated. So after the above command $$ will have the value 5050, and
+this can be used in the next expression - e.g. `$$/2' will produce the
+response 2525 (and the value of `$$' is now 2525).
+
+exp &> pathname
+ A background process is set up to evaluate exp, and the resulting
+output (including error messages, if any) sent to the designated file.
+
+exp &>> pathname
+ As above, except that the output is appended to the designated file,
+instead of replacing its previous contents.
+
+exp ::
+ Print the type of the expression (instead of the value). Useful for
+investigating the type structure of a script.
+
+?
+ Lists all identifiers currently in scope, grouped by file of origin,
+starting with the standard environment.
+
+?identifier(s)
+ Gives more information about any identifier defined in the current
+environment (namely its type and the name of the file in which it is
+defined). This command will also accept a list of identifiers,
+separated by spaces.
+
+??identifier
+ Opens the relevant source file at the definition of identifier, which
+may be any currently in scope. Try for example ??map
+ For this and several other features to work Miranda must be configured
+to use an appropriate editor - the default is vi, but you can change
+this. See section 31 subheading 5 of this manual ("How to change the
+default editor").
+
+!command
+ Execute any UNIX shell command.
+
+!!
+ Repeat last shell command.
+
+Note that the character `%' can be used in any Miranda session command,
+including a `!' command, as an abbreviation for the pathname of the
+current script. So for example
+ !wc %
+does a word count on the current script. (If for some reason you need
+to include a literal % character in a command, you can escape it with a
+preceding backslash.)
+
+All the remaining commands begin with `/'. Each of the following
+commands can be abbreviated to its first letter.
+
+/edit (also /e)
+ Edit the current script. Calls up the currently installed editor
+(default _v_i, to change this see remark under ?? above). On quitting the
+editor, if changes have been made to any relevant source file, the
+Miranda system automatically recompiles the current script and any other
+scripts on which it depends and which have been updated.
+
+/edit pathname (also /e pathname)
+ Edit arbitrary script. Note that the pathname should end in `.m' and
+that this will be added if missing.
+
+Note by the way that (on most UNIX-like systems) Miranda understands the
+commonly used `~' convention in pathnames. That is ~/file means file in
+your home directory, and ~jack/file means file in jack's home directory.
+
+/file (also /f)
+ Print the name of file containing the current script.
+
+/file pathname (also /f pathname)
+ Change to new current script. Equivalent to quitting the Miranda
+system and reinvoking it with a new sourcefile. Like /e, /f adds ".m"
+to the end of the filename if missing.
+
+Important special case - reselecting the current script, eg by saying
+ /f %
+forces the current script to be RECOMPILED - this is useful if script
+has errors and you wish to see the error messages again.
+
+/help (also /h)
+ Display summary of main available commands. There are a few less used
+auxiliary commands, not covered here /aux (or /a) will summarise these.
+
+/man (also /m)
+ Enter online manual system.
+
+/quit (also /q)
+ Quit the Miranda system. Typing the end of file character (control-D)
+also has this effect.
+
+Finally note that $- and $+ are allowed as notations for the standard
+input in Miranda expressions. The standard input as a list of
+characters is denoted by `$-'. As a simple example, evaluating the
+expression
+ reverse $-
+causes everything typed at the keyboard upto the next control-D to be
+echoed backwards.
+
+The notation `$+' also denotes the standard input, but as a sequence of
+Miranda expressions (one per line), and returns their values as a list.
+For example
+ sum $+
+reads a sequence of numeric expressions from the standard input, and
+returns the sum of their values. See the manual section on reading with
+interpretation (under UNIX/Miranda system interface) for further
+information.
+