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.
On 10/22/07, Neil Mitchell <ndmitchell@gmail.com> wrote:
Hi Bill
> I am really talking about a module or perhaps a Haskell class that
> provides notion for multiple threads of execution, semaphores, .. that
> "hides" POSIX vs Win32 APIs .. i.e. the underlying OS APIs would be totally
> hidden.
I think you are thinking in a "C" way. In Haskell, portable is the
default. If you want to stop your code being portable, you have to go
^^ how? If I define something like "class OS where ...." and define a POSIX instance of "class OS" and a Win32 API instance.. function calls will be to the instances and hence the OS APIs are visible. Yes?
out of your way. Haskell is a much higher level language than others
(such as C). Because the language is higher level, it tends to promote
much higher level abstraction in the libraries - hiding platform
idiosyncrasies in the process.
> IMO if Haskell (or say OCaml) want
> to be accepted by industry this kind of functionality is absolutely
> critical.
It is critical. Perhaps if C wants to be taken seriously it should
provide portability, which has been present in Haskell since the
beginning :-)
^^ 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.
Thanks
Neil