[Top] [All Lists]

Re: [Haskell-cafe] Re: looking for origin of quote on preprocessors and

Subject: Re: [Haskell-cafe] Re: looking for origin of quote on preprocessors and language design
From: Henning Thielemann
Date: Wed, 13 Jan 2010 22:42:18 +0100
Maciej Piechotka schrieb:

Not quite. While I agree that "the *frequent* need for a preprocessor
shows omissions in (the design of) a language." it is not necessary the
case. Preprocessor may be useful if:

- there is a new beatyful feature in newer version of compiler but you
still want to have backward compatibility.
- there are compiler or platform dependant elements. For example if you
write a driver in Haskell you may want to share code as much as possible
but you need to know 1) the size of registers and 2) the platform you're
writing as Windows have quite different API then Linux or BSD.
- You need to enable/disable features at build-time. It is not frequent
at closed-source system but it is frequent on OpenSource systems. For
example I might need to have minimal program for embedded system but
with full feature set it likly conquer the desktops
Many of these problems are solved by preprocessor intervention in C/C++, but there is often no need to do so. You could also write system dependent modules, where the right module for your system is included by the build system. I hope the build system does not count as a preprocessor. In Haskell it is however still no fun to support multiple versions of the base libraries, not to speak of different compilers - and their set of libraries.

Unfortunately, the original question is still not answered.

Haskell-Cafe mailing list

<Prev in Thread] Current Thread [Next in Thread>