As several front-end people have suggested, calling fold whilst
    constructing parse trees shouldn't be necessary (as shown by the
    shining examples of g77 and GNAT).  

I don't follow.  GNAT certainly calls fold for every expression it makes.

    In reality, many of the transformations performed by fold (most? as I
    expect expressions with constant operands are actually fairly rare at
    the source level) are purely to tidy up the inefficiencies or
    incorrect tree representations constructed by the front-ends.

I disagree.  It's far better to have common code to do simplifications
than to have each front end have their own set.  I'm not sure I understand
your point here.

Reply via email to