On Jan 27, 2012, at 3:26 PM, Ben Coman wrote:
> Stéphane Ducasse wrote:
>> I guess that in naked objects book they discussed some patterns for
>> relationships.
>> What I would love to have is first class slots so that we can easily express
>> relationships like the ones you describe.
>> But I have too busy.
>> I'm rereading the paper of toon, camillo et all to see what we could
>> reasonably do.
>>
For those who want to read it:
http://rmod.lille.inria.fr/web/pier/publications/bib?&query=Verw11a&display=abstract
Toon Verwaest, Camillo Bruni, Mircea Lungu, and Oscar Nierstrasz.
Flexible object layouts: enabling lightweight language extensions by
intercepting slot access.
In Proceedings of OOPSLA '11
Abstract
---------
Programming idioms, design patterns and application libraries often introduce
cumbersome and repetitive boilerplate code
to a software system. Language extensions and external DSLs (domain specific
languages) are sometimes introduced to
reduce the need for boilerplate code, but they also complicate the system by
introducing the need for language dialects
and inter-language mediation. To address this, we propose to extend the
structural reflective model of the language with
object layouts, layout scopes and slots. Based on the new reflective language
model we can 1) provide behavioral hooks
to object layouts that are triggered when the fields of an object are accessed
and 2) simplify the implementation of state-related
language extensions such as stateful traits. By doing this we show how many
idiomatic use cases that normally require boilerplate
code can be more effectively supported. We present an implementation in
Smalltalk, and illustrate its usage through a series of
extended examples.
--
Marcus Denker -- http://marcusdenker.de