On Thu Dec 24 2015 Eric Abrahamsen wrote:
> A while ago there was a very brief exchange about the possibility of a
> version of BBDB refactored on top of the EIEIO object orientation
> library. I've been thinking about that for a while, and recently wrote
> a sort of prototype. I'd like to share it with everyone, either as an
> attachment to the list, or I guess preferably by pushing a branch to
> the git repo.
> There isn't anything particularly wrong with BBDB that needs fixing,
> but an OO version of the database does lots of good things, mostly in
> the direction of extension and customization. It also gets us free
> file serialization courtesy of eieio-persistent, and I've added in
> support for multiple databases.

I don't know much about EIEIO, but I am not sure it would benefit
BBDB so much to add an extra layer of abstraction.  Correct me if I
am wrong, but what kind of problem can really be solved cleaner and

Extensions and customizations of BBDB should use a high-level API,
which does not expose the details of how things are implemented.
Currently, a good example for this is the function
bbdb-record-set-field.  Anyone wanting to extend or customize BBDB
should not call the low-level functions that do the real work inside
bbdb-record-set-field, because the low-level implementation might
change at some point for whatever reason.  How could EIEIO possibly
provide a better solution (better in what sense)?

Apart from that, I also believe that currently there are more
important issues.  First of all, I hope that with the OK from RMS,
we can now integrate the core of BBDB into GNU Emacs (which still
requires some work to make it happen).


BBDB Home Page: http://bbdb.sourceforge.net/

Reply via email to