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

Reply via email to