chakravala / Reduce.jl

Symbolic parser for Julia language term rewriting using REDUCE algebra

Home Page:http://www.reduce-algebra.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Conflict on multiplication

tmamedzadeh opened this issue · comments

julia> using ForceImport
julia> @force using Reduce.Algebra
Reduce (Free CSL version, revision 4534), 05-Apr-18 ...
WARNING: ignoring conflicting import of Algebra.* into Main

julia> a=:x
:x

julia> a*1
ERROR: MethodError: no method matching *(::Symbol, ::Int64)
Closest candidates are:
  *(::Any, ::Any, ::Any, ::Any...) at operators.jl:424
  *(::Bool, ::T<:Number) where T<:Number at bool.jl:101
  *(::Complex{Bool}, ::Real) at complex.jl:255

I did it after restart of the Terminal, still ignores *

Worked after calling workspace() in the beginning. But it's too long

Are you using Windows? Have you checked out the master branch or are you on a release version? I believe this problem only occurs for windows users on Julia v0.6, it is fixed on Julia 0.7. There is no workaround for this, aside from doing something like * = Algebra.:*, unfortunately, due to an issue with how Julia 0.6 assigns the * operator only with WIndows on Julia 0.6 (not on julia 0.7).

Upstream issue: JuliaLang/julia#18769 and JuliaLang/julia#21540

The solution is to start using Julia 0.7, or to swtich to a different OS, because it can't be fixed for windows users on Julia 0.6 unfortunately, it's not a problem with my package, but the language.