With the proviso that the program unit proposal has still to be fully
specified and debugged, I believe the following should work:

Somewhere:

unit Beget {
    internal package Beget {
        Object.prototype.beget = function (o) { /* what you expect */ }
        Object.prototype.propertyIsEnumerable("beget", false);
    }
}


In your code:

use unit Beget "Somewhere";

In a browser, "Somewhere" would typically be a URI.

--lars

On 10/22/07, Garrett Smith <[EMAIL PROTECTED]> wrote:
> On 10/21/07, Kris Zyp <[EMAIL PROTECTED]> wrote:
> > >> http://javascript.crockford.com/prototypal.html
> > It is the act of creating a object that inherits from/delegates to the
> > provided object. Peter is suggesting sugar for one of the important
> > mechanisms in a prototypal language. I believe the "copy" semantic is used
> > in Self. "clone" is bit misleading (well, I think "copy" is too). With
> > classes, we call it "subclassing". We could call it "subobject" :). Douglas
> > calls it "begetObjet" (nice), I personally think it is very valuable
> > construct and I like what it encourages, but on the otherhand it is so
> > easy/compact to create (about 4 lines of code), and it doesn't seem to be
> > the direction ES4 is headed, so it's omission seems reasonable.
> >
> function beget(o) {
>         function F() {}
>         F.prototype = o;
>         return new F();
> }
>
> var x = {
>     items : [1,2,3]
> };
>
> var y = beget(x);
> y.items.reverse(); // reverse my y items.
>
> x.items[0]; // What is it?
>
> The point I made earlier about mutable objects addresses this very issue.
>
> It's attractive, but easily breakable.
>
> > > YAHOO.mst.app.code = (function(){
> > > // 1100+ lines...
> > >
> > I don't think this doesn't have anything to do with the topic.
> It's little off-topic. It can cause problems in real-world programming
> was the point I was trying to make. Looking at Doug's side made me
> remember that code and the (long, excruciating) time I spent, often @
> the office until 8 or 10 on a Friday. I'm getting off topic again...
>
>
> Garrett
>
> >
> >
> > Kris
> >
> >
>
>
> --
> Programming is a collaborative art.
> _______________________________________________
> Es4-discuss mailing list
> Es4-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es4-discuss
>
_______________________________________________
Es4-discuss mailing list
Es4-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es4-discuss

Reply via email to