Generics in Scheme
In a previous note I demonstrated polymorphism in Scheme using Chez Scheme's compile time values and properties.
The code in that example is pretty raw; you might not want to code each generic in that manner. One approach is to decouple the signature/method table. We can do this by factoring out some code into a 'make-generic' procedure:
(define (make-generic table) (lambda (stx) (lambda (lookup)