[General] Encapsulation in LK
Dan.Ingalls at Sun.com
Fri May 1 21:49:34 CEST 2009
hi, it does not look like LK provides any language extension to help
with encapusulation, so all the properties of LK "classes" are public,
Hi Haowei -
Yes. I have been pushing to augment our current "extends" construct
with a message category name, so that the browser can give a bit more
help in the case of major classes. I believe this would be the place
to add a public/private distinction as well.
It's true that without a type system it is harder to guarantee proper
behavior, but in my view 90% of the value is in highlighting the
public protocol so the system is more understandable, and authors are
motivated to make it so.
The fact is that with our cool method-wrapping metasystem (that we use
for profiling of various sorts) it would be easy (truly only a couple
of lines of code!) to implement a test mode in which the system ran
with dynamic checks for violation of private access. This is not a
guarantee of conformance, but it would catch violations in any code
that actually ran. I think we'd be very happy with the result.
Thanks for your interest
More information about the lively-kernel