[Grace-core] belated Minutes of Telecon 27-28.02.2014
James Noble
kjx at ecs.vuw.ac.nz
Wed Mar 26 13:59:31 PDT 2014
more belated collated minutes:
- factory methods:
- can declare classes without dot
- inherits clause - definitively static call when ends with tail-returning object constructor
- for now, no "factory" annotations, but something to think about later on.
- traits
- support inheritance of traits only (not other operators for now)
- required e.g. for dialect composition, perhaps for libraries.
- inherits X with Y,Z,W
- ambiguity - banned. must override in the body of the definition
- NO WAY To resend, choosing a parent - leaving it til later
- (a Andrew-trait is an object which explicit inherits from "trait" - which means no "Standard Methods")
- although the rest of us might just write class foo {...}
- classes/objects without an explicit inherits clauses, get the "standard methods" by default.
X is an expression - inherits objects { } with...
considered whether we should we move inherits outside the brackets
be clear inherits & with clauses are part of the language syntax, *not* requests.
- standard methods
- Michael thinks its it's in the Spec! Look it up!
**asDebugString** is deprecated!
== != asString --- defined in "object { }" ??? is this what we want ???
- abstract methods .... write method foo {abstract}
- (method done -> Done)
- type Dynamic renamed as type Unknown
- brands
- tim will write something up.
- at this point, he's hoping for OOPSLA so Andrew can't be involved for now.
- annotations:
- syntactically: annotations are requests
- you can't use an annotation in the module in which they are defined
at compile time call the method to get a "syntatic annotation objects"
declare annotations by declaring the method (wonders of a single namespace :-)
at run time - when a declaration is instantiated, it's AST annotation objects are
instantiated into runtime annotation objects (which could be the same)
full metaobject protocol?
* when are annotations valid? (not every method can be used as an annotation)
options: - java-style annotate the annotation with annotation(target)
- type of return value
potential annotations:
* public, private
* abstract?
* owenership
* documentation,
* deprecated,
* logging!
* synchronised
* fruity
More information about the Grace-core
mailing list