On Tue, Sep 6, 2022 at 5:39 PM Marc Nieper-Wißkirchen <[email protected]>
wrote:

there cannot be an
> implementation, portable or not, on every Scheme implementation that
> is allowed by R7RS. (As I tried to explain earlier, even access to
> something like "%true-promise" would not help.)


I continue to find your explanation incomprehensible, but I'll add a
warning saying that on an unusual implementation of Scheme promises, it is
not possible to treat promises as thunks; however, no such implementations
are known.

 I would
> suggest either making promises a disjoint type or making them
> indistinguishable from ordinary values, which would mean implicit
> forcing and probably a Haskell-like kernel for Scheme.


IMO the second option would be extremely destructive to the Scheme effort:
all existing Schemes would have to be not just modified but discarded.  The
first option is feasible and indeed desirable.  At the same time, we should
close off the "promise = result" and "promises are implicitly forced in
certain cases" options.

I don't feel very strongly about "polymorphic `force`" as long as the other
cases are suppressed.

Reply via email to