[plt-scheme] why should black holes be exceptions, rather than divergence?
> I have been thinking about Scheme's implementation of "black holes",
> or provable divergence, as errors. That is,
>
>> (letrec [(x (delay (force x)))] (force x))
>
> raises an error rather than diverges.
>
> Can someone refer me to or give me historical background or motivations
> of this particular design choice?
I think the answer is just that there are very few use cases where
someone would actually want to write the above code.
For background, check here:
http://srfi.schemers.org/srfi-45/srfi-45.html
http://srfi.schemers.org/srfi-45/post-mail-archive/maillist.html
Particularly:
http://srfi.schemers.org/srfi-45/post-mail-archive/msg00011.html
http://srfi.schemers.org/srfi-45/post-mail-archive/msg00013.html