This page is part of the web mail archives of SRFI 76 from before July 7th, 2015. The new archives for SRFI 76 are here. Eventually, the entire history will be moved there, including any new messages.
Andre van Tonder <andre@xxxxxxxxxxxxxxxxxxx> writes: > As an example, the hash-table example could be expressed: > > (define-type hash-table > (constructor (k) (lambda (pred hasher size) > (k pred > hasher > (make-vector (nearest-prime size)) > 0))) > (fields (pred immutable) > (hasher immutable) > (data mutable) > (count mutable)))) > > (define-type eq-hash-table > (parent hash-table) > (constructor (k) (lambda (pred hasher size) > (k pred > hasher > size > 0))) > (fields (gc-count mutable))) Thanks for writing this up---this helps imagining what it'd look like. I'm confused about the K argument in the EQ-HASH-TABLE example. Does it call the primitive constructor of the underlying record type, or the construction procedure of the supertype? If the former, there's one argument missing. (And I'd ask how I could reuse the construction procedure of the supertype.) If the latter, what's it's return value, and how do I transform it into an instance of the subtype? -- Cheers =8-} Mike Friede, Völkerverständigung und überhaupt blabla