annotate PROJECTS @ 2575:e57847e2de87

[project @ 1996-12-09 18:05:37 by jwe]
author jwe
date Mon, 09 Dec 1996 18:05:39 +0000
parents 2480ef198c46
children 3723512a827a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
1 Octave PROJECTS -*- text -*-
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
2 ===============
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
3
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
4 Check with bug-octave@bevo.che.wisc.edu for a possibly more current
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
5 copy. Also, if you start working steadily on a project, please let
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
6 bug-octave@bevo.che.wisc.edu know. We might have information that
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
7 could help you; we'd also like to send you the GNU coding standards.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
8
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
9 This list is not exclusive -- there are many other things that might
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
10 be good projects, but it might instead be something we already have,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
11 so check with bug-octave@bevo.che.wisc.edu before you start.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
12
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
13 ---------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
14 Numerical:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
15 ---------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
16
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
17 * Merge control stuff.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
18
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
19 * Improve logm, and sqrtm.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
20
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
21 * Improve complex mapper functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
22
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
23 * Make functions like gamma() return the right IEEE Inf or NaN
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
24 values for extreme args or other undefined cases.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
25
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
26 * Handle complex values in fread and fwrite.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
27
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
28 * Support for lp_solve for linear programming problems.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
29
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
30 * Free QP solver.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
31
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
32 * Free NLP solver.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
33
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
34 * Support for sparse matrices.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
35
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
36 * Fix CollocWt to handle Laguerre polynomials. Make it easy to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
37 extend it to other polynomial types.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
38
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
39 * Add optional arguments to colloc so that it's not restricted to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
40 Legendre polynomials.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
41
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
42 * Fix eig to also be able to solve the generalized eigenvalue
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
43 problem, and to solve for eigenvalues and eigenvectors without
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
44 performing a balancing step first.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
45
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
46 * Move rand, eye, xpow, xdiv, etc., functions to the matrix classes.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
47
2477
3d905d3820a4 [project @ 1996-11-07 16:46:11 by jwe]
jwe
parents: 2475
diff changeset
48 * Use octave_allocator for memory management in Array classes once
3d905d3820a4 [project @ 1996-11-07 16:46:11 by jwe]
jwe
parents: 2475
diff changeset
49 g++ supports static member templates.
3d905d3820a4 [project @ 1996-11-07 16:46:11 by jwe]
jwe
parents: 2475
diff changeset
50
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
51 * Implement the following functions:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
52 -- ppval -- cross -- dot
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
53
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
54 * Allow user-supplied gradient information to be passed to NPSOL.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
55
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
56 * Support for FSQP.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
57
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
58 * Convert FSQP style NLP statement to NPSOL style.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
59
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
60 * Convert NPSOL style NLP statement to FSQP style.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
61 - Look for linear equality constraints, extract corresponding rows
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
62 of C. The rest are inequality constraints.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
63 - Look for Nonlinear equality constraints and set up a vector of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
64 pointers for shuffling.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
65 - Transform lb <= C*x <= ub, lb != ub, to C*x - ub <= 0 and
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
66 lb - C*x <= 0. Likewise for lb <= g(x) <= ub.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
67 - Call FSQP.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
68
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
69 * Optional inputs for fsqp.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
70
2439
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
71 * Allow parameters to be passed through the call to fsolve() to the
2575
e57847e2de87 [project @ 1996-12-09 18:05:37 by jwe]
jwe
parents: 2571
diff changeset
72 user-supplied function for Matlab compatibility. Don't place an
2439
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
73 upper limit on the number of arguments.
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
74
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
75 * If possible, make economy QR factorization actually take advantage
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
76 of the form of the result instead of just dropping columns.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
77 Lapack doesn't appear to do this yet.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
78
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
79 * Check matrix classes for proper handling of empty matrices.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
80
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
81 * Improve design of ODE, DAE, classes.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
82
2439
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
83 * Make it possible to specify a time which dassl and lsode should
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
84 not integrate past.
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
85
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
86 * Extend meaning of .* to include v .* M or M .* v (where v is a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
87 column vector with the same number of rows as M) to scale rows of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
88 M by elements of v. Similarly, if w is a row vector with as many
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
89 columns as M, then either w .* M or M .* w scales the columns of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
90 M.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
91
2497
6f7bb8b60579 [project @ 1996-11-12 05:58:39 by jwe]
jwe
parents: 2477
diff changeset
92 * Given two vectors x and y of length m and n, implement a function
6f7bb8b60579 [project @ 1996-11-12 05:58:39 by jwe]
jwe
parents: 2477
diff changeset
93 outer (x, y, f) that returns an m-by-n matrix with entries
6f7bb8b60579 [project @ 1996-11-12 05:58:39 by jwe]
jwe
parents: 2477
diff changeset
94 f (x(i), y(j)). If f is omitted, multiplication is the default.
2506
3b8598be273e [project @ 1996-11-13 04:26:39 by jwe]
jwe
parents: 2497
diff changeset
95 Should probably work for any vectors, not just if x is a column
3b8598be273e [project @ 1996-11-13 04:26:39 by jwe]
jwe
parents: 2497
diff changeset
96 vector and y is a row vector.
2497
6f7bb8b60579 [project @ 1996-11-12 05:58:39 by jwe]
jwe
parents: 2477
diff changeset
97
2575
e57847e2de87 [project @ 1996-12-09 18:05:37 by jwe]
jwe
parents: 2571
diff changeset
98 * On systems that support matherr(), make it possible for users to
e57847e2de87 [project @ 1996-12-09 18:05:37 by jwe]
jwe
parents: 2571
diff changeset
99 enable the printing of warning messages.
e57847e2de87 [project @ 1996-12-09 18:05:37 by jwe]
jwe
parents: 2571
diff changeset
100
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
101 --------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
102 Graphics:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
103 --------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
104
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
105 * Make plotting with plplot work.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
106
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
107 * Fix interface with gnuplot to wait for gnuplot to output any text
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
108 before octave returns a prompt. Possible by implementing two
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
109 way communication between gnuplot and Octave.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
110
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
111 * Make gsave (and possibly gload) work. Implement gsave by having it
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
112 also alter the plot command to not use temporary files (perhaps
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
113 with some user-specified template for naming them) and then
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
114 sending a `save' command to gnuplot.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
115
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
116 * It would be nice to be able to check that a plot is currently
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
117 being displayed.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
118
2422
327f65b8ea0c [project @ 1996-10-18 20:22:17 by jwe]
jwe
parents: 2378
diff changeset
119 * Implement clf, gcf, get, set, orient, print, close, etc. in
327f65b8ea0c [project @ 1996-10-18 20:22:17 by jwe]
jwe
parents: 2378
diff changeset
120 Matlab-compatible ways.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
121
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
122 * Make it possible to check the current graphics terminal type.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
123
2560
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
124 * If possible, pass data to gnuplot without using temporary files.
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
125
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
126 * If possible, pass binary data to gnuplot to speed things up.
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
127
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
128 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
129 Strings:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
130 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
131
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
132 * Convert string functions to work on string arrays.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
133
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
134 * Make find work for strings.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
135
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
136 * Consider making octave_print_internal() print some sort of text
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
137 representation for unprintable characters instead of sending them
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
138 directly to the terminal. (But don't do this for fprintf!)
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
139
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
140 * Consider changing the default value of `string_fill_char' from SPC
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
141 to NUL.
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
142
2560
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
143 * Consider making size ("") ==> [0, 0] for compatibility with
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
144 Matlab, at least when some preference variable is set.
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
145
2571
2480ef198c46 [project @ 1996-12-06 21:18:39 by jwe]
jwe
parents: 2569
diff changeset
146 * Consider making [] equivalent to "" for compatibility with
2480ef198c46 [project @ 1996-12-06 21:18:39 by jwe]
jwe
parents: 2569
diff changeset
147 Matlab, at least when some preference variable is set.
2480ef198c46 [project @ 1996-12-06 21:18:39 by jwe]
jwe
parents: 2569
diff changeset
148
2560
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
149 * Consider making ["test", []] ==> "test", for compatibility with
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
150 Matlab, at least when some set of preferences are set.
6fa1ac46c980 [project @ 1996-12-03 17:49:38 by jwe]
jwe
parents: 2558
diff changeset
151
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
152 ----------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
153 Other Data Types:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
154 ----------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
155
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
156 * New types (char, short, etc.).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
157
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
158 * 3d matrix stuff.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
159
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
160 * Template functions for mixed-type ops.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
161
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
162 * Stuff for arithmetic using charMatrix, intMatrix, etc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
163
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
164 ------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
165 Graphical User Interface:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
166 ------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
167
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
168 * In an X11 or other windowing environment, allow the user to pop up
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
169 windows for menus and other purposes. A good place to start might
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
170 be Tk, as long as Tcl is avoided.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
171
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
172 * Add a way to handle events, like alarms, mouse clicks, etc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
173
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
174 ------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
175 Input/Output:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
176 ------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
177
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
178 * Make fread and fwrite work for complex data. Iostreams based
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
179 versions of these functions would also be nice, and if you are
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
180 working on them, it would be good to support other size
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
181 specifications (integer*2, etc.).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
182
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
183 * Make load and save work for structures.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
184
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
185 * Make load and save look for <file>.mat if only given <file>.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
186
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
187 * Move some pr-output stuff to liboctave.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
188
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
189 * Make the cutoff point for changing to packed storage a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
190 user-preference variable with default value 8192.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
191
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
192 * Save image data in binary format to save space.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
193
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
194 * Make it possible to load other image formats (ppm, pbm, etc. would
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
195 probably be best since there are already filters to convert to
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
196 these formats from others.)
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
197
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
198 * Use HDF for binary data.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
199
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
200 * Make ascii load and save work for Inf and NaN.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
201
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
202 * Complain if there is not enough disk space available (I think
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
203 there is simply not enough error checking in the code that handles
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
204 writing data).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
205
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
206 * Make it possible to tie arbitrary input and output streams
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
207 together, similar to the way iostreams can be tied together.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
208
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
209 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
210 Interpreter:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
211 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
212
2569
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
213 * If foo.oct and foo.m both exist in the LOADPATH, Octave will
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
214 always find foo.oct, even if foo.m appears earlier in the list of
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
215 directories. This should be fixed (in the kpathsearch library) to
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
216 find the first .oct or .m file in the path, and only prefer .oct
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
217 over .m if both files are in the same directory.
5e0c65023ba5 [project @ 1996-12-06 07:36:46 by jwe]
jwe
parents: 2560
diff changeset
218
2520
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
219 * Fix the grammar to allow structure references and index operations
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
220 for for anonymous expressions. For example, it should be possible
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
221 to write
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
222
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
223 localtime (time ()) . hour;
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
224
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
225 to get the current hour. Likewise, it should be possible to write
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
226
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
227 svd (A) (1:13);
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
228
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
229 to extract the first 13 singular values of the matrix A.
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2511
diff changeset
230
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
231 * Consider grouping all preference variables in a structure instead
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
232 of further polluting the namespace. Maybe `Octave_options.xxx'?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
233
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
234 * Rewrite functions in input.cc to do the right thing in all cases
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
235 of using readline, forced interactive behavior, echoing of input,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
236 etc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
237
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
238 * Make it possible to redefine built-in variables and functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
239 (Fix whatever it is that is happening with clear for built-in
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
240 variables.)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
241
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
242 * Make it possible to check if a variable is complex.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
243
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
244 * Consider making linspace() and logspace() return the value
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
245 corresponding to the first argument if the number of requested
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
246 points is 1.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
247
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
248 * Make it possible to get the names of the arguments that are passed
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
249 to functions, at least if simple variables are passed.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
250
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
251 * Fix name of text-style functions (or at least explain it in the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
252 manual).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
253
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
254 * Consider allowing an arbitrary property list to be attached to any
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
255 variable. This could be a more general way to handle the help
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
256 string that can currently be added with `document'.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
257
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
258 * Allow more command line options to be accessible as built-in
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
259 variables (--echo-commands, etc.).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
260
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
261 * Allow `octave -c STRING' to execute commands from STRING then
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
262 exit.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
263
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
264 * Handle DOS style CRLFs in M files. This should probably be
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
265 optional.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
266
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
267 * Make the interpreter run faster.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
268
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
269 * Make it possible to disable or enable all warnings on an
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
270 individual basis from the command line or via some built-in
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
271 structure variable.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
272
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
273 * Warn about complex comparisons? Could just use double_value() or
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
274 matrix_value() instead of explicit conversions to real types.
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
275
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
276 * Make warnings also give some indication about the location of the
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
277 code that triggers the warning.
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
278
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
279 * Warn about complex comparisons? Could just use double_value() or
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
280 matrix_value() instead of explicit conversions to real types. For
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
281 this to really be useful, some additional information must be
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
282 available to point to the location of the code that triggers the
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
283 warning.
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
284
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
285 * Consider making it possible to have arrays of structures, and some
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
286 way of indexing them.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
287
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
288 * Allow arbitrary lower bounds for array indexing. (Watch out for
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
289 the additional conflict with zero-one style indexing.)
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
290
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
291 * Recursive problems.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
292
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
293 * Improve the way ignore_function_time_stamp works to allow
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
294 selecting by individual directories or functions. Also,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
295 optionally allow checking only once between each prompt instead of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
296 every time the function is called.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
297
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
298 * Make it possible to ask exist() to only look for certain classes
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
299 of variables, functions, files, etc. rather than always looking for
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
300 everything.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
301
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
302 * Add a command-line option to tell Octave to just do syntax
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
303 checking and not execute statements.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
304
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
305 * Is it necessary for do_binary_op and do_unary_op to be friends of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
306 the tree_constant class.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
307
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
308 * Clean up symtab and variable stuff.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
309
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
310 * Input stream class for parser files -- must manage buffers for
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
311 flex and context for global variable settings.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
312
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
313 * Make LEXICAL_ERROR have a value that is the error message for
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
314 parse_error() to print?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
315
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
316 * Make it possible to clear dynamically loaded functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
317
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
318 * Add a run-time alias mechanism that would allow things like
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
319
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
320 alias fun function_with_a_very_long_name
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
321
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
322 so that `function_with_a_very_long_name' could be invoked as
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
323 `fun'.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
324
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
325 * What should is_global() return when called for built-in variables?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
326
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
327 * Make it possible to have `static' variables inside functions that
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
328 retain their values across calls.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
329
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
330 * Allow local changes to variables to be written more compactly than
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
331 is currently possible with unwind_protect. For example,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
332
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
333 function f ()
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
334 local prefer_column_vectors = something;
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
335 ...
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
336 endfunction
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
337
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
338 would be equivalent to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
339
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
340 function f ()
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
341 unwind_protect
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
342 save_prefer_column_vectors = prefer_column_vectors;
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
343 prefer_column_vectors = something;
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
344 ...
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
345 unwind_protect_cleanup
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
346 prefer_column_vectors = save_prefer_column_vectors;
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
347 end_unwind_protect
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
348 endfunction
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
349
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
350 * Fix all function files to check for bogus inputs (wrong number or
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
351 types of input arguments, wrong number of output arguments).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
352
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
353 * Handle options for built-in functions more consistently.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
354
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
355 * Too much time is spent allocating and freeing memory. What can be
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
356 done to improve performance?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
357
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
358 * Error output from Fortran code is ugly. Something should be done to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
359 make it look better.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
360
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
361 * It would be nice if output from the Fortran routines could be
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
362 passed through the pager.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
363
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
364 * Attempt to recognize common subexpressions in the parser.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
365
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
366 * Remove the buffer size limit in octave_read() in input.cc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
367
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
368 * Handle arrays with more than two dimensions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
369
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
370 * Consider making assignment statements like
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
371
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
372 M (i_idx, j_idx) = RHS
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
373
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
374 produce the value of RHS instead of the value of M.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
375
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
376 * Consider making it possible to specify an empty matrix with a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
377 syntax like [](e1, e2). Of course at least one of the expressions
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
378 must be zero...
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
379
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
380 * Eliminate force_numeric and make_numeric functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
381
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
382 * Is Matrix::fortran_vec() really necessary?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
383
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
384 * print_usage() should set error_state in most cases?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
385
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
386 * Add an option to make Octave quit executing a script when error() is
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
387 called. Also make it possible for `return' or `break' to exit a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
388 script.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
389
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
390 * Make statements like this
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
391
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
392 foo bar baz
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
393
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
394 turn into function calls like this:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
395
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
396 foo ("bar", "baz")
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
397
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
398 This is pretty ugly and introduces some conflicts.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
399
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
400 * Make it possible to use text-style function names as variables.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
401
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
402 * Add a command that works like bash's `builtin' command.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
403
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
404 * Handle comments in parse trees for use with the type command.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
405
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
406 * Make the type command handle script files too, by just reading and
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
407 printing them.
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
408
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
409 * Clean up eye, eval, feval, keyboard, input, ones, zeros.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
410
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
411 * It would be nice to have an interactive debugger.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
412
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
413 * Make whos report total memory used by variables (and functions?).
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
414
2439
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
415 * Rewrite whos and the symbol_record_info class.
dc870b8b229f [project @ 1996-10-30 07:57:31 by jwe]
jwe
parents: 2422
diff changeset
416
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
417 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
418 History:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
419 -------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
420
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
421 * Add an option to allow saving input from script files in the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
422 history list.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
423
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
424 * Fix history problems -- core dump if multiple processes are
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
425 writing to the same history file?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
426
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
427 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
428 Configuration and Installation:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
429 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
430
2473
bb0c213e5885 [project @ 1996-11-06 04:34:55 by jwe]
jwe
parents: 2469
diff changeset
431 * Handle USE_READLINE so that --enable-readline will work.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
432
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
433 * Make Octave as independent of the particular readline version as
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
434 possible.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
435
2473
bb0c213e5885 [project @ 1996-11-06 04:34:55 by jwe]
jwe
parents: 2469
diff changeset
436 * Add an --enable-pathsearch option to configure to make it possible
bb0c213e5885 [project @ 1996-11-06 04:34:55 by jwe]
jwe
parents: 2469
diff changeset
437 to configure and run without kpathsea.
bb0c213e5885 [project @ 1996-11-06 04:34:55 by jwe]
jwe
parents: 2469
diff changeset
438
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2454
diff changeset
439 * Make configure take more defaults from the environment.
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2454
diff changeset
440
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
441 * Should --enable-lite-kernel imply --enable-shared?
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
442
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
443 * Make it possible to configure without readline.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
444
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
445 * Makefile changes:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
446 -- eliminate for loops
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
447 -- define shell commands or eliminate them
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
448 -- verify distclean
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
449 -- consolidate targets
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
450
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
451 * Make it possible to configure so that installed binaries and
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
452 shared libraries are stripped.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
453
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
454 * Make installation of the static libraries optional.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
455
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
456 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
457 Documentation and On-Line Help:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
458 ------------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
459
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
460 * Document new features.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
461 -- history-search-{back,for}ward.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
462 -- try/catch.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
463 -- Other stuff mentioned in the NEWS file.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
464
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
465 * Improve the Texinfo Documentation for the interpreter. It would
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
466 be useful to have lots more examples, to not have so many forward
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
467 references, and to not have very many simple lists of functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
468
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
469 * The docs should mention something about efficiency and that using
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
470 array operations is almost always a good idea for speed.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
471
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
472 * Texinfo documentation for the C++ classes.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
473
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
474 * Support multiple info files, perhaps allowing one or more in each
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
475 directory in the LOADPATH, so that local collections of M-files
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
476 could be documented with Info.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
477
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
478 * Figure out a good way to have functions and variables documented
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
479 in only one place.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
480
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
481 * Improve help messages for operators and keywords in help.cc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
482
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
483 * Make index entries more consistent to improve behavior of `help -i'.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
484
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
485 * Make `help -i' try to find a whole word match first.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
486
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
487 * Allow help for local additions to be accessible with help -i.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
488
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
489 * Make the arrow keys work in the info reader.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
490
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
491 * Update Info to be based on the current Texinfo release.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
492
2378
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
493 * Should info/terminal.c include definitions for PC, BC, UP, and
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
494 ospeed on all systems?
6bea009cdae2 [project @ 1996-10-12 05:15:59 by jwe]
jwe
parents: 2330
diff changeset
495
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
496 * Clean up help stuff.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
497
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
498 * Demo files.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
499
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
500 * As the number of m-files with octave grows perhaps a 'Contents.m'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
501 file for each toolbox (directory) would be appropriate so one
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
502 knows exactly what functions are in a toolbox with a quick look.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
503 It would be best to generate information for each function directly
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
504 from the M-files, so that the information doesn't have to be
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
505 duplicated, and will remain current if the M-files change. It
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
506 would also be best to do as much of this as possible in an M-file,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
507 though I wouldn't mind adding some basic support for listing the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
508 names of all the directories in the LOADPATH, and the names of all
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
509 the M-files in a given directory if that is needed.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
510
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
511 * Some sort of blurb (2-3 pages) describing Octave in a reasonably
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
512 coherent way, where to get it etc., perhaps formatted pretty,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
513 i.e. not just text. Maybe start with the latest Announce file.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
514
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
515 -----
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
516 Tests:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
517 -----
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
518
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
519 * Improved set of tests:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
520
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
521 -- Tests for various functions. Would be nice to have a test file
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
522 corresponding to every function.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
523
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
524 -- Tests for element by element operators:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
525 + - .* ./ .\ .^ | & < <= == >= > != !
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
526
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
527 -- Tests for boolean operators: && ||
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
528
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
529 -- Tests for other operators: * / \ ' .'
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
530
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
531 -- Tests from bug reports.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
532
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
533 -- Tests for indexed assignment. Need to consider the following:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
534 o fortran-style indexing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
535 o zero-one indexing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
536 o assignment of empty matrix as well as values
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
537 o resizing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
538
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
539 * Tests for all internal functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
540
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
541 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
542 Programming:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
543 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
544
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
545 * Move toward using more stuff from standard C++ library.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
546
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
547 * More C++/Fortran cleanups.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
548
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
549 * It is likely that there are still some memory leaks. Hunt then down
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
550 and plug them.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
551
2475
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
552 * Better error messages for missing operators?
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
553
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
554 * Eliminate duplicate enums in pt-exp.cc, pt-const.cc, and ov.cc.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
555
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
556 * Handle octave_print_internal() stuff at the liboctave level. Then
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
557 the octave_value classes could just call on the print() methods
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
558 for the underlying classes.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
559
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
560 * As much as possible, eliminate explicit checks for the types of
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
561 octave_value objects so that user-defined types will automatically
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
562 do the right thing in more cases.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2473
diff changeset
563
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
564 * Only include config.h in files that actually need it, instead of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
565 including it in every .cc file. Unfortunately, this might not be
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
566 so easy to figure out.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
567
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
568 * GNU coding standards:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
569
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
570 -- Add a `Makefile' target to the Makefiles.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
571 -- Comments on #else and #endif preprocessor commands.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
572 -- Change error message format to match standards everywhere.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
573
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
574 * Use STL stuff instead of libg++ lists, maps, and stacks.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
575
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
576 * Eliminate more global variables.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
577
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
578 * Encapsulate readline in a class. Include interface to stuff like
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
579 blink_matching_paren.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
580
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
581 * Encapsulate resource stuff in a class.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
582
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
583 * Move procstream to liboctave.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
584
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
585 * Replace more C-style vectors with Array<T> stuff.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
586
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
587 * Use references and classes in more places.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
588
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
589 * Share more code among the various *_options functions.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
590
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
591 -------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
592 Miscellaneous:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
593 -------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
594
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
595 * Implement some functions for interprocess communication: bind,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
596 accept, connect, gethostbyname, etc.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
597
2454
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
598 * The installation process should also install octave.el. This
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
599 needs to detect the appropriate Emacs binary to use to
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
600 byte-compile the .el file. Following GNU Emacs philosophy,
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
601 installation would be into $(prefix)/share/emacs/site-lisp by
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
602 default, but it should be selectable.
8d5c4ec28e19 [project @ 1996-11-01 07:43:54 by jwe]
jwe
parents: 2439
diff changeset
603
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
604 * The ability to transparently handle very large files:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
605
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
606 Juhana K Kouhia <kouhia@nic.funet.fi> wrote:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
607
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
608 If I have a one-dimensional signal data with the size 400
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
609 Mbytes, then what are my choices to operate with it:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
610
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
611 * I have to split the data
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
612 * Octave has a virtual memory on its own and I don't have to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
613 worry about the splitting.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
614
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
615 If I split the data, then my easily programmed processing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
616 programs will become hard to program.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
617
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
618 If possible, I would like to have the virtual memory system in
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
619 Octave i.e. the all big files, the user see as one big array or
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
620 such. There could be several user selectable models to do the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
621 virtual memory depending on what kind of data the user have (1d,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
622 2d) and in what order they are processed (stream or random
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
623 access).
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
624
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
625 Perhaps this can be done entirely with a library of M-files.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
626
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
627 * Add a function like strptime() which is the opposite of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
628 strftime(). A C version is apparently in recent releases of the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
629 Linux C library.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
630
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
631 ------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
632 Always:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
633 ------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
634
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
635 * Squash bugs.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
636
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
637 --30--