gts-morpher / gts_morpher

Tool for building GTS Morphisms and Amalgamations
MIT License
4 stars 0 forks source link

Unresolved name clash #28

Closed narudocap closed 4 years ago

narudocap commented 4 years ago

After 4 consecutive amalgamations of the counter and pls models to get counters on heads, handles, hammers and observers, there are two Observer classes, one left__Observer and one right_Observer.

pls_unresolved_name_clash_bug.zip image

szschaler commented 4 years ago

I suspect this is to do with how DefaultNamingStrategy handles names. This strategy is the fallback if we cannot create a unique name with any of the other strategies. However, it implicitly assumes that any name it creates will be unique. Clearly, this assumption is not always satisfied, so we need a check here and default uniquification of names (e.g., by adding a unique number). This may require extending the UniquenessContext API a bit.