John Goerzen jgoerzen at
Fri Mar 31 18:54:42 EST 2006

On Fri, Mar 31, 2006 at 02:49:53PM -0800, John Meacham wrote:
> > threading if it's available, but can degrade gracefully if not?  Should
> > I be forced to use something like cpphs to detect the presence of
> > threading in advance?  It would be better to detect this at runtime than
> > fail to compile at all on a system that doesn't support threading, IMHO.
> Yeah, actually. cpphs (or something in cabal) seems like just the right
> way to go. because it is set at compile time. you don't make run-time
> decisions as to whether to use unboxed arrays, control.arrow or any
> other library. it would seem very odd to do so for concurrency.

Well then, this mechanism ought also to be standardized by Haskell'.  To
support concurrency (or not) but to not provide an automated way of
graceful degradation is not, to me, a good solution.

> Concurrency might be hidden deep in a library, you don't want to
> suddenly get an unexpected "concurrency not supported" error because you
> happened to use a library you didn't write in a new way. better to be
> safe and catch those known errors at compile-time.

That does make sense.  I am concerned about the mechanism.  AFAIK,
Haskell98 didn't mandate cpphs or any tool like it.  Will Haskell'?  If
not, then we are back to the original problem.

-- John

More information about the Haskell-prime mailing list