[Haskell-cafe] Re: different code in different platforms

Simon Marlow simonmarhaskell at gmail.com
Wed Mar 15 11:13:19 EST 2006


Neil Mitchell wrote:

> Does it really have to change statically?
> 
> 
>>I use code like:
>>#ifdef __WIN32__
>>    (Windows code)
>>#else
>>    (Linux code)
>>#endif
> 
> 
> In Yhc, we use a runtime test to check between Windows and Linux. It
> has various advantages - we only have one code base, everything is
> type checked when we compile, and we've never run into any problems
> once despite developing on two different platforms.
> 
> http://www-users.cs.york.ac.uk/~malcolm/cgi-bin/darcsweb.cgi?r=yhc-devel;a=headblob;f=/src/compiler98/Util/FilePath.hs

There's a lot to be said for using runtime tests instead of conditional 
compilation, I agree.  However, it can't be used exclusively: you can't 
choose between two foreign calls this way, for example, because one of 
the calls won't link.

Cheers,
	Simon


More information about the Haskell-Cafe mailing list