<div>Hi Neil,</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp; You misunderstand me. I am really tired of imperative langauges like C/C++ .. I work in industry (for a long time) and have programmed in ANSI C for more than 10 years. Please see my interleaves below.</div>
<div>&nbsp;</div>
<div>Regards, Bill<br><br>&nbsp;</div>
<div><span class="gmail_quote">On 10/22/07, <b class="gmail_sendername">Neil Mitchell</b> &lt;<a href="mailto:ndmitchell@gmail.com">ndmitchell@gmail.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi Bill<br><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I am really talking about a module or perhaps a Haskell class that<br>&gt; provides notion for multiple threads of execution, semaphores, .. that
<br>&gt; &quot;hides&quot; POSIX vs Win32 APIs .. i.e. the underlying OS APIs would be totally<br>&gt; hidden.<br><br>I think you are thinking in a &quot;C&quot; way. In Haskell, portable is the<br>default. If you want to stop your code being portable, you have to go
</blockquote>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp; ^^ how? If I define something like &quot;class OS where ....&quot; and define a POSIX instance of &quot;class OS&quot; and a Win32 API instance.. function calls will be to the instances and hence the OS APIs are visible. Yes?
</div><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">out of your way. Haskell is a much higher level language than others<br>(such as C). Because the language is higher level, it tends to promote
<br>much higher level abstraction in the libraries - hiding platform<br>idiosyncrasies in the process.<br><br>&gt; IMO if Haskell (or say OCaml) want<br>&gt; to be accepted by industry this kind of functionality is absolutely
<br>&gt; critical.<br><br>It is critical. Perhaps if C wants to be taken seriously it should<br>provide portability, which has been present in Haskell since the<br>beginning :-)</blockquote>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^^ the problem is that C/C++ is taken seriously even though they are high level assemblers. C/C++ have monopoly (as I am sure) in industry. It is almost impossible to convince the software industry to consider FPLs (assuming they even know what an FPL is). It is the FPL community that has to proof itself if is to break into the software industry.
</div><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Thanks<br><br>Neil<br></blockquote></div><br>