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