JuliaSparse / SuiteSparseGraphBLAS.jl

Sparse, General Linear Algebra for Graphs!
MIT License
102 stars 17 forks source link

Simplify operators #61

Closed rayegun closed 2 years ago

rayegun commented 2 years ago

The way operators currently work is labyrinthine and uses eval far too much (or rather in too many different places since it's required to some extent).

  1. juliaop should be a field (perhaps marked as private) rather than an evaluated function.
  2. No easy way to add a IndexUnaryOp/SelectOp
  3. Monoid and semiring construction is undocumented and onerous.
  4. The functions required for Unary, Binary, and IndexUnaryOps are under-specified.

Tracking issue, won't make this next release. They also require more testing.