summaryrefslogtreecommitdiff
path: root/miralib/manual/31/7
blob: ae6b20cb4f959c36ad7e3ecd4daec727b7c1434a (plain)
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.