Shawn Ruledge wrote:
It would be cool if the proxy method implementations could be
defined on an as-needed basis.
IMHO a different object system would be better suited to this "lazy
method definition".
I'm thinking of a message-passing model (think of Smalltalk or
Objective-C) where each object is a lambda. Here is the trivial
example:
#;1> (define (make-point x y)
---> (match-lambda*
---> (('x) x)
---> (('y) y)
---> (('x new) (set! x new))
---> (('y new) (set! y new))))
#;2> (define p1 (make-point 2 3))
#;3> (p1 'x)
2
#;4> (p1 'y 4)
#;5> (p1 'y)
4
#;6>
Mind you, this is the simplest implementation possible, without
inheritance, polymorphism or anything useful. But if you find (or
write) a full-fledged object system that works like this (probably
based on table lookup instead of static pattern matching) then you
will have no trouble adding a handler for unknown methods that fetches
the definitions on the fly.
-Tobia
_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users