[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Date: Tue, 8 Apr 86 00:09 EST
From: Scott W. Layson <x.Gyro at OZ.AI.MIT.EDU>
Perhaps the correct way to carry on this discussion is not to introduce
proposals as "the correct way..."?
My apologies, I meant to put the word "correct" in quote marks.
Being a not-quite-reformed assembly language hacker, I prefer multiple
continuations to boolean return values because they feel more direct and
efficient to me. It takes work to generate different boolean values in
different places, then merge to a common point of control, then
immediately test the boolean value to produce divergent streams of
control again. Better to make use of the information directly and avoid
the encoding and decoding.
This is just one of my personal, idiosyncratic stylistic principles (the
"avoid encoding/decoding" principle) which I don't expect everyone to
agree with, and I admit that the notation can be cumbersome.
[And don't get me wrong - I'm not saying there's a compiler out there
which does nearly as well with multiple continuations as an assembly
language programmer does; TC's object code would cons up a storm
creating those continuations. But I wouldn't say such a compiler is
impossible either. Certainly special cases of this exist all over the
place in higher-level languages, for example the FOO(A, B, &4=123,
&8=2000) feature of IBM FORTRAN (do I remember the syntax correctly? it
involved ampersands, I know), signalling in CLU, etc. It ought be
possible to get a Scheme compiler to generate equivalent or better code\n from the more general surface language.]