Chip Salzenberg wrote:
I didn't realize the implications when that was posted. I think the
native fallbacks are important.
If we really want these fallbacks, it's rather easy to reestablish the
functionality. Given e.g.
classes/scalar.pmc:add (which Float intherits from)
we have
MMD_DEFAULT: {
yada ..
exactly the code that was in mmd_default: .. _add_pmc
}
This installs the MMD funtion add(Float, Any)
With a little change in parsing inside the PMC compiler we could define,
that:
MMD_DEFAULT, MMD_DEFAULT: {}
also defines the LHS of the operation, which we currently can't denote.
This would immediately give an implementation for
add(Any, Any)
without all the code duplication of the vanished mmd_fallback.c, without
any special cased code in the mmd lookup and without more entries in the
mmd_table that would prevent an efficient compression of it.
leo