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
We can generate either prototype style or closure style JS code from Ceylon code, but we only have one version of the language module implementation. That's particularly problematic for classes or interfaces which are derived/implemented by Ceylon code outside the language module because inheriting and overriding methods works differently for the two styles.
We should figure out how to deal with this before implementing larger parts of the language module.
The text was updated successfully, but these errors were encountered:
It would be really painful to write the language module implementation an a way that supports both styles at once. It also would be inefficient because we'd have to use closures to support closure style inheritance, and we know that that makes object creation much slower. And the size of ceylon.language.js would be increased significantly.
But there's probably an easier way: we could modify the code generation a bit so that members of types from ceylon.language are always inherited in a way that is compatible with prototype style, even if the derived class itself is generated in closure style. I think this solution is feasible because references to members of the base class look basically the same for the two styles.
We can generate either prototype style or closure style JS code from Ceylon code, but we only have one version of the language module implementation. That's particularly problematic for classes or interfaces which are derived/implemented by Ceylon code outside the language module because inheriting and overriding methods works differently for the two styles.
We should figure out how to deal with this before implementing larger parts of the language module.
The text was updated successfully, but these errors were encountered: