Matthieu Moy <[EMAIL PROTECTED]> writes:

> Stefan Reichör <[EMAIL PROTECTED]> writes:
>
>> An object oriented approach can be one solution to build a dvc layer.
>> But I also remember some statements from the lisp community, that one
>> can get the same functionality with an functional approach.
>
> As soon as you can create a symbol dynamically and "funcall" it, you
> can do the equivalent of having a virtual base class implemented by
> several contrete classes.
>
> More complex constructs with several levels of inheritance would be
> much harder to do, but we probably don't need them.
>
>> I personally don't think that eieio is necessary to build the dvc library.
>
> Meetoo.
>
> I think it's more trouble than benefit for us and our users.


One thing we should think about in this context is the use of
define-derived-mode. We could define the following base modes
* dvc-log-mode
* dvc-log-edit-mode
* dvc-changes-mode
* dvc-diff-mode
* dvc-status-mode

And the layers above could benefit from a basic infrastructure.

dvc-diff-mode is probably not necessary, because emacs already
provides diff-mode and we can probably use/extend that mode. If that
is not possible, a dvc-diff-mode would be a good idea.


Stefan.

Reply via email to