On 8/28/2014 2:53 AM, "Jérôme M. Berger" wrote:
I should have said that in D it is used when declaring an instance
(i.e. at the place of the instance declaration) whereas in the
patent it is used when declaring the type. For a patent lawyer, this
will be enough to say that the patent is new.
Um,
alias immutable(char)[] string;
is declaring a type. It is not used in this case as a storage class, and there
is no instance being declared. String is indeed a type.
Aliases are not really prior art either since they do not allow
creating an immutable type without also creating the corresponding
mutable type.
This seems to me to be reductio ad absurdum. And how does the patent say an
immutable T is to be created without saying T anywhere?
PS: The above does not mean that I think the patent is valid (as a
matter of fact I don't). It only means that the "immutable" keyword
in D is not enough to invalidate it IMO.
It's more than immutable, you're right. D also has transitive immunity, which is
a feature of the patent, and also relaxed immutability during construction,
which is also a point in the patent.
In fact, the patent looks like an explanation of how immutability works in D.