This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: call-with-values inliner


I checked in some nice improvements on multiple values:
* If either the producer or consumer of call-with-values is fixed-arity
lambda expression, it is inlined.
* We have a new type representation of a type of multiple values
and a fixed number of value types.
* Decent-type checking of both call-with-values and values.

To do:
* A Scheme syntax for multiple-values types.  Probably values[T1 ... Tn]
* Being able to round-trip multiple-values types in compiled code.
(I.e. if a function returns multiple values of known types, we should be
able to annotate or infer that, have it be saved in the .class file, and
be made use of if the function is called.)
* I haven't looked at let-values and define-values.  They could probably
be improved.
* Possibly a more efficient representation of multiple values.  Especially
it would be nice to not allocate a Values object in a context where the
producer is inlined.
--
	--Per Bothner
per@bothner.com   http://per.bothner.com/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]