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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
|
.ig
@(#)manpage.man 1.3
manpage.man 1.3
Manpage for Visi
A. F. Gettier
Bell Laboratories
Update made 8/17/82 17:05:54
Retrieved 11/15/82 13:22:34
..
.tr ~
.TH VISI 1
.SH NAME
visi \- mathematical spreadsheet
.SH SYNOPSIS
.B visi
[
.I file
]
.SH DESCRIPTION
.I Visi\^
is a tabular mathematical worksheet for
data analysis.
If a
.I file
is specified, commands are read from that
file when
.I visi
first starts.
.PP
.I Visi
works only on cursor-controlled terminals such as
the HP2621, and requires the environment variable
TERM (see
.IR environ (7))
to be set appropriately.
.PP
.I Visi
prompts for input at the top of the screen with
`>>'.
Input
has one of the forms,
.IP
command parameters
.IP
variable = expression
.IP
variable = "string"
.PP
where a variable is a letter and number sequence, for example:
`A2, B10, BB23.'
These variables represent locations on the worksheet;
A2 is column A, row 2.
If you type, in any order,
.IP
A1 = A2 + 5
.br
A2 = 10
.LP
the values 15 and 10 will appear on the screen.
If you later type
.IP
A2 = 20
.LP
the values will be updated to 25 and 20.
.I Visi
treats upper and lower case letters as identical.
.PP
Expressions are parsed, and
standard mathematical precedence is
retained.
The operators +, -, *, /, ** (or ^)
can be used in expressions.
.SS Commands
.TP 10
.BI copy~~\fR[\fP ~file~ \fR]\fP
Copy the screen image to the
.I file.
If a file is not specified,
.I visi
will prompt for one.
.TP
.B debug
Toggle a flag to give
.IR yacc (1)
debugging output,
very unreadable.
.TP
.BI duplicate ~~p1 ~thru ~p2 ~at ~p3
Duplicate a block of
definitions in another portion of the screen.
.I P1
and
.I p2
are the upper left corner and the
lower right corner of the block to be duplicated.
.I P3
is the upper left corner of the destination.
.TP
.B edit
Edit the commands list.
If the environment variable `ED' is set,
it is used as the name of the editor.
Otherwise,
.IR ed (1).
is called.
.TP
.B help
Display a brief synopsis
of the commands.
.TP
.B list
List the current definitions on the
terminal.
.TP
.B quit
Quit the program.
.TP
.BI read~~\fR[\fP ~file~ \fR]\fP
Read input lines from the
.I file.
If a file is not specified,
.I visi
will prompt for one.
.TP
.B redraw
Redraw the screen in the event the
terminal output was corrupted.
.TP
.BI replicate ~~p1 ~at ~p2 ~thru ~p3
Replicate the single definition at
.I p1
throughout the block from
.I p2
in the upper left corner thru
.I p3
in the lower right.
.TP
.BI scale~~\fR[\fP ~column~ \fR]\fP ~nnn
Change the scale of the specified
.I column,
or of the entire tableau if a column is not specified.
The scale
.I nnn
is the number of decimal places
that are displayed to the right
of the decimal point.
Calculations are done in double precision regardless of
.I scale.
.TP
.BI shift ~~direction~ \fR[\fP ~nnn~ \fR]\fP
Shift the current screen in any direction.
The screen is only a window on the tableau.
To see other portions of the tableau,
the screen must be shifted.
Valid directions are:
.BR up ,
.BR down ,
.BR left ,
.BR right .
.I Nnn
is the number of positions to
shift the screen (default 1).
.TP
.B shell
Invoke
.I "/bin/sh"
as an inferior process to
.I visi.
.TP
.B ver
Print the current
version number of
.I visi.
.TP
.BI width ~~column~nnn
Change the width of a column on the display,
or of the entire tableau if no column is
specified.
.TP
.BI write~~\fR[\fP ~file~ \fR]\fP
Write commands to a file.
If a file is not specified,
.I visi
will prompt for one.
.SS Built-in Functions
.TP \w'atan2(e1,e2)\ \ 'u
.BI abs( e )
Absolute value of
.I e.
.PD 0
.TP
.BI acos( e )
Arc cosine of
.I e.
.TP
.BI asin( e )
Arc sine of
.I e.
.TP
.BI atan( e )
Arc tangent of
.I e.
.TP
.BI atan2( e1 , e2 )
Arc tangent of
.I e1/e2.
.TP
.BI cos( e )
Cosine of
.I e.
.TP
.BI exp( e )
Exponential function of
.I e.
.TP
.BI gamma( e )
Log of the gamma function of
.I e.
.TP
.BI hypot( e1 , e2 )
Square root of the sum of the squares of
.I e1
and
.I e2.
.TP
.BI int( e )
The integer part of
.I e
(truncated toward zero.)
.TP
.BI log( e )
Natural log of
.I e.
.TP
.B pi
The constant 3.14159265358979....
.TP
.BI pow( e1 , e2 )
Same as
.I e1^e2.
.TP
.BI sin( e )
Sine of
.I e.
.TP
.BI sqrt( e )
Square root of
.I e.
.PD
.SS Other Special Definitions
.TP 10
.BI position[ e1 , e2 ]
The quantity at row
.I e1,
column
.I e2
of the tableau.
Numbering for the columns is A = 1, B = 2, ..., AA = 27,
and so on.
.TP
.SM
.B ROW
The row number of this entry.
.TP
.SM
.B COL
The column number of this entry.
.SH "SEE ALSO"
.IR ed (1),
.IR exp (3),
.IR sin (3)
.SH FILES
/usr/lib/visi.help
.SH BUGS
A circular list of variable declarations can
cause
.I visi
to hang in a loop.
.br
.I Scale
does truncation, not rounding.
|