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


    Date: Sat 1 Nov 86 09:14:39-PST
    From: Andy Freeman <ANDY@Sushi.Stanford.EDU>

    Apparently you wrote a language that had a multiple values
    scheme much like the one I attributed to Talcott and Weyrauch.
    Can you comment on it to rrrs-authors?  (T&W like it and have
    stayed with it; you abandoned it.  I'm sure both had their

Yes.  For a while I worked on a dialect of Scheme called MARVEL
(Multiple-Return-Value--Expression Lisp; if you ask "where does
the `A' come from?" I say "A is for Acronym").

It did pretty much all the obvious things: every function call was
implicitly like the Common Lisp MULTIPLE-VALUE-CALL, and most
side-effecting forms such as SETQ, PRINT, and COMMENT were made to
return zero values.  I believe I also arranged for variables to
be able to hold multiple values.

My experience with the language was that it was perfectly clean
and elegant, but programs that made non-trivial use of multiple
values were very hard to read, precisely because of the loss
of the one-form/one-value correspondence.  Having the extra power
everywhere in the language was not worth the loss of clarity.
I therefore abandoned the experiment without writing it up.
(Maybe I should have, but there were other, more promising variations
of Scheme to explore.)

I am cc'ing this message to Dick Gabriel, who worked with Weyrauch on
the implementation of SEUS, a language with this geneal flavor.  I
recall him having reported to me the same results with their language,
but he should have the chance to speak for himself.

I believe that experience with the POP languages (especially POP-2)
may be relevant to ths discussion, but I am not an expert there.