[Haskell-cafe] Maybe a, The Rationale

Brandon S. Allbery KF8NH allbery at ece.cmu.edu
Sun May 11 09:52:40 EDT 2008


On 2008 May 11, at 5:09, PR Stanley wrote:

>>>>>        Um, I was encountering and recognizing times when I  
>>>>> really needed an
>>>>> out-of-band "null", and the pain of representing such in C,  
>>>>> shortly
>>>>> after I started serious programming in C (call it 1984-5).  Is  
>>>>> this
>>>>> really difficult?
>>>>
>>>>
>>>>      Paul: Hmm, I'm not quite sure what you're driving at.
>>> Me neither.
>>
>> Null pointers, EOF markers, didn't find specified key in some tree,  
>> etc.
>
>        Paul: So much time is wasted on making the thing work even if  
> you have perfectly sound semantics. Still, that's a hundred times  
> more preferable to c++ and its anomalies and contradictions.  What  
> was Stroustroup thinking of! :-

My real point was that in the C programming culture it was/is far too  
common to use an in-band value; that is, one that could be confused  
with or treated as a valid response:  null pointers, stdio's EOF (=  
-1).  This just causes problems because code is almost encouraged to  
ignore the special cases.  For example, the ctype macros have to  
support being passed EOF.  Maybe types force you to deal with it,  
while simultaneously providing convenience functions to help you deal  
with it.

-- 
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university    KF8NH




More information about the Haskell-Cafe mailing list