Cleanup of core Expr design

Issue #38 resolved
Martin Sandve Alnæs created an issue

For maintainability and possibly efficiency as well, the Expr hierarchy could use some cleanup. In particular the operator types have different ways of storing their operands, and many calls to expr.operands() results in the creation of a new tuple. If all operators store their operands in a ._ops tuple, Operator can have _ops in its __slots__ and implement .operands(), simplifying the subclasses and clarifying the design.

Comments (3)

  1. Martin Sandve Alnæs reporter

    This is a good task for someone who wants to become more familiar with the ufl source code.

  2. Log in to comment