<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>RE: Structs (was RE: Record selectors)</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>> O'Haskell is</FONT>
<BR><FONT SIZE=2>> the purely functional language Haskell, conservatively extended with:</FONT>
<BR><FONT SIZE=2>> - subtyping</FONT>
<BR><FONT SIZE=2>> - monadic objects</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> an object-oriented imperative language, enhanced with </FONT>
<BR><FONT SIZE=2>> -parameteric polymorphism</FONT>
<BR><FONT SIZE=2>> -automatic type inference</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> a concurrent language, with </FONT>
<BR><FONT SIZE=2>> -a reactive communication model</FONT>
<BR><FONT SIZE=2>> -asynchronous and synchronous message-passing</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> The author references both Erlang and Java in his thesis:</FONT>
<BR><FONT SIZE=2>> <A HREF="http://www.cs.chalmers.se/~nordland/ohaskell/thesis.ps.gz" TARGET="_blank">http://www.cs.chalmers.se/~nordland/ohaskell/thesis.ps.gz</A></FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> I guess it is could be better to start with the the 4 page </FONT>
<BR><FONT SIZE=2>> paper on Reactive </FONT>
<BR><FONT SIZE=2>> Objects: <A HREF="http://www.cse.ogi.edu/~nordland/isorc.pdf" TARGET="_blank">http://www.cse.ogi.edu/~nordland/isorc.pdf</A></FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> I can not judge how it compares with Erlang regarding </FONT>
<BR><FONT SIZE=2>> concurrency model </FONT>
<BR><FONT SIZE=2>> etc., but I think it would be interesting to get comments </FONT>
<BR><FONT SIZE=2>> from any Erlang</FONT>
<BR><FONT SIZE=2>> linguist.</FONT>
</P>

<P><FONT SIZE=2>Well, the comments to their version of the POTS program from the Erlang book suggest that they see the erlang ability to "selectively receive" to be merely a way of avoiding deadlock, and they avoid such nastiness by statically ensuring that all objects are capable of receiving all valid messages at all times.</FONT></P>

<P><FONT SIZE=2>This ability to "leave some messages in the message queue until I have dealt with the ones I want to" is of course a very powerful part of Erlang..</FONT></P>

<P><FONT SIZE=2>I'll leave deeper analysis to the real language linguists.</FONT>
</P>

<P><FONT SIZE=2>Sean</FONT>
</P>
<BR>
<BR>

<P><B><FONT SIZE=2>NOTICE AND DISCLAIMER:</FONT></B>
<BR><B><FONT SIZE=2>This email (including attachments) is confidential.  If you have received this email in error please notify the sender immediately and delete this email from your system without copying or disseminating it or placing any reliance upon its contents.  We cannot accept liability for any breaches of confidence arising through use of email.  Any opinions expressed in this email (including attachments) are those of the author and do not necessarily reflect our opinions.  We will not accept responsibility for any commitments made by our employees outside the scope of our business.  We do not warrant the accuracy or completeness of such information.</FONT></B></P>

</BODY>
</HTML>