Changeset 35225 in project


Ignore:
Timestamp:
02/25/18 23:26:07 (4 months ago)
Author:
kon
Message:

rel 1.0.4

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/eggref/4/expand-full

    r31147 r35225  
    5151== Bugs and Limitations
    5252
    53 {{expand-full}} simply invokes the core {{expand}} procedure
    54 iteratively until nothing remains to be expanded.  Unfortunately, each
    55 {{expand}} step returns the expansion of the outermost macro only,
    56 discarding the syntactic environment used in that expansion.
     53{{expand-full}} simply invokes the core {{expand}} procedure iteratively until
     54nothing remains to be expanded. Unfortunately, each {{expand}} step returns
     55the expansion of the outermost macro only, discarding the syntactic
     56environment used in that expansion.
    5757
    58 This means that if the expansion uses any macros that were introduced
    59 in the expansion or if it uses macros that are only available within
    60 the module in which the macro was defined, the next expansion step
    61 won't know about these macros, and will fail to expand correctly.
     58This means that if the expansion uses any macros that were introduced in the
     59expansion or if it uses macros that are only available within the module in
     60which the macro was defined, the next expansion step won't know about these
     61macros, and will fail to expand correctly.
    6262
    63 The upshot of all this is that expand-full is only useful for
    64 expansion of trivial macros.  More specifically, it works only for
    65 macros that expand only to other top-level macros.  This includes
    66 recursive macros which expand to self-invocations.  Unfortunately,
    67 this is a fundamental limitation of the core {{expand}} form, which
    68 means it's an unfixable problem for this egg.
     63The upshot of all this is that expand-full is only useful for expansion of
     64trivial macros. More specifically, it works only for macros that expand only
     65to other top-level macros. This includes recursive macros which expand to
     66self-invocations. Unfortunately, this is a fundamental limitation of the core
     67{{expand}} form, which means it's an unfixable problem for this egg.
    6968
    7069== Author
     
    7574== Version history
    7675
     76; 1.0.4 : Fix {{expand*}} - expand {{vector}} & condition on a {{proper-list}}. Better csi help message.
     77; 1.0.3 :
     78; 1.0.2 :
     79; 1.0.1 :
    7780; 1.0.0 : Initial release.
    7881
Note: See TracChangeset for help on using the changeset viewer.