Library proposal: Add System.Info.isWindows

Isaac Dupree isaacdupree at charter.net
Wed Aug 15 18:42:50 EDT 2007


Aaron Denney wrote:
>> None of the existing OSes get subtypes... what if "Other" is also 
>> standalone, not having a String argument (and whenever someone wants to 
>> detect some other OS, I guess they petition to have the enumeration 
>> expanded and it will be promptly) - how is that on the problem scale??
> 
> It looks like a problem to me.  If nothing else, as it expands, old
> packages get nasty warnings about incomplete pattern matches on old
> systems, and still don't work on new systems, as the package doesn't
> know how to handle this case. 

One should never have a case for "Other" anyway. Either
case ... of
   Windows -> ...
   Linux -> ...
   _ -> ... --default behavior
or
case ... of
   Windows -> ...
   Linux -> ...
--intentionally broken on unimplemented platforms
--or _ -> error "not implemented on unknown platforms"
should be used, anyway.  That's good practice for anything like this, 
not just in Haskell, that is not inherently a fixed set: "isOther" is 
nonsensical to check for.  (I am recalling that anti-"other" conclusion 
for file/directory/... information flags in C++ Boost.)

Isaac


More information about the Libraries mailing list