From e1a4b26a53d24b28eb94cb2d5a14ec7b0ff5b081 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 20 Sep 2005 08:38:12 +0000 Subject: [PATCH] history --- doc/gf-history.html | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/doc/gf-history.html b/doc/gf-history.html index 2e7f390b5..d50f42075 100644 --- a/doc/gf-history.html +++ b/doc/gf-history.html @@ -12,21 +12,28 @@ Changes in functionality since May 17, 2005, release of GF Version 2.2 +

+ 20/9 (AR) Added optimization by common subexpression elimination. -It works on GFC modules and creates $oper$ definitions for -subterms that occur more than once in $lin$ definitions. These -$oper$ definitions are automatically reinlined in functionalities -that don't support $oper$s in GFC. This conversion is done by -module and the $oper$s are not inherited. Moreover, the subterms -can contain free variables which means that the $oper$s are not +It works on GFC modules and creates oper definitions for +subterms that occur more than once in lin definitions. These +oper definitions are automatically reinlined in functionalities +that don't support opers in GFC. This conversion is done by +module and the opers are not inherited. Moreover, the subterms +can contain free variables which means that the opers are not always well typed. However, since all variables in GFC are type-specific -(and local variables are $lin$-specific), this does not destroy +(and local variables are lin-specific), this does not destroy subject reduction or cause illegal captures.
The optimization is triggered by the flag optimize=OPT_subs, where OPT is any of the other optimizations (see h -optimize). The most aggressive value of the flag is all_subs. In experiments, -the size of a GFC module can shrink by 80% compared to plain all. +the size of a GFC module can shrink by 85% compared to plain all. + +

+ +18/9 (AR) Removed superfluous spaces from GFC printing. This shrinks +the GFC size by 5-10%.