Skip to content

Do not export unicode operators ⊗ and ⊕? #80

@devmotion

Description

@devmotion

The unicode operators and are generally useful in other fields and other packages as well and therefore might be too generic to be owned and in particular be exported by Kronecker.

For instance, in KernelFunctions will be used for creating tensor product kernels (JuliaGaussianProcesses/KernelFunctions.jl#232) and in MeasureTheory it might be used for creating product measures (JuliaMath/MeasureTheory.jl#159). The lightweight package TensorCore contains default implementations for tensor operations such as and can be implemented by packages with tensor operations to avoid name clashes. Originally, the code was merged in JuliaLang/julia#35150 but later removed in JuliaLang/julia#35744 and moved to its own package.

However, since Kronecker defines its own version of , if one uses KernelFunctions and loads the optional dependency Kronecker, warnings are displayed since both packages define the operator (or reexport in case of KernelFunctions). Unfortunately, it seems Kronecker can't implement TensorCore.:⊗ since TensorCore already contains generic definitions for AbstractArray. Maybe compatibility with TensorCore and other Julia packages could be improved by not exporting Kronecker.:⊗?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions