1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
_O_p_t_i_o_n_s_,_ _s_e_t_u_p_ _f_i_l_e_s_ _e_t_c_.
The full form of the `mira' command is
mira [flags...] [script]
this command causes a Miranda session to be entered with the given file
as current script. If no script is specified a default filename
`script.m' is assumed. The specified file need not yet exist - in this
case you will be starting a Miranda session with an empty current
script.
Note that `.m' is the standard extension for Miranda language source
files - the mira command always adds the `.m' extension, if missing, to
any filename argument denoting a Miranda script.
The available options are:
-lib pathname
Tells mira to find miralib (directory containing libraries, manual pages
etc.) at `pathname'. The default is to look for miralib of same version
number as the program at `/usr/lib/miralib', `/usr/local/lib/miralib'
and `./miralib', in that order. The -lib flag overrides the version
number check. The same effect is obtained by setting an environment
variable MIRALIB, see next manual section.
-gc
Switches on a flag causing the garbage collector to print information
each time a garbage collection takes place. This flag can also be
switched on and off from within the miranda session by the commands
`/gc', `/nogc'.
-count
Switches on a flag causing statistics to be printed after each
expression evaluation. This flag can also be switched on and off from
within the miranda session by the commands `/count', `/nocount'.
-list
-nolist
Switches on (off) a flag causing Miranda scripts to be listed to the
screen during compilation. This flag can also be switched on and off
from within the miranda session by the commands `/list', `/nolist'.
-nostrictif
Enables the compiler to accept old Miranda scripts with missing
occurrences of the keyword `if' in guard syntax. Probably obsolete but
retained just in case someone needs it.
-hush
-nohush
The miranda system decides whether or not to give prompts and other
feedback by testing its standard input with `isatty'. If the standard
input does not appear to be a terminal it assumes that prompts would be
inappropriate, otherwise it gives them. In either case this behaviour
can be overriden by an explicit flag ("-hush" for silence, "-nohush" for
prompts etc). This switch is also available from within a miranda
session by the commands `/hush', `/nohush'.
-dic SIZE
Causes the dictionary (used by the compiler to store identifiers etc.)
to be set up with SIZE bytes instead of the default 24kb.
-heap SIZE
Causes the heap to be set up with SIZE cells instead of the default
(currently 100k). This can also be done from within the miranda session
by the command `/heap SIZE'. A cell currently occupies 9 bytes.
-editor name
Causes the resident editor (initially `vi', unless the environment
variable EDITOR was set to something else) to be `name' instead. This
can also be done from within the miranda session by the command `/editor
name'.
-UTF-8
-noUTF-8
Assume the current locale is (is not) UTF-8 overriding environment vars
(version 2.044 and later).
-stdenv
Run mira without loading the standard environment. Every script that
needs functions from the standard environment will then have to either
explicitly %include <stdenv> or define the required functions for
itself. Not recommended as normal practice since it may have unexpected
consequences (for example I/O will be limited by the absence of type
sys-message).
-object
Used for debugging the compiler. Modifies behaviour of ?identifier(s)
to show the associated combinator code, which may or may not be
comprehensible as there is no documentation other than the source code.
_S_P_E_C_I_A_L_ _C_A_L_L_S
In addition the following special calls to `mira' are available which
do not enter a Miranda session but accomplish another purpose, as
described below.
mira -man
To enter the miranda online manual system directly from the UNIX shell.
mira -exp
Special call permitting the use of miranda script as a stand-alone UNIX
command. See separate manual page for details.
mira -log
Same as -exp except that it redirects stderr to a file log/mira.errors,
if log directory exists in the current directory and mira has write
permission to it.
mira -make [sourcefiles]
Forces a check that all the miranda source files listed have up-to-date
object code files, triggering compilation processes if necessary (see
manual subsection on the library mechanism: separate compilation).
mira -exports [sourcefiles]
Sends to stdout a list of the identifiers exported (see manual
subsection on library mechanism: separate compilation) from each of the
given miranda source files, together with their types (may also force
recompilation if needed).
mira -sources [sourcefiles]
Sends to stdout a list of all the Miranda source files on which the
given source files directly or indirectly depend (via %include or
%insert statements), excluding the standard environment <stdenv>.
mira -version
Gives version information. This information can also be obtained from
within a Miranda session by the command `/version'.
mira -V
More detailed version information.
_S_E_T_U_P_ _F_I_L_E_S
The current settings of _d_i_c, _h_e_a_p and _e_d_i_t_o_r are saved in the file
`.mirarc' in the users home directory, and are thereby carried over to
the next miranda session. The settings of the compiler flag which
controls whether or not source is listed to the screen during
compilation (toggled by the commands _/_l_i_s_t _/_n_o_l_i_s_t during a Miranda
session) and of the flag which controls the frequency of checking for
source updates (toggled by the commands /recheck /norecheck) are also
saved in the users `.mirarc' file.
The default settings of these entities, which will be picked up by new
users executing `mira' for the first time, are dic 24000 (bytes), heap
100000 (9-byte cells), editor _v_i, nolist, norecheck. The current
settings can be interrogated from a Miranda session by the command
`/settings' or `/s'.
The defaults can be changed, on a system wide basis, by moving a copy of
a `.mirarc' file containing the desired settings into the `miralib'
directory (normally found at /usr/lib/miralib). The user's local
.mirarc file, once created in his home directory by the first call to
mira, will override the global one, however.
The behaviour of the `mira' program is also sensitive to the settings of
certain environment variables - see separate manual entry about this.
_O_U_T_P_U_T_ _B_U_F_F_E_R_I_N_G
Output from the Miranda system to the user's terminal should not be
line buffered, or some things will not work as they are intended. There
is no problem about input being line buffered, however.
|