1
0
Fork 0

Further details about changes between 1.0.2.6 and 1.0.2.7

This commit is contained in:
Joris van der Hoeven 2003-11-05 12:25:52 +00:00
parent cad837ff17
commit 2d2d08afc1
1 changed files with 24 additions and 10 deletions

View File

@ -1,20 +1,34 @@
<expand|section|Macro expansion (1.0.2.3 -- 1.0.2.4)>
<expand|section|Macro expansion (1.0.2.3 -- 1.0.2.7)>
An important internal change concerning the data format has been made:
macro expansions like
macro expansions and function applications like
<\expand|scheme-fragment>
<\scheme-fragment>
(expand <em|tag> <em|arg-1> ... <em|arg-n>)
</expand>
</scheme-fragment>
<\scheme-fragment>
(apply <em|tag> <em|arg-1> ... <em|arg-n>)
</scheme-fragment>
are now replaced by hard-coded tags
<\expand|scheme-fragment>
<\scheme-fragment>
(<em|tag> <em|arg-1> ... <em|arg-n>)
</expand>
</scheme-fragment>
This makes the internal representation match with the corresponding
<name|Scheme> representation. However, many perverse errors might arise in
the few upcoming versions. Please keep copies of your old files and report
any suspicious behaviour to us.
Moreover, functions have systematically been replaced by macros. The few
built-in functions which may take an arbitrary number of arguments have
been rewritten using the new <markup|xmacro> construct. If you ever wrote
such a function yourself, then you will need to rewrite it too.
The new approach favorites a uniform treatment of macros and functions and
makes the internal representation match with the corresponding
<name|Scheme> representation. More and more information about tags will
gradually be stored in the <abbr|D.R.D.> (Data Relation Definition). This
information is mostly determined automatically using heuristics.
Notice that some perverse errors might arise because of the above changes.
Please keep copies of your old files and report any suspicious behaviour to
us.