On Thu 23 Jun 2016 23:11, David Pirotte <da...@altosw.be> writes: >> However... I believe merge-generics is intended to merge duplicate >> imported bindings. It does not provide a copy-on-write version of an >> imported generic, if that generic was not duplicated in the imports. >> There is no facility in GOOPS to do that, AFAIU. > > It is a module bug, not a GOOPS bug, see my 'personal/local' fix: the problem > is > that once the user uses #:export, guile's module system create a new binding, > and it > should not ... [hence this confusion as well: as it is: the module must merge > its > definition with the imported ones, even if it imported only 1 generic ... > because of > a module bug...]
I... I just think you're wrong here, sorry :/ That's just not how the system works. If you #:export an identifier in a module, you create a fresh local binding, and that binding doesn't implicitly extend an imported binding, merge-generics or no. Merge-generics only operates on the import interface of a module. Andy