<br><br><div class="gmail_quote">2012/1/22 MigMit <span dir="ltr">&lt;<a href="mailto:miguelimo38@yandex.ru">miguelimo38@yandex.ru</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
Отправлено с iPad<br>
<br>
22.01.2012, в 20:25, David Barbour &lt;<a href="mailto:dmbarbour@gmail.com">dmbarbour@gmail.com</a>&gt; написал(а):<br>
<div class="im">&gt; Attempting to shoehorn `undefined` into your reasoning about domain algebras and models and monads is simply a mistake.<br>
<br>
</div>No. Using the complete semantics — which includes bottoms aka undefined — is a pretty useful technique, especially in a non-strict language.</blockquote></div><br><div>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.</div>
<div><br></div><div>Regards,</div><div><br></div><div>Dave</div><div><br></div><div><br></div>