ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/microscheme/Changes
Revision: 1.5
Committed: Sat Nov 28 22:14:49 2015 UTC (8 years, 6 months ago) by root
Branch: MAIN
Changes since 1.4: +2 -0 lines
Log Message:
*** empty log message ***

File Contents

# Content
1
2 TODO: call/cc broken with or with SCHEME_STACK, also in tinyscheme
3
4 - major size optimisations
5 - struct layout for both typical CISC and RISC cpus.
6 - optional error messages.
7 - optional error checking.
8 - cell size reduced by not storing both float and int forms of a number,
9 - major dependency optimisations (no stdio etc.)
10 - faster and vastly simpler vector memory management (execution speed
11 is roughly twice faster than tinyscheme when optimised for size, and 2.5
12 times faster when optimised for speed).
13 - no need for consecutive cells
14 - more compact and faster vectors.
15 - resizable vectors (not exposed yet)
16 - faster environment implementation, not hashed by name but by symbol address.
17 - simpler cell memory management, only one block
18 - much faster call stack implementation, fully supporting continuations,
19 while greatly reducing cell thrashing, thus fewer gc's and overall
20 much faster execution.
21 - allow full 32 bit size range for strings and vectors.
22 - made ports optional.
23 - made error checking and error strings optional.
24 - ripped out features: dynamic loading, nonstandard C targets.
25 - fix numerous ISO C violations (mostly _ namespace).
26 - fix numerous uninitialised value violations.
27 - fix some bufer overflows (mostly relying on _sprintf terminating with 0).
28 - fix numerous sign/truncation problems.
29 - remove limit of 65535 args maximum.
30 - move ~5kb opcode table into read-only segemnt, saves 5kb rss.
31 - reduce ~5kb opcode table to 1.2kb.
32 - subnormals are no longer flushed to zero in some comparisons.
33
34 TODO: atom names starting with dot cannot currently be parsed due to a tinyscheme bug.
35