
22 Jan
2012
22 Jan
'12
11:51 a.m.
2012/1/22 MigMit
Отправлено с iPad
22.01.2012, в 20:25, David Barbour
написал(а): 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