You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhancements to facilities apparently do not always need to be realized by a specific realization, but can instead be realized solely by the base concept. For instance facilities such as the following are permitted:
facility SF is StackTemplate(Integer, 4)
enhanced by XCapability
enhanced by YCapability
realized by ArrayImpl
Notice that no particular implementation is given for XCapability and YCapability -- only ArrayImpl, which also realizes the base concept, StackTemplate. Right now, it seems that our code generation model for Java (and C for that matter) do not consider this possibility.
Aside from the questions of code generation, there is also the question of how implementers of ArrayImpl are to know that they also have to implement the operations specified in XCapability and YCapability... Would the header of StackTemplate communicate this via an enhanced by ... clause? If so, would this have additional ramifications for concept module code generation?
In summary, soon I'll be proposing some tweaks to our current model of output code for java first to help account for these changes. I hope our current (reflection-based) dynamic proxy approach to java facility translation will not need to change too much, though we'll see.
I guess the first step to figuring all of this out might be coming up with a working non-toy example that illustrates a facility and specification used in this way (since, afaik, we have nothing in the current workspace that looks like this).
The text was updated successfully, but these errors were encountered:
Enhancements to facilities apparently do not always need to be realized by a specific realization, but can instead be realized solely by the base concept. For instance facilities such as the following are permitted:
Notice that no particular implementation is given for
XCapability
andYCapability
-- onlyArrayImpl
, which also realizes the base concept,StackTemplate
. Right now, it seems that our code generation model for Java (and C for that matter) do not consider this possibility.Aside from the questions of code generation, there is also the question of how implementers of
ArrayImpl
are to know that they also have to implement the operations specified inXCapability
andYCapability
... Would the header ofStackTemplate
communicate this via anenhanced by ...
clause? If so, would this have additional ramifications for concept module code generation?In summary, soon I'll be proposing some tweaks to our current model of output code for java first to help account for these changes. I hope our current (reflection-based) dynamic proxy approach to java facility translation will not need to change too much, though we'll see.
I guess the first step to figuring all of this out might be coming up with a working non-toy example that illustrates a facility and specification used in this way (since, afaik, we have nothing in the current workspace that looks like this).
The text was updated successfully, but these errors were encountered: