[plt-scheme] framing problem

From: Tom Schouten (tom at zzz.kotnet.org)
Date: Fri Feb 22 03:53:01 EST 2008

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


Posted on the users mailing list.