<div>Hi Neil,</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp; I am really talking about a module or perhaps a Haskell class that provides notion for multiple threads of execution, semaphores, .. that &quot;hides&quot; POSIX vs Win32 APIs .. i.e. the underlying OS APIs would be totally hidden. The reason I bring this up is that OS abstraction layers are very common in &quot;mainstream&quot; languages like C++. Any code written using an OS abstraction layer is absoutely portable. IMO if Haskell (or say OCaml) want to be accepted by industry this kind of functionality is absolutely critical. 
</div>
<div>&nbsp;</div>
<div>Kind 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">&gt;&nbsp;&nbsp;&nbsp;&nbsp; Besides GUI stuff, in what modules are the platform neutral stuff implemented? Or how &gt; do I look for this code?
<br><br>Most of the code is platform neutral. A few specific bits<br>(System.Posix, System.Win32) are limited to one operating system, but<br>that&#39;s hardly any of it. If you just write code, there is a strong<br>chance it will work perfectly on both operating systems. I&#39;ve only
<br>ever developed Haskell on Windows, and I&#39;ve never had a Linux user<br>have a problem with any of it. About the only thing to be &quot;careful&quot;<br>about with platform differences is that you should make use of the
<br>System.FilePath module to manipulate filepaths, if you are doing that<br>to any great extent.<br><br>If you say what you are tying to do, and why you suspect it might not<br>&quot;just work&quot; in a cross platform manner, people might be able to
<br>address your specific concerns.<br><br>Thanks<br><br>Neil<br><br><br>On 10/22/07, Neil Mitchell &lt;<a href="mailto:ndmitchell@gmail.com">ndmitchell@gmail.com</a>&gt; wrote:<br>&gt; Hi Bill,<br>&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In the Haskell libraries, is there an OS abstraction module, that would
<br>&gt; &gt; &quot;hide&quot; the POSIX API and Win-32 API? If not, this would be nice so that<br>&gt; &gt; Haskell &quot;programs&quot; could be written in an OS independent manner!<br>&gt;<br>&gt; Yes, Haskell provides a fairly complete API in the base libraries,
<br>&gt; which is platform neutral. If you want platform neutral GUI programs<br>&gt; then you have Gtk2hs.<br>&gt;<br>&gt; Thanks<br>&gt;<br>&gt; Neil<br>&gt;<br></blockquote></div><br>