[plt-scheme] Lightweight object system
> Errors. And error diagnostics. Say you want to build a large system,
> like DrScheme, 200,000 lines and more. An SICP-style simulation of
> objects will catch errors much much later than an implementation that
> distinguishes objects from every other kind of data in the system.
> The very moment you send 'draw-yourself' to the factorial closure,
> you get an error that says 'factorial is not an object'. In SICP, you
> get a message that says -: number expected; 'draw-yourself' is not a
> number; other arguments given: 1. Now you start looking at your code
> for all 2000 occurrences of 'draw-yourself' to find the one that
> could have been supplied to factorial.
Excellent, thank you - sometimes the 'why' questions are harder to find
the answers to than the 'how' :)
cheers,
dave