Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 18 submissions in the queue.
posted by janrinok on Thursday August 28 2014, @12:57AM   Printer-friendly
from the a-request-for-your-help dept.

Matter at hand US Patent Application 20140196008.

What (seems to me like) MS wants to patent: * immutability by API:

Systems level programming is based upon tight and efficient management of access to and lifetime of resources (such as objects) throughout the system. One common way to provide this tight management is to use an Application Program Interface (API) to manage the lifetime and access of the resource.

* immutability by language extensions:

At least some embodiments described herein relate to a language extension that advances safety in system programming. In accordance with the language extension, an entire type may be declared to be immutable in the case in which all instances of that type are immutable. The immutable type declaration automatically causes any instances of that type to be treated as immutable, and automatically causes all directly or indirectly reachable members (e.g., fields, methods, properties) of the instance to also be treated as immutable.

If you have ideas on prior art, visit the patents.stackexchange.com entry.

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 1) by DBCubix on Thursday August 28 2014, @01:12AM

    by DBCubix (553) Subscriber Badge on Thursday August 28 2014, @01:12AM (#86532)

    I will just patent datatypes.

  • (Score: 2) by dyingtolive on Thursday August 28 2014, @01:17AM

    by dyingtolive (952) on Thursday August 28 2014, @01:17AM (#86535)

    I'll patent today for a hamburger tomorrow.

    --
    Don't blame me, I voted for moose wang!
  • (Score: 4, Insightful) by prospectacle on Thursday August 28 2014, @02:06AM

    by prospectacle (3422) on Thursday August 28 2014, @02:06AM (#86545) Journal

    In some ways I think the more egregious abuses there are of the broken patent system, the closer we'll get to the point when the average voter realises it's broken.

    --
    If a plan isn't flexible it isn't realistic
  • (Score: 3, Interesting) by buswolley on Thursday August 28 2014, @02:08AM

    by buswolley (848) on Thursday August 28 2014, @02:08AM (#86546)

    From the stack exchange comments

    Object immutability is nothing new. C and C++ have had the const qualifier for years, which achieves exactly what's mentioned in the excerpt you posted and can be imbued in a type by means of a typedef.

    However, the abstract from the page you linked mentions:

    ... Furthermore, any construction time reference that allows for field assignment of the instance is not permitted to survive beyond the point at which the instance becomes accessible to its creator.

    I didn't read the whole thing, but this might be where the novelty of the patent is: it somehow doesn't let modifiable references to an immutable object escape the object's constructor (which is something I don't believe the other examples posted here do, though I might be wrong.)

    --
    subicular junctures
    • (Score: 1, Interesting) by Anonymous Coward on Thursday August 28 2014, @02:20AM

      by Anonymous Coward on Thursday August 28 2014, @02:20AM (#86548)

      it somehow doesn't let modifiable references to an immutable object escape the object's constructor

      sorry for the dumb question, but how different is this from using encapsulation to limit the assignment to an object?

      in another context (Java): how different is this from using the "final static" modifiers against a variable and instantiating it using a static constructor?

      • (Score: 4, Interesting) by forsythe on Thursday August 28 2014, @03:37AM

        by forsythe (831) on Thursday August 28 2014, @03:37AM (#86570)

        From what I read of the patent, I think they're proposing the following: that "superfinal" applied to a class automatically applies to the fields of that class, including the concept of ``immutablizing'' an object after it has been created and mutated. So writing (in Java-ish terms, to follow your context)

        class Baz { public int x; }

        superfinal class Foo {
                public int bar;
                public Baz quux;
                public Foo(int in_bar, Baz in_quux) {
                        bar = in_bar;
                        quux = in_quux;
                }
                ...
        }

        Would automatically make `bar' and `quux' final, and would also make the following code invalid:

        Baz b = new Baz();
        b.x = 101;

        Foo f = new Foo(-39, b);

        b.x = 102; // This line would be invalid, because b gets immutablized after being used in f's constructor

        That's based on

        Furthermore, any construction time reference that allows for field assignment of the instance is not permitted to survive beyond the point at which the instance becomes accessible to its creator.

        Because I think the intent is that b would count as a `construction time reference that allows for field assignment of the instance'. (Personally, I would argue that b.x isn't necessarily a field of the object f, since b could be and probably is simply a reference, but that would make the patent useless, so I doubt that's the intended interpretation.)

        Corrections welcome, of course.

        • (Score: 1) by Zipf on Thursday August 28 2014, @12:19PM

          by Zipf (2400) on Thursday August 28 2014, @12:19PM (#86694)

          A time-reversed theologic interpretation of the big-bang! Is there nothing MS can't do?

        • (Score: 2) by HiThere on Thursday August 28 2014, @07:43PM

          by HiThere (866) Subscriber Badge on Thursday August 28 2014, @07:43PM (#86893) Journal

          I'm not sure I'm following what you're saying, but to me it sounds exactly like D's immutable.
          http://dlang.org/attribute#immutable [dlang.org]
          The reference is a bit obscure, as they intend that you've read before that point. D's const isn't quite the same as C++'s const.

          My real reference for this kind of thing is "The D Programming Language" by Andrei Alexandrescu. He does a much better job of explaining, but it's not on-line.

          --
          Javascript is what you use to allow unknown third parties to run software you have no idea about on your computer.
    • (Score: 2, Informative) by Anonymous Coward on Thursday August 28 2014, @08:09AM

      by Anonymous Coward on Thursday August 28 2014, @08:09AM (#86653)

      I didn't read the whole thing, but this might be where the novelty of the patent is: it somehow doesn't let modifiable references to an immutable object escape the object's constructor (which is something I don't believe the other examples posted here do, though I might be wrong.)

      If this is the "novelty", then C++ prior art covers that as well:

      struct X
      {
        X(int arg) { member = 1; while (member < arg) member *= 2; } // constructor modifies member
        int member;
      };
       
      const X x(10); // runs constructor (which modifies x.member), but disallows modification of the object afterwards
       
      int main()
      {
        x.member = 27; // error: x.member is const
      }

  • (Score: 4, Funny) by NoMaster on Thursday August 28 2014, @07:28AM

    by NoMaster (3543) on Thursday August 28 2014, @07:28AM (#86642)

    Don't ever don't ever change...

    --
    Live free or fuck off and take your naïve Libertarian fantasies with you...
  • (Score: 0) by Anonymous Coward on Thursday August 28 2014, @11:58PM

    by Anonymous Coward on Thursday August 28 2014, @11:58PM (#86983)

    M$ will be patenting the binary numbers 0 and 1. Therefore every OS and software is owned by M$.

    • (Score: 2) by DECbot on Friday August 29 2014, @02:19AM

      by DECbot (832) on Friday August 29 2014, @02:19AM (#87016) Journal

      If MS ever gets around to patenting binary, I start building my trinary computer, compiler, and os. It'll have some cool name like Triad OS, OS^3, or GNU/Trinux. Don't ask me how it works, its not even at the conceptual phase. But it'll be awesome, you should try it out.

      --
      cats~$ sudo chown -R us /home/base