This is Dale Schumacher's Typepad Profile.
Join Typepad and start following Dale Schumacher's activity
Join Now!
Already a member? Sign In
Dale Schumacher
Recent Activity
Alan Kay has said that Actors are closer to his original conception of Objects. Synchronous messaging was an early implementation choice based on limitations of then-current hardware. Messages were always the key concept. As previously noted, asynchronous messaging is closer to the biological metaphor. Functional and Object/Actor-based programming are actually quite compatible when BOTH have first-class status within a system. I believe that a lot of difficulties have resulted from trying to force everything into one model or the other. For example, when mostly-functional languages introduce "expressions" that cause effects, breaking their purity. We need both stateful and stateless constructs, cleanly separated from each other, but interoperable. This is the approach I've taken with Humus [1]. Expressions are purely functional, yielding immutable values. Actors encapsulate mutable state, acting like Objects, but using asynchronous messaging (tell, not ask). Ironically, even pure-functional expression evaluation can be expressed with asynchronous actor messaging [2]. However, this detail can, and often should, be hidden from the programmer. From a conceptual standpoint, we want to reason about pure functional values (below), as asynchronous messages among stateful Actors/Objects (above). [1] http://www.dalnefre.com/wp/humus/ [2] http://www.dalnefre.com/wp/2010/08/evaluating-expressions-part-1-core-lambda-calculus/
Dale Schumacher is now following The Typepad Team
Mar 22, 2012