-
Notifications
You must be signed in to change notification settings - Fork 14
/
TODO
66 lines (52 loc) · 2.5 KB
/
TODO
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
# This file is part of Hedgehog
#
# Author: Kenneth Oksanen <[email protected]>
#
We have ported Hedgehog to Solaris (SunOS) and FreeBSD in the sense
that they compile and we have ran some rudimentary tests on them.
However, we have not ran any deeper tests, such as actually checking
that various system-dependent builtins work. User contributions and
bug/success reports are welcome.
Improve documentation.
A web server demo.
A monitor state machine. It is distinct from normal user-level state
machines in the sense that
More system calls:
stat?
pipe?
(Note that the intention of Hedgehog is /NOT/ to support all possible
and impossible system calls - we're primarily interested in small M2M
boxes where, for example, root is the only user and chown is therefore
pretty useless... But if someone really starts to use Hedgehog in
other apps as well, then we'll listen and hopefully include their
contribs. If the number of system calls and subsequently the system
requirements become painfully large, group then under suitable
#ifdefs.)
Allocate the memory needed by unix-exec from the semispace.
Or use the old semispace (nah, bad idea, because we may wish to change
to a singlespace collector some day).
Signed/unsigned in interface-gen.pl. Causes problems in
(def-syntax unix-CRTSCTS -2147483648)
Replace requirement for perl (in prelude.d/interface-gen.pl) and gawk
(in hh_version.awk) with python, which is already used
in generating the document.
Add more constant folding rules to hh_opt.c
Add a small, concise compression/decompression algorithm. It should
be usable both from byte code instructions to compress/decompress
strings, and from the main program to decompress byte code files.
Probably the best solution is something based on the Burrows-Wheeler
transform.
Instead of having each instruction check its arguments, perhaps we
should go towards a design where a special typecheck instruction
checks the type of the one argument in accu. The drawback is that
typechecking becomes much more costly in terms of CPU (the number of
dispatched instructions almost doubles), but the benefit is that the
size of the typechecking byte code interpreter would decrease
significantly. It is possible that compiler optimizations (partial
type inference) and perhaps statically type checked annotations will
reduce the performance overhead.
/Cheap/ live-precise gc.
Singlespace unidirectional collector.
Spend a good while improving the language:
- syntax: pattern matching etc.
- typing: have optional static typing, classes.