[Grace-core] Minutes of Teleconference 10-11.08.2015

James Noble kjx at ecs.vuw.ac.nz
Wed Aug 12 18:27:37 PDT 2015


Hi Kim

I read this and it seems pretty good - only obvious bug is in the title :-)
Given our object constructor semantics, I don’t see this as a big generalisation
(although as andrew points out it either isn’t compositional - without
further confusing the operational semantics).

At the top of page 3, I’d probably say “A new object is allocated with space for…”
rather than just “Space is allocated” or something, to make clear where the 
object identity comes from.

Michael will probably point out your description doesn’t take account
of side effects in the “inherits” expression itself.

you may be interested in this Bad Idea though: 

https://projects.cecs.pdx.edu:8443/~black/NewOOL/index.cgi/wiki/LazyInitialisation

and possibly the related

https://projects.cecs.pdx.edu:8443/~black/NewOOL/index.cgi/wiki/EarlyLateInitialisation

James 


> On 12/08/2015, at 11:46am, Kim Bruce <kbbruce47 at gmail.com> wrote:
> 
> Given our discussion yesterday in the teleconference, I decided it was worthwhile to write up an informal, but relatively careful specification of the meaning of objects, classes, and inheritance.  I've put a copy in a new SemanticsInheritance subfolder of  the GracePapers folder in the svn repository, but also attach a copy here.  Technically, only section 3 is necessary, but I tried to explain the issues that arise in trying to determine the desired semantics.
> 
> I would appreciate any corrections or suggestions on clarifications.
> 
> 
> On Mon, Aug 10, 2015 at 4:56 PM James Noble <kjx at ecs.vuw.ac.nz> wrote:
> * Tom has changed the website look!
>  - that’s good!  well past time!
>  - other people should post more stuff.
> 
> * Talked about creating objects, delegation, inheritance, etc.
> 
> * Kim’s student’s are done.
>  - Reed has a version of Gracedocs
>  - static type checker works for most things in a single file
> 
> * Andrew gave his midterm (11 students)
>    talked about his JS graphics library
> 
> * We also talked about object construction...
> 
> Michael’s description about what an object constructor does.
>  - an o/c called from other code is given a fresh identity
>  - an o/c called from an inherits call is given the identity created by the calling o/c
> 
> THEN the o/c
> - recursively calls any other o/c that it inherits
> - “builds aka/lay out” the object, adding in fields & methods after the methods that are already there
>     into the identity it was given
> - run inits code top-to-bottom on the identity it was given
> 
> 
> <Semantics.pdf>




More information about the Grace-core mailing list