On Mon, Jan 20, 2014 at 4:16 AM, Taylor R Campbell <campb...@mumble.net>wrote:

>    Date: Sun, 19 Jan 2014 10:58:15 -0700
>    From: Matt Birkholz <p...@birchwood-abbey.net>
>
>    > From: Chris Hanson <c...@chris-hanson.org>
>    > Date: Fri, 17 Jan 2014 22:40:01 -0800
>    >
>    > R7RS defines parameters, which we'll eventually need to implement
> anyway
>    > for compliance.  Converting the system's bindings over to parameters
> is
>    > probably the right thing for a variety of reasons.
>
>    Then I will stick it to master, one binding per commit.
>
> Let's keep it in a branch until we get 9.2 out, at least.
>
>    Comply with R7RS?  Does it not require multiple-value returns?
>
> Probably, but it's a bug that we don't implement them right.
>
> Lying around somewhere I might have a local branch with a stab at
> implementing them with zero overhead for the single-return,
> single-receive case by adding a return code for the multiple-receive
> case.  In principle this should work, but integrating it with compiled
> code made it tricky.
>

It's pretty trivial to support MVs entirely in user-space
by wrapping them in a special object, at zero overhead
for the single value case.

You do need to add an extra check for the wrapped type
in call/cc, but there's no compiler support required.

-- 
Alex
_______________________________________________
MIT-Scheme-devel mailing list
MIT-Scheme-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/mit-scheme-devel

Reply via email to