[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FRPOLY; philosophy of benchmarking



Thank you for explaining the history of the FRPOLY benchmark.  I was
TA for a course in which Professor Martin lectured at MIT.

I certainly believe it is possible to translate MacLisp code automatically
into Scheme, and I even suspect that it is easier than translating (e.g.)
Ada automatically into Common Lisp.  But that's not a very interesting issue.

It is important for people to understand benchmarks so they can
understand what the results of the benchmark mean.  Without
that understanding, benchmarking is a worse than useless exercise.

I don't understand FRPOLY well enough to convert its PROGs into
idiomatic Scheme code.  Scheme doesn't support PROG.  I know an
algorithm for translating any PROG into a single use of
CALL-WITH-CURRENT-CONTINUATION surrounding a LETREC, and I have
used that algorithm on occasions when my sole interest was in
getting an antique piece of code to run, but mindless application
of the algorithm makes the code even more opaque.

I might add that several other of the Gabriel benchmarks are too
large for their significance to be comprehended easily, but with
the others I was able to translate them into reasonably idiomatic
Scheme code after only a little study.  I would be delighted if
someone who understood the FRPOLY benchmark were to translate it
into Scheme.  I think it is far better for that to happen after
some delay than for me to do a quick but poor translation.

peace,
Will Clinger