summaryrefslogtreecommitdiff
path: root/web/funnelweb/0stoppress/fw_sugg.mes
blob: 0af94a375daca1e2028e166ddd1e92c1deea731f (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
161
162
163
164
165
166
167
168
169
170
171
--<Guru>--
D=16-Oct-1992
A=Ross Williams
S=Suggestions for improving FunnelWeb
K=funnelweb funnel web suggestions improvement
--<Guru>--
SUGGESTIONS FOR IMPROVING FUNNELWEB
===================================
This file records suggestions that users of FunnelWeb have
made for improving FunnelWeb.

Because I received so many suggestions, it would take too long to
request permission from each person to quote their email here. As a
result, I have quoted anonymously or summarized instead.

The following list of suggestions does not constitute any sort
of promise of features to come. It is merely an indication of what
various users would like.

The number in square brackets after each suggestion indicates the
number of users who have suggested the feature. Also:

   S: Stands for suggestion.
   R: Stands for my reply (if any).

A look at this list indicates that future work on FunnelWeb should
mainly be directed towards improving its typesetting facilities.

Ross Williams
ross@spam.adelaide.edu.au

PS: Part of the reason for FunnelWeb being weak on typesetting is that
when I was writing FunnelWeb I knew that once it was released, I would
be committed to whatever input syntax I defined, and so I concentrated
on getting that right. Back-end typesetter drivers and other such
stuff can always be added later.


General
-------
S: Integrate FW into the Borland C++ development environment. [1]
S: Add a feature for updating FW source files after the product
   files have been modified. [1]

Documentation
-------------
S: Improve the typesetting of the index. [1]
S: Add more entries to the index. [1]
S: Add a quick reference guide. [1]

Scanner
-------
S: Fix the bug that makes FunnelWeb bomb on excceptionally long input
   lines. [1]
S: If a closing @} occurs at the start of a line, eliminate the
   preceeding end of line. [1]
S: Allow TABS [1].
S: The syntax is ugly. Redesign it. [2]
   R: The syntax IS ugly, but this is a consequence of its simplicity
      which I feel is more important. In FunnelWeb, the special
      character reigns supreme and this makes everything simple.

Parser
------
S: Add named parameters for macros. [1]
S: Add conditionals. [1]
S: Add a feature that enables the user to specify that all the
   macros called within a particular macros be defined in the order
   in which they are called. [1]

Tangle
------
S: Allow line-oriented substitution and so on rather than stream
   oriented. [1]

Weave
-----
S: Don't typeset non-leaf macros. This will avoid clutter. [1]
S: Teach FW C++ so it can typeset it nicely. [1]
S: Allow both FW text and TeX in the same document (two modes). [1]
S: Include greater support for typesetting a program as a book. [1]
   "What we need is a facility for TANGLING small WEB files
    into small source files, but WEAVING those same small
    WEB files into a single large documentation file, without
    the seams becoming apparent."
S: Add a new format: Microsoft Rich Text Format (RTF). [2]
S: Write a program to convert an RTF file into FunnelWeb source.
   Then people can edit programs in MSWord and run them through
   FunnelWeb. [1]
S: Detailed notes on indexing from one user: [1]
S: Add the ability to include typeset comments within program text. [2]
   R: The @[..@] syntax has been reserved for this.
S: Add a new format: LaTeX. [1]
S: Add a new format: Plain ASCII text. [1]
S: Add a GENERIC language typesetting facility: [1]

   "Have you seen the program 'vgrind' (for TeX) or 'psgrind' (for
    PostScript)?  It contains a termcap-like database of programming
    language features, e.g. format of a label, format of a
    producedure/function, keyword listings, character string quoting
    rules, etc.  Perhaps this would be useful for FW?"

S: Automatically generate an index. [1]
S: Allow @" and @" in documentation to typeset double quotes properly. [1]

MORE DETAILED COMMENTS
======================

Weave
-----
   "The ability to generate a cross reference of identifiers
   (variables and functions) is essential.

   Constants       are generally defined only in 1 place
                   and so a cross reference to the definition
                   macro is useful.

   Variables       are generally declared in 1 place but
                   refered to and defined in multiple places.
                   A cross reference to the declaration site
                   is generally not useful.

                   A cross reference to the site of use is
                   confusing, since there may be many, equally
                   important sites where the variable is assigned
                   a value.

   functions       are generally unique and so a cross reference
                   to the site of definition (or declaration in
                   the absense of a definition) is useful.

   In FWEB (which I have used extensively recently) each instance
   of use of an identifier contains a subscript which points
   to the site of definition of the identifier (I think this
   is what you refer to in the documents as a feature of the
   original WEB.)  The fact that locating identifiers requires
   knowledge of the programming language is true."

Documentation
-------------
   Page 34, section 1.7.2, paragraph 2, last sentence:
           "free text be default" should be "free text by default".

   Page 34, section 1.7.3, paragraph 1, 1st sentence:
           "divide and conquor" should be "divide and conquer"

   Page 35, section 1.73, paragraph 2 on page 35:
           "section heading at level n cannot....at level (n-1) or less."
           I think this should be:
           "section heading at level n cannot.. at less than level (n-1)"
           Otherwise you are saying that level C cannot occur at B or less.

   Page 50, section 2.11, last paragraph, line 10 of para:
           "excessibly" should be "excessively"

   In the example on p. 21, "... the string ``Hello World''" looks like a TeX
   dependent hangover.

   The caption under Fig. 4, p.111 came out badly spaced on our system.

   Isn't it `holistic' rather than `wholistic?'

   There is often a need to have version dependent documentation as well
   as version dependent code.  It would be nice if there was a special
   kind of macro that could run the output to a file through the
   typesetter, i.e., generate TeX files.  Meanwhile, you can get some
   interesting effects by letting FunnelWeb generate .fw files!  You
   might like to mention this exciting possibility in V2 of the user
   manual.

--<End of Document>--