1
0
Fork 0
doc/about/changes/changes-7.en.ptm

35 lines
1.3 KiB
Plaintext
Raw Permalink Normal View History

2011-08-28 15:59:50 +08:00
<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 and function applications like
<\scheme-fragment>
(expand <em|tag> <em|arg-1> ... <em|arg-n>)
</scheme-fragment>
<\scheme-fragment>
(apply <em|tag> <em|arg-1> ... <em|arg-n>)
</scheme-fragment>
are now replaced by hard-coded tags
<\scheme-fragment>
(<em|tag> <em|arg-1> ... <em|arg-n>)
</scheme-fragment>
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.