Re: [widgets] Null in P&C

On Tue, 02 Feb 2010 13:29:42 +0100, Marcos Caceres <marcosc@opera.com>  
wrote:

> Hi,
> I had a discussion with an implementer who was a bit confused about the  
> concept of "null" in the specification. The problem is that I kinda  
> wrote the spec as if it was to be implemented in Java or JavaScript.  
> This has resulted in confusion wrt how "null" is to be interpreted in  
> languages that don't have that concept/data type.
>
> So, in an effort to clarify that, I've added the following to Processing  
> Rules section of P&C:
>
> [[
> In the following algorithms, the concept of null is used as a special  
> symbol to indicate that a variable has no data associated with it. For  
> example, "let x be null" or "if y is empty, then return null".
>
> Note: Although ECMAScript and Java support null as a native value type,  
> there are some programming languages that have no notion of null or  
> where null is problematic (e.g. C++). For those languages, it is OK for  
> an implementation to substitute the null for some other value or symbol  
> (or for nothing at all). For example, it is ok to have the value 0  
> represent null for the height of a widget as the height of a widget is  
> defined as a non-negative integer greater than 0. In such a case, 0  
> would behave as if it is null.
> ]]
>
> I don't have much experience programming in anything but Java and  
> ECMAScript (why would anyone program in something else?!;)), so please  
> let me know if it makes sense or if it could be better defined.

HTML5 solves this with:

"Conformance requirements phrased as algorithms or specific steps may be  
implemented in any manner, so long as the end result is equivalent."
http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#conformance-requirements

-- 
Simon Pieters
Opera Software

Received on Tuesday, 2 February 2010 13:20:27 UTC