File: future.hsc

package info (click to toggle)
hsc 0.916-2
  • links: PTS
  • area: main
  • in suites: hamm, slink
  • size: 2,584 kB
  • ctags: 2,277
  • sloc: ansic: 17,375; makefile: 396
file content (135 lines) | stat: -rw-r--r-- 6,442 bytes parent folder | download
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
<WEBPAGE chapter="hsc - " title="Future Improvements"
    PREV="bugs.html"
    NEXT="related.html"
    QTEXT=("My future is static<BR>"
          +"It's already had it<BR>"
          +"I could tuck you in<BR>"
          +"And we can talk about it")
    QAUTHOR='Sonic Youth, "Schizophrenia"'>

Basically, I consider <hsc> finished. However, some people have
convinced me that there are some things that should be implemented
before I release the final version.

<H2>Minor Enhancements</H2>

<UL>

<LI><STRONG>Improve hscpitt</STRONG>: Add a copy/move command.

<LI><STRONG>Rename some message classes</STRONG>: message
    classes <qqc>bad style</qqc> and <qqc>fatal error</qqc> will
    probably be renamed to <qqc>flaw</qqc> and <qqc>failure</qqc>,
    so the class name will also consists of only one word. Furthermore,
    <qq>fatal</qq> sounds too hard.

<LI><STRONG>Rename internal attributes and filenames</STRONG>:
    currently, internal attributes are named like HSC.XY, and for
    filenames there are no templates at all. I will probably use the
    prefix <qq>hsc</qq> and a <hyphen> as separator, resulting into
    attributes like <CODE>hsc-click-here</CODE> and filenames like
    <FILE>hsc-XXXX.tmp</FILE>.

</UL>

<H2>Major Enhancements</H2>

<UL>
<LI><STRONG>New project database</STRONG>: instead of a single project file,
    <hsc> should store it's data in separate files for every document. A
    document data file is only loaded during parsing if some information about a
    specific document is needed. This should speedup huge projects with more
    than 100 documents.
<LI><STRONG>Additional document data</STRONG>: Without remarkable changes,
    <hsc> could also collect useful information about a document, like
    document title, URIs referenced etc. Of course, some access functions
    will be provided, too.
<LI><STRONG>Index document creation</STRONG>: A new tag <TG>$index</TG> will
    allow the
    user to attach some private information to the document data, which later
    can be retrieved using <hscpitt>. A script the user will have to write
    can use these to create a html-object. Easy to implement for me, awfully
    cryptic and complicated, but rather flexible for the user.
<LI><STRONG>Checking of external URIs</STRONG>: I'm definitely not going to
    mess around with shitty TCP/IP-stuff, but a script program could
    retrieve information about HREFs from the document file, and pass them to
    an external program (like <EXEC>GetURL</EXEC>)
<LI><STRONG>Functions with multiple arguments</STRONG>: Functions like
    <CODE>Exists()</CODE> or <CODE>GetFileSize</CODE> should use the
    same attribute syntax like tags, for example
    <CODE>GetEnv(VAR="HOME")</CODE>.
<LI><STRONG>New copyright</STRONG>: This version probably is the last release
    distributed under GPL. The major lack of the GPL seems to be that I can't
    prevent someone else porting <hsc> to a MS-DOS-based system. But I don't
    think about not including the source or getting incredibly rich.
</UL>

<H2>Only If I'm Bored</H2>

<UL>
<LI><STRONG>More conditionals</STRONG>: <TG>$select</TG>, <TG>$when</TG> and
    <TG>$otherwise</TG> as an extended version of <TG>$if</TG>
<LI><STRONG>Indention</STRONG>: Add option <CODE>INDENT</CODE> for <TG>$include</TG>
    and <TG>$source</TG> to indent preformatted text
<LI><STRONG>Plausibility checking of external URIs</STRONG>:
    unknown protocol, missing domain etc.
<LI><STRONG>Improve expression parser</STRONG>: the current implementation
    is an embarrassment for a student of computer science, but.. well, it does
    it's job for now.
<LI><STRONG>GUI-Version for AmigaOS</STRONG>: I ought to play around with
    MUI sometimes anyway
<LI><STRONG>Filename compatibility mode</STRONG>: this mostly means that
    a <qqc>..</qqc> should act as parent directory on all systems without
    having to run additional system patches.
</UL>

<H2>Things Someone Else Can Do</H2>

<UL>
<LI><STRONG>Autoconf-support</STRONG>: In the unix-world, a cryptic tool package
    called autoconf has become quite popular, as it tries to compensate the
    lack that even at the end of the 20th centaury, no one knows in which
    header file to expect <CODE>strftime()</CODE> on this ridiculous system
    (ANSI has specified this in the early 80ies, bye the way). Although I don't
    care much about
    outdated unix-versions, and I don't like unreadable and badly documented
    macro languages, I might include the required changes if someone else
    wastes his time with setting up a working autoconf-installation.
<LI><STRONG>Improve hscdepp</STRONG>: As I do not consider dependency generators
    a reasonable concept, someone else will have to add things like excluding
    specific documents or pattern matching stuff. Hey, it's only about 700 lines of
    code..
<LI><STRONG>Document relation editor</STRONG>: It would be nice, if one could
    edit all those next/prev/up/.. relations with a program, and include these
    into hsc-sources later. It would make sense to store these relations in
    the document data file.
</UL>

<H2>No Future</H2>

For the thinggies below, from my point of view, there is no need to
ever be implemented. 

<UL>
<LI><STRONG>xml-support</STRONG>: The good thing about xml is that it confesses that
    html is impotent crap and sgml is unuseable. The bad thing is that xml is both.
<LI><STRONG>Precompiled include files</STRONG>: This would
    also speed up reading <hsc.prefs>; I experimented around a bit
    with this, and it seems that more time is wasted scanning those
    bloody linked lists then by checking the data. It's more likely
    that some sort of balanced binary tree will make it into 
    the source.
<LI><STRONG>Undefine macros or attributes</STRONG>: I do not
    consider <qq>undefining</qq> a clean concept, but a result of
    mental impotence.
<LI><STRONG>Type checking for attributes</STRONG>: Anything more then the current
    (very relaxed) checking would not fit into the rather typeless
    concept if plain html.
<LI><STRONG>Move around in text using <TG>$goto</TG> and <TG>$label</TG></STRONG>:
    This one's perverted to the core.
<LI><STRONG>Support other output-formats like texinfo or AmigaGuide</STRONG>: There
    are converters around for this task, and several people smarter than me
    have already failed to introduce the ultimate hypertext authoring tool.
</UL>

</WEBPAGE>