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.
