I agree with the above. This is in line with my comment that we should keep discussing the splitting, as in now not later. I understand that we got into this situation by postponing the required discussion for too long, but the situation where we ask the person proposing a relatively small change to lead a (relatively) contentious redesign of a heavily-relied-upon piece of the project is kafkaesque. Luckily in this case, we seem to have sufficient interested parties to reach a good compromise. But in general, it could be helpful to keep track of some debt metric and periodically reconsider debt-heavy pieces so that we pay it back intentionally rather than expect it as a side effect of a seemingly random change.
The discussion on the split seems active enough now (btw, can we split part of the posts into a new thread?) and we may able to share work somehow?
Vectors, tensors or other containers (via type interfaces) thereof?
Exactly the same amount as the i
and f
suffixes. It does add some verbosity though.
I think any separation can be argued for or against in general. I have a target with only integer operations supported, for example, and it does not make sense at all to have floating-point operations in the mix.
I think I like this separation provided each dialects has guidelines on what should be included. For arithmetic, it is probably reasonable to say we have enough in std
and anything new should be discussed, but for separate dialects we would need to have the op inclusion principles as we usually require for new dialects. For example, should math
include non-floating-point operations (if not, maybe call it mathf
); should it include all of C and C++ āspecial mathā functions?
Naming nit: we cannot use memref
and complex
as dialect namespaces because they are keywords.
Operations that intentionally work across type such as select and constant are probably the best candidates for being in āstdā.
+1. At the same time, we can use the existing ops to test the axis.
Iād argue that different stakeholders might have different reasons Letās maybe collect these. Personally, I feel
std
is more of āwe-couldnāt-find-where-else-to-put-this-opā dialect than āstandardā, and it is missing the overall inclusion principle/objective most other dialect have. Having huge dialects is also a problem for modularity: on one hand, one doesnāt know where to look for stuff they need, on the other hand, they pay the cost of the whole dialect by using one or two things. The two latter items can be addressed separately.