2012/1/22 MigMit
<miguelimo38@yandex.ru>
Отправлено с iPad
22.01.2012, в 20:25, David Barbour <dmbarbour@gmail.com> написал(а):
> Attempting to shoehorn `undefined` into your reasoning about domain algebras and models and monads is simply a mistake.
No. Using the complete semantics — which includes bottoms aka undefined — is a pretty useful technique, especially in a non-strict language.
It is a mistake. You mix semantic layers - confusing the host language with the embedded language. If you need to model non-termination or exceptions or the like, you should model them explicitly as values in your model. That is, *each* layer of abstraction that needs `undefined` should explicitly have its own representation for such concepts, rather than borrowing implicitly from the host.
Regards,
Dave