[Bug 10205] Issues in section 16.2 Basic higher-order functions

http://www.w3.org/Bugs/Public/show_bug.cgi?id=10205





--- Comment #7 from dnovatchev@gmail.com  2010-07-21 15:57:53 ---
(In reply to comment #4)
> The Formal Semantics provided us with a notation to declare such type
> constraints and therefore to standardize static type checking. We've abandoned
> maintaining the formal semantics partly because we didn't have the resources to
> keep it up to date, and partly because it didn't really succeed in its aim of
> standardizing the type checking rules, because implementations were given so
> much freedom to do different inferences. I'm not going to attempt to reinvent
> it.
> We do have a general permission for implementors to do early (optimistic)
> detection of type errors, and this is possible whether we describe the rules in
> English or in some formal notation.

In this particular case implementors should not have "permisiion" -- they
should be obliged to issue certain *static* type errors. Regardless whether the
type constraints are expressed formally or in English, there must be text
saying that:

"It is a static type error if the type of the {n-th argument} of $f() is not
the same as (or derived from) the type of {k-th argument} of the {function
being defined}."  - where the phrases in the {} brackets should match one of
the four functions being defined.

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Wednesday, 21 July 2010 15:57:54 UTC