[Omake] test/object/Test14

Jason Hickey jyh at cs.caltech.edu
Tue Jul 31 18:24:32 PDT 2007


On Jul 31, 2007, at 5:30 PM, Aleksey Nogin wrote:

>
> - Make sure we agree on the Shared AKA Dynamic (so that we do not  
> release something that will be renamed in the next release)

Let's go with Dynamic, I can make the change on the jumbo end.

> - Check with Jason whether he thinks my today's hosting changes are  
> good enough for 0.9.8.5, or whether he prefers to revert them and  
> go for some other solution (like "no object hoisting") for 0.9.8.5

Object hoisting is good IMHO, so worth keeping.  Also, path  
definitions like

    a.b.c = 1

are excellent, and, I would say, a feature of the release.

The problem is with private exports.  For simplicity, I would argue  
that, for now, private exports should have no effect when hoisting.

Here is a/the semantic problem with private exports.

    section
       private.x = 1
       f() =
           x = $(add $x, 1)
           export x
       export f

    private.x = 1
    f()
    # x is 2?

I think the two "x" should be different, so the final value is still  
1.  This is especially so when hoisting, because the method usually  
has a very different static environment from the caller.

In any case, all I am arguing for now is that hoisting-exports should  
be as simple as possible--no complicated logic.

I'll try to look more at this tomorrow.

Jason

--
Jason Hickey                  http://www.cs.caltech.edu/~jyh
Caltech Computer Science      Tel: 626-395-6568 FAX: 626-792-4257





More information about the OMake-Devel mailing list