Polynomials.jl icon indicating copy to clipboard operation
Polynomials.jl copied to clipboard

Polynomials.@variable clashes with JuMP.@variable

Open niclasmattsson opened this issue 2 years ago • 3 comments

The introduction of the convenience macro @variable a few months ago was somewhat inconvenient for me since it clashes with the same macro in JuMP, resulting in WARNING: both Polynomials and JuMP export "@variable"; uses of it in module Main must be qualified. So now either I import Polynomials and prefix every method with Polynomials.whatever(), or I have to import everything I need explicitly. Admittedly this is not a huge inconvenience, but @variable wasn't a game-changing addition for Polynomials either and might in retrospect have been better named differently.

Namespace clashes with the giants of the Julia ecosystem need to be carefully considered, and JuMP is certainly one of those. At this point though renaming it would be a breaking change, so please revisit this issue if you need to change the API surface of Polynomials some time in the future.

niclasmattsson avatar Jun 08 '23 15:06 niclasmattsson

Oops, I checked some other packages for a conflict, but not JuMP. Thanks for reporting.

jverzani avatar Jun 08 '23 15:06 jverzani

Yeah, this was a mistake on my part. I apologize for the extra inconvenience, as this macro was definitely not a game changer.

jverzani avatar Jun 08 '23 16:06 jverzani

No problem - again, this was just a one-line fix for me. I mostly raised the issue because things like this really increase friction for newbies.

niclasmattsson avatar Jun 08 '23 17:06 niclasmattsson