[plt-scheme] framing problem
On Thu, Feb 21, 2008 at 11:57:42AM -0800, Mark Engelberg wrote:
> Tom asked for a "layman's" explanation of the "expression" problem.
>
> In a nutshell:
>
> [...]
thanks, Mark. very helpful!
> The PLT folks have used the expression problem as a springboard for
> thinking about big issues like, what does it mean to be a software
> component, and what are appropriate ways for reusing and extending a
> software component.
>
i proceeded to read Findler, Flatt ICFP 98. if i understand correctly, the idea is that mixins
give you an ability to separate definition of classes and class extensions so they can be
composed later, and the unit system gives a mechanism to perform this composition in a way that
enables reuse of mostly opaque, separately compilable components.
this raises another question though: it seems that in the development history of plt scheme there
was a move from first class pluggable units to (language) modules. is there a simple explanation
why? i suspect the answer is "because of macros" but i don't see that really clearly..
> In my view, this problem has been most satisfactorily solved by
> "multiple-dispatch" (aka multimethod) object-oriented languages (like
> Dylan, inspired by CLOS), but for various reasons, this solution hasn't
> really caught on. But the quest to solve this problem is why many OO
> languages are being stretched to incorporate elements of functional
> programming, and vice versa.
>
is it correct to say that mixins are in some way equivalent to generic functions with single
dispatch?
cheers,
tom