This is the mail archive of the
kawa@sources.redhat.com
mailing list for the Kawa project.
checked in new --full-tailcalls api
- From: Per Bothner <per at bothner dot com>
- To: kawa <kawa at sources dot redhat dot com>
- Date: Sun, 08 Aug 2004 23:50:03 -0700
- Subject: checked in new --full-tailcalls api
I checked in the new function calling ABI:
A function call is split up in two parts: A match0/.../matchN
method checks that the actual arguments match the expected
formal arguments, and leaves them in the per-thread CallContext.
Then after the calling function returns, a zero-argument apply()
methods evaluates the function body. This new convention has
long-term advantages (performance, full continuations), but the
most immediate benefit is better handling of generic (otherloaded)
functions. There are also improved error messages.
The testsuite passes with no regressions, though I wouldn't be
surprised if there are some new bugs. Also, I haven't tested
whether servlets work - I suspect they don't.
In addtion to testing (and if need be fixing) servlets, planned
follow-on work includes:
* Documenting the new API in the internals manual.
* Implement full continuations.
* Improving the conventions used to remember argument values
between match0/.../matchN method and the apply method.
(No promises when/if any of this will be done, of course.)
--
--Per Bothner
per@bothner.com http://per.bothner.com/