Skip to content

Inconsistent naming of specialized functions in Core

For a method meth in class Foo a, when a is specialized to A in Core, the name of the method is sometimes $fFooA_$cmeth, and sometimes something like $fFooA3.

Also, when Foo has a subclass, say Foo a => Bar a, sometimes the name of the method becomes $fBarA_$meth.

So there are multiple different namings of the same method. This can make writing Core plugins more difficult. For example, among other things, it makes it more difficult to detect whether a function is recursive. I've encountered cases where $fFooA_$cmeth is recursive, but its unfolding contains $fFooA3 rather than $fFooA_$cmeth.

Is it possible to make such naming consistent?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information